RINGMesh  Version 5.0.0
A programming library for geological model meshes
Description of the GeoModel

The key object of RingMesh is the GeoModel that represents a geological model.

Constitutive elements

A model is defined by its constitutive elements (RINGMesh::GeoModelEntity) that can be derived into several classes:

  • The base entities (RINGMesh::GeoModelMeshEntity). They define the geometry of the model
    • Regions 3D
    • Surfaces 2D
    • Lines 1D
    • Corners 0D
  • The geological entities (RINGMesh::GeoModelGeologicalEntity). They are groups of base entities according to their geological meaning.
    • Layers
    • Interfaces
    • Contacts
  • The RINGMesh::Universe that bounds the volume of interest.
geomodel_elements.svg
ringmesh_uml.png

The RINGMesh::GeoModelEntity stores the basic required information to identify an element of the RINGMesh::GeoModel:

  • The RINGMesh::GeoModel owning the element.
  • The index and type of the element.
  • A name.
  • A geological feature (fault, horizon...).
  • ...

The Geometrical Entities: RINGMesh::GeoModelMeshEntity

A RINGMesh::GeoModelMeshEntity is an abstract class of the RINGMesh::GeoModelEntity. It stores a RINGMesh::Mesh to support the Geometry of:

The low level classes implement methods to operate on meshes according to their dimension.

The Geological Entities: RINGMesh::GeoModelGeologicalEntity

A RINGMesh::GeoModelGeologicalEntity is an abstract class of the RINGMesh::GeoModelEntity. It stores the connectivity between RINGMesh::GeoModelMeshEntity to provide a geological meaning to geometrical entities. It uses a kind of parent/child implementation. Built-in RINGMesh::GeoModelGeologicalEntity (sub-classes) in RINGMesh are:

It is possible to define other kinds of RINGMesh::GeoModelGeologicalEntity by deriving RINGMesh::GeoModelGeologicalEntity.

RINGMesh::GeoModelMesh : a global mesh representation of the GeoModel

The GeoModelMesh is one mesh built from copying and merging the RINGMesh::GeoModelMeshEntity. Description of the GeoModelMesh

Building a GeoModel

The class RINGMesh::GeoModelBuilder implements functions to build and modify the elements of a RINGMesh::GeoModel. Any new builder should derive from this class. Three main builders are implemented: