Integrator class
#include <Rodin/Variational/Integrator.h>
Abstract base class for integrators in variational formulations.
The Integrator class provides a common interface for all types of integrators used in finite element assembly. Integrators compute local (element-level) contributions that are then assembled into global matrices and vectors.
Integrator Types
There are two main types of integrators:
- Linear Integrators: Compute contributions to the load vector (RHS)
- Example:
- Bilinear Integrators: Compute contributions to the system matrix
- Example:
Role in Assembly
During the assembly process:
- Integrators are iterated over mesh elements
- Local contributions are computed using numerical quadrature
- Local contributions are mapped to global indices
- Global matrix/vector is updated with local contributions
Base classes
- class Base
- Base class for all objects in Rodin's FormLanguage system.
Derived classes
-
template<class Number, class Derived>class BilinearFormIntegratorBase
- Abstract base class for bilinear form integrators.
-
template<class Number, class Derived>class BilinearFormIntegratorBase
- Abstract base class for bilinear form integrators.
-
template<class Number, class Derived>class BilinearFormIntegratorBase
- Abstract base class for bilinear form integrators.
-
template<class Number, class Derived>class BilinearFormIntegratorBase
- Abstract base class for bilinear form integrators.
-
template<class Number, class Derived>class BilinearFormIntegratorBase
- Abstract base class for bilinear form integrators.
-
template<class Number, class Derived>class BilinearFormIntegratorBase
- Abstract base class for bilinear form integrators.
-
template<class Number, class Derived>class BilinearFormIntegratorBase
- Abstract base class for bilinear form integrators.
-
template<class Number, class Derived>class BilinearFormIntegratorBase
- Abstract base class for bilinear form integrators.
-
template<class Number, class Derived>class BilinearFormIntegratorBase
- Abstract base class for bilinear form integrators.
-
template<class Number, class Derived>class BilinearFormIntegratorBase
- Abstract base class for bilinear form integrators.
-
template<class Number, class Derived>class BilinearFormIntegratorBase
- Abstract base class for bilinear form integrators.
-
template<class Number, class Derived>class BilinearFormIntegratorBase
- Abstract base class for bilinear form integrators.
-
template<class Number, class Derived>class BilinearFormIntegratorBase
- Abstract base class for bilinear form integrators.
-
template<class Number>class LinearFormIntegratorBase
- Base class for linear form integrators.
-
template<class Number>class LinearFormIntegratorBase
- Base class for linear form integrators.
-
template<class Number>class LinearFormIntegratorBase
- Base class for linear form integrators.
-
template<class Number>class LinearFormIntegratorBase
- Base class for linear form integrators.
-
template<class Number, class Derived>class BilinearFormIntegratorBase
- Abstract base class for bilinear form integrators.
-
template<class Number>class LinearFormIntegratorBase
- Base class for linear form integrators.
-
template<class FES, class Data>class QuadratureRule<GridFunction<FES, Data>>
- Integration of a GridFunction object.
Public types
- enum class Type { Linear, Bilinear }
- Enumeration of integrator types.
-
using Parent = FormLanguage::
Base - Parent class type.
Constructors, destructors, conversion operators
- Integrator() defaulted
- Default constructor.
- Integrator(const Integrator& other)
- Copy constructor.
- Integrator(Integrator&& other)
- Move constructor.
- ~Integrator() defaulted virtual
- Virtual destructor.
Public functions
- auto getType() const -> Type pure virtual
- Gets the type of this integrator.
- auto copy() const -> Integrator* override noexcept
- Creates a copy of this integrator.
Enum documentation
Function documentation
Rodin:: Variational:: Integrator:: Integrator(const Integrator& other)
Copy constructor.
| Parameters | |
|---|---|
| other in | Integrator to copy |
Rodin:: Variational:: Integrator:: Integrator(Integrator&& other)
Move constructor.
| Parameters | |
|---|---|
| other in | Integrator to move |
Integrator* Rodin:: Variational:: Integrator:: copy() const override noexcept
Creates a copy of this integrator.
| Returns | Pointer to newly allocated copy |
|---|