template<class Operator>
Rodin::Variational::BilinearFormBase class

Abstract base class for objects of type BilinearForm.

Represents a bilinear form:

\[ a : V_h \times U_h \rightarrow \mathbb{R} \]

on given finite element spaces $ V_h $ and $ U_h $ .

Base classes

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

Derived classes

template<class TrialFES, class TestFES, class Operator>
class BilinearForm final
Speciallization of BilinearForm for a matrix type.
template<class TrialFES, class TestFES, class Operator>
class BilinearForm final
Speciallization of BilinearForm for a matrix type.

Public functions

void assemble() pure virtual
Assembles the bilinear form.
auto getOperator() -> OperatorType& pure virtual
Gets the reference to the associated operator of the bilinear form.
auto getOperator() const -> const OperatorType& pure virtual
Gets a constant reference to the associated operator of the bilinear form.
auto getTrialFunction() const -> const FormLanguage::Base& pure virtual
Gets the reference to the associated TrialFunction object.
auto getTestFunction() const -> const FormLanguage::Base& pure virtual
Gets the reference to the associated TestFunction object.
auto copy() const -> BilinearFormBase* override noexcept
Copies the object and returns a non-owning pointer to the copied object.

Function documentation

template<class Operator>
void Rodin::Variational::BilinearFormBase<Operator>::assemble() pure virtual

Assembles the bilinear form.

This method will assemble the underlying sparse matrix associated the bilinear form.

template<class Operator>
const FormLanguage::Base& Rodin::Variational::BilinearFormBase<Operator>::getTrialFunction() const pure virtual

Gets the reference to the associated TrialFunction object.

Returns Reference to this (for method chaining)

template<class Operator>
const FormLanguage::Base& Rodin::Variational::BilinearFormBase<Operator>::getTestFunction() const pure virtual

Gets the reference to the associated TestFunction object.

Returns Reference to this (for method chaining)

template<class Operator>
BilinearFormBase* Rodin::Variational::BilinearFormBase<Operator>::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.