Preprocessor directives module

Preprocessor directives defined by Rodin.

Defines

#define RODIN_WITH_PY
Indicates if Rodin is built with Python support.
#define RODIN_WITH_PLOT
Indicates if Rodin::Plot is built.
#define RODIN_USE_MPI
Indicates if Rodin is built with MPI support.
#define RODIN_USE_OPENMP
Indicates if Rodin is built with OpenMP support.
#define RODIN_USE_UMFPACK
Indicates if Rodin is built with SuiteSparse support.
#define RODIN_SILENCE_WARNINGS
Indicates if Rodin warnings are silenced.
#define RODIN_SILENCE_EXCEPTIONS
Indicates if Rodin exceptions are silenced.
#define RODIN_RESOURCES_DIR
Indicates the Rodin resources directory.
#define RODIN_THIRD_PARTY_DIR
Indicates the Rodin third-party source directory.
#define RODIN_MAXIMAL_SPACE_DIMENSION
Indicates the maximal space dimension.
#define RODIN_DEFAULT_POLYTOPE_ATTRIBUTE
Indicates the default polytope attribute.
#define RODIN_DEFAULT_GRIDFUNCTION_SAVE_PRECISION
Indicates the default gridfunction save precision.
#define RODIN_GEOMETRY_REQUIRE_INCIDENCE(mesh, d, dp)
Requires the precondition that the Mesh object have the specified connectivity computed.
#define RODIN_GEOMETRY_MESH_REQUIRE_INCIDENCE(d, dp)
Requires the precondition that the Mesh object have the specified connectivity computed.
#define RODIN_GEOMETRY_MESH_REQUIRE_SUBMESH()
Requires the precondition that the Mesh object be a SubMesh.
#define RODIN_VARIATIONAL_QF_GENERIC_POLYTOPE_QUADRATURE_DEFAULT_ORDER
Default order for GenericPolytopeQuadrature.
#define RODIN_QF_GRUNDMANNMOLLER_MAX_S
Maximum value permitted for the $ s \geq 0 $ parameter in Grundmann-Moller quadrature.
#define RODIN_QF_GRUNDMANNMOLLER_MAX_ORDER
Maximum degree permitted for Grundmann-Moller quadrature.
#define RODIN_P0_MAX_VECTOR_DIMENSION
Indicates the maximum vector dimension a P0Element.
#define RODIN_P1_MAX_VECTOR_DIMENSION
Indicates the maximum vector dimension a P1Element.

Define documentation

#define RODIN_WITH_PY

Indicates if Rodin is built with Python support.

Utilization

#ifndef RODIN_WITH_PY
// Code depending on Python support
#endif

#define RODIN_WITH_PLOT

Indicates if Rodin::Plot is built.

#ifndef RODIN_WITH_PLOT
// Code depending on Rodin::Plot support
#endif

#define RODIN_USE_MPI

Indicates if Rodin is built with MPI support.

Utilization

#ifndef RODIN_USE_MPI
// Code depending on MPI support
#endif

#define RODIN_USE_OPENMP

Indicates if Rodin is built with OpenMP support.

Utilization

#ifndef RODIN_USE_OPENMP
// Code depending on OpenMP support
#endif

#define RODIN_USE_UMFPACK

Indicates if Rodin is built with SuiteSparse support.

Utilization

#ifndef RODIN_USE_UMFPACK
// Code depending on UMFPACK
#endif

#define RODIN_SILENCE_WARNINGS

Indicates if Rodin warnings are silenced.

#define RODIN_SILENCE_EXCEPTIONS

Indicates if Rodin exceptions are silenced.

If defined, this directive will prevent Rodin from outputting the error messages. It does not prevent the exception from being thrown.

#define RODIN_RESOURCES_DIR

Indicates the Rodin resources directory.

Utilization

std::cout << RODIN_RESOURCES_DIR << std::endl;

#define RODIN_THIRD_PARTY_DIR

Indicates the Rodin third-party source directory.

Utilization

std::cout << RODIN_THIRD_PARTY_DIR << std::endl;

#define RODIN_MAXIMAL_SPACE_DIMENSION

Indicates the maximal space dimension.

#define RODIN_DEFAULT_POLYTOPE_ATTRIBUTE

Indicates the default polytope attribute.

#define RODIN_DEFAULT_GRIDFUNCTION_SAVE_PRECISION

Indicates the default gridfunction save precision.

#define RODIN_GEOMETRY_REQUIRE_INCIDENCE(mesh, d, dp)

Requires the precondition that the Mesh object have the specified connectivity computed.

Throws an exception if the current mesh instance does not have the connectivity

\[ d \longrightarrow d', \quad 0 \leq d, d' \leq D \]

computed, where $ D $ is the topological dimension of the mesh.

#define RODIN_GEOMETRY_MESH_REQUIRE_INCIDENCE(d, dp)

Requires the precondition that the Mesh object have the specified connectivity computed.

Throws an exception if the current mesh instance does not have the connectivity

\[ d \longrightarrow d', \quad 0 \leq d, d' \leq D \]

computed, where $ D $ is the topological dimension of the mesh.

#define RODIN_GEOMETRY_MESH_REQUIRE_SUBMESH()

Requires the precondition that the Mesh object be a SubMesh.

Throws an exception if the current Mesh object is not a SubMesh, i.e. this->isSubMesh() evaluates to false.

#define RODIN_QF_GRUNDMANNMOLLER_MAX_S

Maximum value permitted for the $ s \geq 0 $ parameter in Grundmann-Moller quadrature.

#define RODIN_QF_GRUNDMANNMOLLER_MAX_ORDER

Maximum degree permitted for Grundmann-Moller quadrature.

The degree is given by $ d = 2s + 1 $ where $ s \geq 0 $ .

#define RODIN_P0_MAX_VECTOR_DIMENSION

Indicates the maximum vector dimension a P0Element.

#define RODIN_P1_MAX_VECTOR_DIMENSION

Indicates the maximum vector dimension a P1Element.