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: $ a(u,v) : V \times V \to \mathbb{R} $
  • Linear Forms: $ l(v) : V \to \mathbb{R} $
  • Weak Formulation: Find $ u \in V $ such that $ a(u,v) = l(v) $ for all $ v \in V $
  • Discrete System: $ Au = b $ where $ A_{ij} = a(\phi_j, \psi_i) $ and $ b_i = l(\psi_i) $

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::Traits<Derived>::FESType, ShapeFunctionSpaceType SpaceType = FormLanguage::Traits<Derived>::SpaceType>
class Rodin::Variational::ShapeFunctionBase
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

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.