Node-based dynamic adaptive grid with quadrilateral and hexahedral elements
A node-based data structure is developed for use in either two-dimensional (2-D) or three-dimensional (3-D) finite element method (FEM) problems. This grid uses quadrilateral (2-D) or hexahedral (3-D) elements and is dynamically adaptive according to the 1-irregular requirement for refinementderefinement. Implemented in C++, the grid consists of node objects linked with pointers to neighboring node objects. The algorithm used to traverse the grid starts at the first node of the grid and constructs each FEM element by following the links of the nodes. This algorithm uses a stack to maintain the correct order of elements during the grid traversals. Because the elements and their connectivity are not permanently stored, the computer storage requirements for the grid are reduced significantly in 3-D compared with an element-based approach. Although the node-based approach may increase the CPU-time and complexity to access an element, it reduces the complexity and time required to refine and derefine an element. This implementation is applicable to many FEM domains.
c++ dynamic adaptive mesh adaptive finite elements nodal based-data structures object-oriented programming fortran