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 Benchmarks.
namespace Advection
Namespace Advection.
namespace Alert
Namespace Alert.
namespace Assembly
Namespace Assembly.
namespace Context
Namespace Context.
namespace Distance
Namespace Distance.
namespace Eikonal
Namespace Eikonal.
namespace Elasticity
Namespace Elasticity.
namespace FormLanguage
Namespace FormLanguage.
namespace Geometry
Namespace Geometry.
namespace Heart
Namespace Heart.
namespace Hilbert
Namespace Hilbert.
namespace IO
Namespace IO.
namespace Location
Namespace Location.
namespace Math
Namespace Math.
namespace MMG
Namespace Traits.
namespace MPI
Distributed-memory parallel extensions using MPI.
namespace PETSc
PETSc integration module for Rodin.
namespace Plot
Namespace Plot.
namespace QF
Namespace 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 Solver.
namespace Test
Module containing various utilities and classes for writing tests.
namespace Tests
Tests of the Rodin library
namespace Threads
Namespace Threads.
namespace Traits
Namespace Utility.
namespace Utility
Namespace Test.
namespace Variational
Namespace 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.

Functions

template<class L, class R>
Pair(L lhs, R rhs) -> 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 lhs, R rhs) -> Pair< L, R >

Deduction guide for the Pair class.

Template parameters
L Type of the first element.
R Type of the second element.
Parameters
lhs Left element.
rhs Right 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.