HOMARD® : Adaptive Meshing Software by Refinement and Unrefinement |
![]() |
The HOMARD® software carries out the adaptation of 2D/3D meshes by refinement and unrefinement techniques. The main characteristics of HOMARD® are :
In a standard calculation with finite elements, meshing is immutable.
However, very often the initial meshing is not the most suitable for the
calculation conditions for at least two reasons :
. the mesh generator did not manage to make a fine description of
a geometry ; for instance, given the limitation on meshing size
. conditions change during calculation ; for instance, the areas requiring fine meshing may move during a transient calculation.
Using an adaptive meshing technique during calculation with finite elements consists in modifying the meshing along the process so that it best
matches the expected results.
At the beginning of the iterative process, the meshing is that provided by a mesh generator,
as in any calculation with finite elements. Then iteration
number k of adaptive meshing is as follows :
A few comments about the catenation :
. Error indicator I(t,uk,...) is a local quantity,i.e. it is defined by element.
It is calculated based on the numerical analysis of the equations
of the problem to be solved. It depends on the value of the numerical solution uk in element t, or
even on its neighbors.
. An overall error estimator, i.e. it provides an estimate of the error
integrated over the whole domain. This value is roughly the overall accuracy :
the solution obtained numerically
is x% right. To calculate this estimate, the quadratic standard of local error indicators is often used.
. The method for determining the areas to be refined or unrefined is linked
to the technique used to modify the meshing. If the future meshing
is built by a adaptive mesh generator, area classification is carried out by providing a desirable
element size on each point of the domain. The mesh generator should try to
comply with this constraint. If the future meshing is built by element splitting -- as
with HOMARD® -- the decision to split an element is made by
comparing the indicator on the element with a threshold.
Broadly speaking, an iteration for meshing adaptation is as shown on the figure below. The finite element software calculates the numerical solution on meshing Mk, then, from that, deduces the values for the error indicator over the whole meshing. Based on the knowledge of meshing #k and indicator #k, HOMARD® generates a new meshing #k+1.
The complete chain starts from the initial meshing, then incorporates successive links (calculation of indicator / adaptation). For time-stationary problems, this means a succession of independent calculations over different meshings. For transient problems, the calculation is suspended at a given time ; after meshing adaptation, calculation is resumed at the same time.
[ Top | Splitting | Linking | Algorithm | Softwares | Home page ]
All in all, the process of meshing adaptation by splitting elements is a two-tier process.
First, all elements specified by the error indicator are
split. The resulting meshing is uncorrect : nodes are pending at the junction
between areas to be refined, and an area to be retained. The
second stage aims at solving all of these compliance problems.
There are different splitting methods for the two phases. During the first phase,
all of the elements are split in the same manner ; this is
standard splitting. During the second phase, some of the meshing compliance conflicts
in the junction area are settled by the same standard splitting of elements,
while others are settled by special splitting.
The various splitting modes have been choosen to preserve the mesh quality, all
along the adaptive process.
Standard element splitting is carried out with a view to restricting the number of cases. Thus, edges are split into two equal sections.
To split a triangle, the three edges are split into two sections each, thus producing four similar triangles. They retain the same quality. |
![]() |
To split a quadrangle, the four edges are split into two sections each, thus producing four non-similar quadrangles with different quality. |
![]() |
Tetrahedrons are split in eight. First, each of the triangular faces is split into 4 similar triangular faces. |
![]() |
Face splitting produces four tetrahedrons at the angles of the initial tetrahedron. It should be noted that the four new tetrahedrons are homothetic to the initial tetrahedron. Therefore, they retain the same qualities. |
![]() |
At the core of the tetrahedron, there remains a block shaped like two pyramids joined at their bases. An edge is generated using one of the three possible diagonals, then the four faces containing the edge, and two external edges. |
![]() |
This, in turn, creates 4 new tetrahedrons. It should be noted that they are similar two by two but that they can never be similar to the initial tetrahedron. They can therefore never have the same quality as the initial tetrahedron. However, different results are obtained, depending on the diagonal selected for splitting the internal pyramidal block. Where quality is concerned, it is always best to select the smallest of the three possible diagonals. |
![]() |
Splitting for compliance is applicable to triangles or quadrangles with a split edge, and to tetrahedrons with 1, 2 or 3 split edges. Such splitting produces elements of lower quality compared to the initial elements, and in the general algorithm, one sees how this drawback is reckoned with to reduce its consequences.
For triangles, one of the three edges is split in two. Its middle is joined to the opposite vertex to form two additional triangles. |
![]() |
For quadrangles, one of the four edges is split in two. Its middle is joined to the opposite vertex to form three triangles. The mesh obtained is then mixed. |
![]() |
For a tetrahedron with three split edges, this is possible only if the edges are concurrent. Therefore, one of the four faces is split in four. The middles of the split edges are joined to the opposite vertexes. The three other faces are thus split in two, and four tetrahedrons are created. |
![]() |
For a tetrahedron with two split edges, this is possible only if the edges are opposite. All the middles of these edges are joined to the other apexes, as well as the edge middles. The four faces are split in two, and four tetrahedrons are created. |
![]() |
For a tetrahedron with one split edge, the middle of the split edge is joined to the opposite apex, and two tetrahedrons are created. |
![]() |
[ Top | Splitting | Linking | Algorithm | Softwares | Home page ]
The strategy adopted for HOMARD®'s algorithms consists in forcing splitting in four for all
triangles with two points of non compliance.
Eventually, only the triangles with non compliance points are triangle where one and only
edge is split. The simplest possible solution is thus used for
compliance : splitting the triangles in two, the tetrahedrons in two or four.
The latter stage of compliance introduces elements of lesser quality
compared to that of the elements it originated from. This drawback remains under control
as we have chosen to grant a temporary status to the
compliance elements : they exist to produce a meshing acceptable by the
calculation softwares, but they disappear if they are required to be further
split. As a consequence, quality loss does not propagate along iterations of meshing
adaptation, and remains restricted in value as well as in number of
elements concerned. The selected splitting method is such that after standard splitting,
a tetrahedron has 0, 1 or 4 split faces but never 2 or
3 ; i.e. a triangle has 0, 1 or 3 edges but never 2. This applies both for triangles
that are elements, and for triangles which are a face of a
tetrahedron. The compliance rules on triangles can therefore be transferred to tetrahedrons,
to propose the following algorithm :
Besides the new meshing, all of the related information needs to be updated, namely the data for boundary conditions. The solution adopted consists in converting the data on nodes and elements into membership to families of identical behavior in the calculation. As splitting occurs, family membership is transmitted by legacy. When creating a new meshing, the HOMARD® software package translates family membership into an encoding specific to the calculation software. This operates quite well provided that the calculation software manages a description with sufficient information on the boundaries of domains.
[ Top | Splitting | Linking | Algorithm | Softwares | Home page ]
HOMARD® was originally designed for the calculation softwares of Electricité de France :
To get a license, click here.
[ Top | Splitting | Linking | Algorithm | Softwares ]
[
Home page
|
Presentation
|
Images
|
User Guide
|
Documentation
|
Contact
]