Variational Module module
Variational formulations and finite element problem definitions.
The Variational module provides the infrastructure for defining and solving variational problems in finite element analysis. It supports the formulation of linear and nonlinear problems, boundary conditions, and various finite element spaces.
Mathematical Foundation
The module implements the standard finite element methodology:
- Bilinear Forms:
- Linear Forms:
- Weak Formulation: Find such that for all
- Discrete System: where and
Classes
-
template<class FunctionDerived>class Rodin::Variational::Average<FunctionBase<FunctionDerived>>
- Average operator for computing interface averages.
-
template<class Operator>class Rodin::Variational::BilinearFormBase
- Base class for bilinear form representations.
-
template<class Number, class Derived>class Rodin::Variational::BilinearFormIntegratorBase
- Abstract base class for bilinear form integrators.
- class Rodin::Variational::BoundaryNormal
- Outward unit normal vector on domain boundaries.
-
template<class Operand, class Derived>class Rodin::Variational::DerivativeBase
- Base class for directional derivative operators.
-
template<class Operand, class Derived>class Rodin::Variational::DivBase
- Base class for divergence operator implementations.
- class Rodin::Variational::FaceNormal
- Unit normal vector on mesh faces.
- class Rodin::Variational::FiniteElementSpaceBase
- Base class for finite element spaces.
-
template<class Derived, class VectorField, class Step, class BoundaryPolicy, class TangentPolicy>class Rodin::Variational::Flow<FunctionBase<Derived>, VectorField, Step, BoundaryPolicy, TangentPolicy>
- Flow map operator for functions.
-
template<class Derived>class Rodin::Variational::FunctionBase
- Base class for function objects which can be evaluated over a mesh.
-
template<class StrictType>class Rodin::Variational::GridFunctionBaseReference
- Base class for discrete finite element functions.
- class Rodin::Variational::Integrator
- Abstract base class for integrators in variational formulations.
-
template<class Operand, class Derived>class Rodin::Variational::JacobianBase
- Base class for Jacobian matrix operator implementations.
-
template<class Vector>class Rodin::Variational::LinearFormBase
- Base class for linear form objects.
-
template<class Number>class Rodin::Variational::LinearFormIntegratorBase
- Base class for linear form integrators.
-
template<class LinearSystem>class Rodin::Variational::ProblemBase
- Base class for variational problem objects.
-
template<class Scalar>class Rodin::Variational::ProblemBodyBase
- Base class representing the body of a variational problem.
- class Rodin::Variational::RelativeError
- Utility class for computing relative errors.
-
template<class Derived, class FES = typename FormLanguage::class Rodin::Variational::ShapeFunctionBase
Traits<Derived>:: FESType, ShapeFunctionSpaceType SpaceType = FormLanguage:: Traits<Derived>::SpaceType> - Base class for shape function objects.
-
template<class FES>class Rodin::Variational::TestFunction
- Represents a function which belongs to a test space.
-
template<class Solution, class FES>class Rodin::Variational::TrialFunctionReference
- Reference wrapper for trial functions.
-
template<class Solution, class FES>class Rodin::Variational::TrialFunction
- Represents a function which belongs to a trial space.
Enums
- enum class ShapeFunctionSpaceType { Trial, Test }
- Enumeration for shape function space types.
Enum documentation
enum class ShapeFunctionSpaceType
#include <Rodin/Variational/ForwardDecls.h>
Enumeration for shape function space types.
Indicates whether a shape function belongs to the trial space (unknowns) or test space (weighting functions) in a variational formulation.
| Enumerators | |
|---|---|
| Trial |
Indicates that the shape function belongs to a trial space. |
| Test |
Indicates that the shape function belongs to a test space. |