Mesh.h file
Core mesh data structure for finite element computations.
This file defines the main Mesh class and related utilities for representing and manipulating unstructured finite element meshes. The Mesh class provides:
- Topology management through connectivity relations
- Geometry storage and access
- Mesh generation and I/O operations
- Iterators for traversing mesh entities
- Support for submeshes and domain decomposition
- Attribute-based region marking
Namespaces
- namespace Rodin
- The Rodin library for finite element methods and shape optimization.
- namespace Rodin::FormLanguage
- Typed expressions for constructing variational forms.
- namespace Rodin::Geometry
- Meshes, geometric transformations, and mapped evaluation.
Classes
-
template<class Context>struct Rodin::FormLanguage::Traits<Geometry::Mesh<Context>>
- Traits specialization for Mesh types.
- class Rodin::Geometry::CCL
- Mesh data structures, geometric operations, and computational geometry utilities.
- class Rodin::Geometry::MeshBase
- Abstract base class for all mesh implementations.
-
template<>class Rodin::Geometry::Mesh<Context::Local>
- Represents the subdivision of some domain into faces of (possibly) different geometries.
-
template<>class Rodin::Geometry::Mesh<Context::Local>::Builder
- Class used to build Mesh<Context::Local> instances.
Defines
- #define RODIN_GEOMETRY_REQUIRE_INCIDENCE(mesh, d, dp)
- Requires connectivity to be computed.
- #define RODIN_GEOMETRY_MESH_REQUIRE_INCIDENCE(d, dp)
- Requires connectivity (for use in member functions).
- #define RODIN_GEOMETRY_MESH_REQUIRE_SUBMESH()
- Requires mesh to be a SubMesh.
Define documentation
#define RODIN_GEOMETRY_REQUIRE_INCIDENCE(mesh, d, dp)
Requires connectivity to be computed.
| Parameters | |
|---|---|
| mesh | Mesh instance to check |
| d | Source dimension |
| dp | Target dimension |
Throws an exception if the specified connectivity relation has not been computed for the mesh. Connectivity must be explicitly computed using mesh.getConnectivity().compute(d, dp) before operations that depend on it.
#define RODIN_GEOMETRY_MESH_REQUIRE_INCIDENCE(d, dp)
Requires connectivity (for use in member functions).
| Parameters | |
|---|---|
| d | Source dimension |
| dp | Target dimension |
Throws an exception if the specified connectivity relation has not been computed. This macro is for use inside mesh member functions.
#define RODIN_GEOMETRY_MESH_REQUIRE_SUBMESH()
Requires mesh to be a SubMesh.
Throws an exception if the mesh is not a SubMesh instance, preventing invalid downcasting operations.