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_USE_SPQR
- Indicates if Rodin is built with SuiteSparse support.
- #define RODIN_USE_CHOLMOD
- 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_THREAD_SAFE
- Indicates if Rodin is built with thread safety enabled.
- #define RODIN_MULTITHREADED
- Indicates if Rodin supports multithreading.
- #define RODIN_USE_APPLE_ACCELERATE
- Indicates if Rodin is built with Apple Accelerate support.
- #define RODIN_USE_SCOTCH
- Indicates if Rodin is built with Scotch support.
- #define RODIN_MAXIMAL_SPACE_DIMENSION
- Indicates the maximal space dimension.
- #define RODIN_DEFAULT_POLYTOPE_ATTRIBUTE
- Indicates the default polytope attribute.
- #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 RODIN_VARIATIONAL_QF_GENERIC_POLYTOPE_QUADRATURE_DEFAULT_ORDER
- Default order for GenericPolytopeQuadrature.
- #define RODIN_QF_GRUNDMANNMOLLER_MAX_S
- Maximum value permitted for the parameter in Grundmann-Moller quadrature.
- #define RODIN_QF_GRUNDMANNMOLLER_MAX_ORDER
- Maximum degree permitted for Grundmann-Moller quadrature.
- #define RODIN_VARIATIONAL_H1ELEMENT_MAX_VECTOR_DIMENSION
- Indicates the maximum vector dimension a H1Element can support.
- #define RODIN_VARIATIONAL_H1ELEMENT_TOLERANCE
- Tolerance for numerical computations in H1Element.
Define documentation
#define RODIN_WITH_PY
#include <Rodin/Configure.h.in>
Indicates if Rodin is built with Python support.
Utilization
#ifndef RODIN_WITH_PY // Code depending on Python support #endif
#define RODIN_WITH_PLOT
#include <Rodin/Configure.h.in>
Indicates if Rodin::
#ifndef RODIN_WITH_PLOT // Code depending on Rodin::Plot support #endif
#define RODIN_USE_MPI
#include <Rodin/Configure.h.in>
Indicates if Rodin is built with MPI support.
Utilization
#ifndef RODIN_USE_MPI // Code depending on MPI support #endif
#define RODIN_USE_OPENMP
#include <Rodin/Configure.h.in>
Indicates if Rodin is built with OpenMP support.
Utilization
#ifndef RODIN_USE_OPENMP // Code depending on OpenMP support #endif
#define RODIN_USE_UMFPACK
#include <Rodin/Configure.h.in>
Indicates if Rodin is built with SuiteSparse support.
Utilization
#ifndef RODIN_USE_UMFPACK // Code depending on UMFPACK #endif
#define RODIN_USE_SPQR
#include <Rodin/Configure.h.in>
Indicates if Rodin is built with SuiteSparse support.
Utilization
#ifndef RODIN_USE_SPQR // Code depending on SPQR #endif
#define RODIN_USE_CHOLMOD
#include <Rodin/Configure.h.in>
Indicates if Rodin is built with SuiteSparse support.
Utilization
#ifndef RODIN_USE_CHOLMOD // Code depending on CHOLMOD #endif
#define RODIN_SILENCE_WARNINGS
#include <Rodin/Configure.h.in>
Indicates if Rodin warnings are silenced.
#define RODIN_SILENCE_EXCEPTIONS
#include <Rodin/Configure.h.in>
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
#include <Rodin/Configure.h.in>
Indicates the Rodin resources directory.
Utilization
std::cout << RODIN_RESOURCES_DIR << std::endl;
#define RODIN_THIRD_PARTY_DIR
#include <Rodin/Configure.h.in>
Indicates the Rodin third-party source directory.
Utilization
std::cout << RODIN_THIRD_PARTY_DIR << std::endl;
#define RODIN_THREAD_SAFE
#include <Rodin/Configure.h.in>
Indicates if Rodin is built with thread safety enabled.
Utilization
#ifdef RODIN_THREAD_SAFE // Code that requires thread safety features. #endif
#define RODIN_MULTITHREADED
#include <Rodin/Configure.h.in>
Indicates if Rodin supports multithreading.
Utilization
#ifdef RODIN_MULTITHREADED // Code that leverages multithreading capabilities. #endif
#define RODIN_USE_APPLE_ACCELERATE
#include <Rodin/Configure.h.in>
Indicates if Rodin is built with Apple Accelerate support.
Utilization
#ifdef RODIN_USE_APPLE_ACCELERATE // Code that uses the Apple Accelerate framework for optimized computations. #endif
#define RODIN_USE_SCOTCH
#include <Rodin/Configure.h.in>
Indicates if Rodin is built with Scotch support.
Utilization
#ifdef RODIN_USE_SCOTCH // Code that uses the Scotch library for partioning. #endif
#define RODIN_MAXIMAL_SPACE_DIMENSION
#include <Rodin/Configure.h.in>
Indicates the maximal space dimension.
#define RODIN_DEFAULT_POLYTOPE_ATTRIBUTE
#include <Rodin/Configure.h.in>
Indicates the default polytope attribute.
#define RODIN_GEOMETRY_REQUIRE_INCIDENCE(mesh,
d,
dp)
#include <Rodin/Geometry/Mesh.h>
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)
#include <Rodin/Geometry/Mesh.h>
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()
#include <Rodin/Geometry/Mesh.h>
Requires mesh to be a SubMesh.
Throws an exception if the mesh is not a SubMesh instance, preventing invalid downcasting operations.
#define RODIN_VARIATIONAL_QF_GENERIC_POLYTOPE_QUADRATURE_DEFAULT_ORDER
Default order for GenericPolytopeQuadrature.
This macro defines the default polynomial degree of exactness when constructing a GenericPolytopeQuadrature without specifying an order.
#define RODIN_QF_GRUNDMANNMOLLER_MAX_S
#include <Rodin/QF/GrundmannMoller.h>
Maximum value permitted for the parameter in Grundmann-Moller quadrature.
#define RODIN_QF_GRUNDMANNMOLLER_MAX_ORDER
#include <Rodin/QF/GrundmannMoller.h>
Maximum degree permitted for Grundmann-Moller quadrature.
The degree is given by where .
#define RODIN_VARIATIONAL_H1ELEMENT_MAX_VECTOR_DIMENSION
#include <Rodin/Variational/H1/H1Element.h>
Indicates the maximum vector dimension a H1Element can support.
#define RODIN_VARIATIONAL_H1ELEMENT_TOLERANCE
#include <Rodin/Variational/H1/H1Element.h>
Tolerance for numerical computations in H1Element.
This tolerance is used in the collapsed coordinate transformations (Duffy transformation) to avoid division by zero near element boundaries. Used when computing basis function gradients on triangles and tetrahedra.