Computational & Technology Resources
an online resource for computational,
engineering & technology publications |
|
Civil-Comp Proceedings
ISSN 1759-3433 CCP: 76
PROCEEDINGS OF THE THIRD INTERNATIONAL CONFERENCE ON ENGINEERING COMPUTATIONAL TECHNOLOGY Edited by: B.H.V. Topping and Z. Bittnar
Paper 10
An Object Oriented Method for Tetrahedral Mesh Refinement J.M. Gonzalez-Yuste, R. Montenegro, J.M. Escobar, G. Montero and E. Rodriguez
University Institute of Intelligent Systems and Numerical Applications in Engineering, University of Las Palmas de Gran Canaria, Spain J.M. Gonzalez-Yuste, R. Montenegro, J.M. Escobar, G. Montero, E. Rodriguez, "An Object Oriented Method for Tetrahedral Mesh Refinement", in B.H.V. Topping, Z. Bittnar, (Editors), "Proceedings of the Third International Conference on Engineering Computational Technology", Civil-Comp Press, Stirlingshire, UK, Paper 10, 2002. doi:10.4203/ccp.76.10
Keywords: 3-D triangulations, unstructured grids, nested meshes, adaptive refinement, object oriented methods, data structures, finite element method.
Summary
Data structures, used in finite element meshes, are usually based on the definition of
many arrays in which the mesh information is kept: nodes, edges, faces, tetrahedra,
connectivity, genealogy, etc. Generally, in FORTRAN codes the memory management consisted
in over-dimension the variables for preventing the mesh changes; in case of using adaptive
mesh refinement, the memory needs must be estimated previously. Besides, in case of using
mesh derefinement, arrays must be compacted for recovering the memory space corresponding
to deleted elements. With the appearance of languages as C, part of these problems could
be solved, since dynamic memory management allows us to get and put the amount of space
that we need every moment. In addition, C structures gives us a simple way to access to
the information of any item. Moreover, the use of pointers improves the accesses through
the mesh information. It is well known that C structures do not get, by themselves, a saving
of storing information, but it can be performed an easier programming and readability of the
code, because the information of each element can be grouped independently of the kind of used
data. With C++ the qualitative advance is considerable, since the concept of structure is extended
to class. A class contains, besides the proper information of an element, all operations
which can be carried out on this one. On the other hand, object oriented programming
introduces the concept of inheritance. Any class can be defined as inherited from another,
such that a new class will have all the characteristics of its ancestor and other new ones.
These properties allow us to generate hierarchical classes, that is, to create complex
modules from simpler ones. Other interesting concept is encapsulation. In every class we
can indicate which parts could be accessible from outside it, and which ones only could be
visible inside the class. By this way, errors in modification of data can be prevented. All
these tools are essential for improving the programming of adaptive finite element meshes.
So, an hierarchy of elements have been designed to model the different parts of a mesh: nodes,
edges, faces and tetrahedra. The definition is based on a very simple class, so called
element, with a few properties, but commons to all of them. From this class, other
classes will be inherited; for instance, the characteristics of the subdivision of an element
maintain links between fathers and sons in the mesh. Obviously, except nodes, the rest of the
elements are divisible. Another class will be responsible for maintaining links between different
elements, such that the hierarchical structure of the mesh will be guaranteed every moment:
nodes with edges, edges with faces and faces with tetrahedra. Due to this organization, the
neighbouring relationship can be easily determined and, thus, also the implementation of
refinement and derefinement algorithms. Finally, in this paper a local refinement algorithm
for tetrahedral meshes, based on the 8-subtetrahedra subdivision, is presented with the
proposed design. Several applications are shown in different domains; see Figure 10.1,
for example.
References
purchase the full-text of this paper (price £20)
go to the previous paper |
|