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

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<>

Deduction guide for the empty tuple.

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.

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

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

Default sentinel value.