Feflo.a

Feflo.a is a generic-purpose adaptive mesh generator dealing with 2D, 3D and surface mesh generation. It belongs to the class of metric-based mesh generators which aims at generating a unit mesh with respect to a prescribed metric field. A mesh is said to be unit when it is composed of almost unit-length edges and unit-volume element.

The adaptive remesher uses a combination of generalized standard operators (insertion, collapse, swap of edges and faces). The generalized operators are based on the recast of the standard operators in a cavity framework. Additional modifications on the cavity operator allow to either favor a modification that would have been rejected with the standard operator, or to improve the final quality by combining many standard operators automatically at once. In addition, the CPU time is also improved and becomes independent on the current modification. For robustness purposes, both the surface and the volume mesh are adapted simultaneously, and each local modification is checked to verify that a valid mesh is obtained. For the volume, the validity consists in checking that each newly created element has a strictly positive volume. For the surface, the validity is checked by ensuring that the deviation of the geometric approximation with respect to a reference surface mesh remains within a given tolerance. During surface remeshing, the geometry is defined using either a P3 background surface or direct CAD queries by means of EGADS and OpenCascade.