Validate your GeoModel with RINGMesh!
"Validity" is a complex and non-unique notion that often depends on application requirements of the tools you used to solve a particular problem. Considering that, RINGMesh provides a set of checks to ensure:
- the topological and geometrical "validity" of each
GeoModelentities (both geometrical and geological); - the "validity" of the
GeoModelitself.
Note: by default, all checks are verified at GeoModel loading. You can always disable some or all the checks with the command line option validity:do_not_check.
GeoModel topology validation
Finite extension
This first check ensures the finite extension of your GeoModel. In other words,
we verify if we can define the interior and the exterior of your GeoModel. This check is defined both in 2D and 3D.
All the entities defining the external boundary of the GeoModel (i.e. Lines in 2D and Surfaces in 3D) should define:
- a closed boundary;
- a unique connected component.
Geometrical entiy mapping consistency
We check if the relationships between the geometrical entities are consistent by verifying:
- the bijectivity of
Boundary/Incident Entityrelationships. If aLineL is a border of aSurfaceS, we ensure that (1) L is in the border Entity list of S and (2) S is in the incident Entity list of L. - each Entity is in the boundary of at least one another Entity (except for
Regionsin 3D andSurfacesin 2D).
Geological entiy mapping consistency
We check if the relationships between the geological entities are consistent by verifying:
- each geological Entity must have at least one
Childgeometrical Entity; - the bijectivity between
Parent/Childrelationships.
GeoModel geometry validation
Classic geometric checks
We ensure some minimal requirements on the geometry:
- no degenerated mesh element;
- a geometrical
Entityis composed by a unique connected component; - no isolated vertices;
- no non-manifold edges;
- no intersection between any
Surfacepolygons in theGeoModel.
Conformity between geometrical entity meshes (TODO: Figure)
The conformity is checked following these properties:
- between
Linesand theirCornersboundary: the vertex of corner is a vertex on the border of incidentLines; - between
Surfacesand theirLinesboundary: all the vertices and all the edges of aLineare also vertices and edges on the border of incidentSurfaces; - between
Regionsand theirSurfacesboundary: all the vertices and all the edges and all the polygons of aSurfaceare also vertices, edges and cell facets on the border of incidentRegions.
RINGMesh conventions
We check a consistent mapping between GeoModelMesh vertex indexation and vertex indexations in geometrical Entities.