Rodin namespace
The Rodin library for finite element methods and shape optimization.
Rodin is a lightweight and modular C++20 finite element framework providing tools for solving partial differential equations and performing shape and topology optimization. Key modules include:
- Geometry — Meshes, polytopes, and connectivity
- Variational — Finite element spaces, trial/test functions, and variational problem formulation
- IO — Input/output in MFEM, MEDIT, HDF5, and XDMF formats
- Solver — Linear and iterative solvers (CG, GMRES, SparseLU)
- Assembly — Assembly of stiffness matrices and load vectors
Namespaces
- namespace Adaptation
- Namespace Rodin::
Tests:: Benchmarks. - namespace Advection
- Namespace Rodin::
Advection. - namespace Alert
- Namespace Rodin::
Alert. - namespace Assembly
- Namespace Rodin::
Assembly. - namespace Context
- Namespace Rodin::
Context. - namespace Distance
- Namespace Rodin::
Distance. - namespace Eikonal
- Namespace Rodin::
Eikonal. - namespace Elasticity
- Namespace Rodin::
Elasticity. - namespace FormLanguage
- Namespace Rodin::
FormLanguage. - namespace Geometry
- Namespace Rodin::
Geometry. - namespace Heart
- Namespace Rodin::
Heart. - namespace Hilbert
- Namespace Rodin::
Hilbert. - namespace IO
- Namespace Rodin::
IO. - namespace Location
- Namespace Rodin::
Location. - namespace Math
- Namespace Rodin::
Math. - namespace MMG
- Namespace Rodin::
Traits. - namespace MPI
- Distributed-memory parallel extensions using MPI.
- namespace PETSc
- PETSc integration module for Rodin.
- namespace Plot
- Namespace Rodin::
Plot. - namespace QF
- Namespace Rodin::
QF. - namespace Scotch
- PT-Scotch mesh partitioning integration.
- namespace Serialization
- Namespace support for serialization of Rodin types.
- namespace Solid
- Hyperelastic solid mechanics module for large-deformation problems.
- namespace Solver
- Namespace Rodin::
Solver. - namespace Test
- Module containing various utilities and classes for writing tests.
- namespace Tests
- Tests of the Rodin library
- namespace Threads
- Namespace Rodin::
Threads. - namespace Traits
- Namespace Rodin::
Utility. - namespace Utility
- Namespace Rodin::
Test. - namespace Variational
- Namespace Rodin::
Variational.
Classes
-
template<class From, class To>class Cast
- Template class for type casting operations.
- class Copyable
- Abstract base class for objects that can be copied.
- struct DefaultSentinelT
- Sentinel type for default-constructed iterators.
- class Identifiable
- Abstract base class for objects that can be copied.
- struct IndexArrayCompare
- Functor for lexicographically ordering index arrays.
- struct IndexArrayEquality
- Functor for comparing two index arrays for equality.
- struct IndexSetEquality
- Functor for comparing two IndexSet objects for equality.
- struct IndexSetHash
- Functor for computing a hash value for an IndexSet.
- class Moveable
- Abstract base class for objects that can be moved.
-
template<class L, class R>class Pair
- Forward declaration of the Pair template class.
-
template<class ... Ts>class Tuple
- Forward declaration of the Tuple template class.
-
template<class T, class ... Ts>class Tuple<T, Ts...>
- A tuple class that extends std::tuple with additional functionality.
-
template<>class Tuple<>
- Specialization of Tuple for an empty parameter pack.
Functions
-
template<class L, class R>Pair(L, R) -> Pair< L, R >
- Deduction guide for the Pair class.
- Tuple() -> Tuple<>
- Deduction guide for the empty tuple.
-
template<class... Params>Tuple(Params... params) -> Tuple< Params... >
- Deduction guide for a tuple from its constructor arguments.
-
template<Index First, Index Last>static auto IndexTuple() -> auto constexpr
- Generates a tuple of indices.
- auto operator""_UZ(unsigned long long x) -> std::size_t constexpr
- User-defined literal for size_t values.
Variables
- DefaultSentinelT DefaultSentinel constexpr
- Default sentinel value.
Function documentation
#include <Rodin/Pair.h>
template<class L, class R>
Rodin:: Pair(L,
R) -> Pair< L, R >
Deduction guide for the Pair class.
| Template parameters | |
|---|---|
| L | Type of the first element. |
| R | Type of the second element. |
This guide allows the compiler to deduce the template arguments for L and R when constructing a Pair object.
Rodin:: Tuple() -> Tuple<>
#include <Rodin/Tuple.h>
Deduction guide for the empty tuple.
#include <Rodin/Tuple.h>
template<class... Params>
Rodin:: Tuple(Params... params) -> Tuple< Params... >
Deduction guide for a tuple from its constructor arguments.
| Template parameters | |
|---|---|
| Params | Element types. |
| Parameters | |
| params | Tuple element values. |
#include <Rodin/Tuple.h>
template<Index First, Index Last>
static auto Rodin:: IndexTuple() constexpr
Generates a tuple of indices.
| Template parameters | |
|---|---|
| First | The starting index. |
| Last | One past the last index. |
| Returns | A tuple containing indices from First to Last-1. |
std::size_t Rodin:: operator""_UZ(unsigned long long x) constexpr
#include <Rodin/Types.h>
User-defined literal for size_t values.
| Parameters | |
|---|---|
| x | Unsigned long long value to convert |
| Returns | size_t value |
Variable documentation
DefaultSentinelT Rodin:: DefaultSentinel constexpr
#include <Rodin/Geometry/IndexGenerator.h>
Default sentinel value.