Mesh generation#

Mesh generation is based on geometrical objects (Geometry class). XLiFE++ handles some canonical objects (segment, polygon, ellipse, polyhedron, ellipsoid, cone, trunk, … ) that can be combined to make more complex geometries (merged geometries, geometry with some holes, …). If OpenCascade extension is activated, even more complex geometries, involving surface intersection or union, may be handled too.

Once a geometry is defined, several mesh generators can be used regarding the geometry:

  • the structured mesh generator, mainly for cartesian geometries (segment, parallelogram, parallelepiped),

  • the unstructured mesh generator based on a subdivision algorithm, restricted to basic geometries (parallelogram, disk , parallelepiped, sphere and parts of),

  • the generator using GMSH as external tool : XLiFE++ generating a .geo file, executing GMSH in silent mode and loading the .msh file generated,

  • the generator using GMSH-OC (GMSH with the OpenCascade engine) as external tool : XLiFE++ generating a .bprep file, executing GMSH-OC in silent mode and loading the .msh file generated.

  • the fromParametrization mesh generator, meshing the geometric support of the geometry parametrization and transporting it using the parametrization.

All these generators produce a Mesh object that collects geometric elements (MeshElement, GeomElement) and handles set or subset of geometric elements named GeomDomain (‘aliased’ Domain) that are ones of the fundamental objects involved in the problem descriptions.

Both Geometry and Mesh objects can be transformed using linear applications (translation, rotation, homothety, symmetry). They also can be used to make extrusions (2D/3D) or to manage cracks.