template<class Scalar>
Rodin::Variational::DirichletBCBase class

Abstract base class for a Dirichlet boundary condition.

Used as a base class to represent the Dirichlet boundary condition:

\[ \mathrm{Operand} = \mathrm{Value} \ \text{ on } \ \Gamma_D \]

on some subset of the boundary $ \Gamma_D \subset \mathcal{B}_h $ .

Base classes

class Base
Base class for all classes which are part of Rodin's FormLanguage.

Public functions

void assemble() pure virtual
Assembles the Dirichlet boundary condition.
auto getDOFs() const -> const DOFs& pure virtual
Gets the global degree of freedom map.
auto getOperand() const -> const FormLanguage::Base& pure virtual
Gets the associated operand.
auto getValue() const -> const FormLanguage::Base& pure virtual
Gets the associated value.
auto copy() const -> DirichletBCBase* override noexcept
Copies the object and returns a non-owning pointer to the copied object.

Function documentation

template<class Scalar>
void Rodin::Variational::DirichletBCBase<Scalar>::assemble() pure virtual

Assembles the Dirichlet boundary condition.

This method computes the global degree of freedom map associated to the Dirichlet boundary. In other words, it computes the IndexMap which has a keys the global indices of the DOFs, and as values $ \ell_i $ the

\[ \ell_i(\mathrm{Value}), \quad i = 1, \ldots, n \]

where $ \ell_i $ is the i-th linear form on the associated finite element space.

template<class Scalar>
DirichletBCBase* Rodin::Variational::DirichletBCBase<Scalar>::copy() const override noexcept

Copies the object and returns a non-owning pointer to the copied object.

Returns Non-owning pointer to the copied object.