Rodin namespace

The Rodin library for Shape and Topology Optimization.

Namespaces

namespace Assembly
Module for performing the assembly of linear algebra objects from variational expressions.
namespace Context
Module for serial, multi-threaded, distributed, and/or parallel computation.
namespace External
Third-party library integrations with Rodin.
namespace FormLanguage
Module for writing high level abstract expressions.
namespace Geometry
Module for dealing with geometries.
namespace IO
Module for dealing with I/O functionality.
namespace Math
Module for general mathematical operations.
namespace Models
Module which provides implementation of various variational models.
namespace Plot
Module for visualization tools.
namespace QF
Module for defining quadrature formulae.
namespace Solver
Module for linear algebra systems.
namespace Test
Module containing various utilities and classes for writing tests.
namespace Tests
Tests of the Rodin library
namespace Threads
Module containing various tools for working with threads.
namespace Traits
Module containing metaprogramming facilities.
namespace Utility
Module containing general purpose and language support utility classes.
namespace Variational
Module which provides the necessary tools for constructing variational problems.

Classes

struct IndexArrayEquality
Functor for comparing two index arrays for equality.
struct IndexArrayHash
Functor for computing a hash value for an index array.
struct IndexArraySymmetricEquality
Functor for comparing two index arrays for symmetric equality.
struct IndexArraySymmetricHash
Functor for computing a symmetric hash value for an index array.
struct IndexSetEquality
Functor for comparing two IndexSet objects for equality.
struct IndexSetHash
Functor for computing a hash value for an IndexSet.
template<class L, class R>
class Pair
A Pair class representing a tuple with two elements.
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.

Typedefs

template<class ScalarType>
using Array = Eigen::ArrayX<ScalarType>
Alias for a dynamically sized array.
using IndexArray = Array<Index>
Alias for an index array.
using Integer = int
Standard type for representing integer values.
using Boolean = bool
Standard type for representing boolean values.
using Float = float
Standard type for representing (32 bit) floating-point values.
using Double = double
Standard type for representing double precision (64 bit) floating-point values.
using Index = std::size_t
Standard type for representing indices.
using Real = Double
Standard type for representing scalar values.
using Complex = std::complex<Real>
Standard type for representing complex values.
template<class T>
using List = boost::container::list<T>
Standard type for representing lists.
template<class T>
using Deque = boost::container::deque<T>
Standard type for representing deques.
template<class T, class Container = Deque<T>>
using Stack = std::stack<T, Container>
Standard type for representing stacks.
template<class T>
using FlatSet = boost::container::flat_set<T>
Standard flat set type.
template<class T>
using UnorderedSet = boost::unordered_set<T>
Standard unordered set type.
template<class K, class T>
using Map = boost::container::map<K, T>
Standard ordered map type.
template<class ... Params>
using UnorderedMap = boost::unordered_map<Params...>
Standard unordered map type.
template<class K, class T>
using FlatMap = boost::container::flat_map<K, T>
Standard flat map type.
using IndexSet = FlatSet<Index>
Standard set of indices.
template<class T>
using IndexMap = FlatMap<Index, T>
Standard map of indices.

Functions

template<class L, class R>
Pair(L, R) -> Pair< L, R >
Deduction guide for the Pair class.
template<Index First, Index Last>
static auto IndexTuple() -> auto constexpr
Generates a tuple of indices.

Typedef documentation

template<class ScalarType>
using Rodin::Array = Eigen::ArrayX<ScalarType>

Alias for a dynamically sized array.

Template parameters
ScalarType The scalar type of the array.

This template alias defines a standard array type based on Eigen::ArrayX.

using Rodin::IndexArray = Array<Index>

Alias for an index array.

This alias defines an index array using the standard array type with a predefined index type.

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.

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.