namespace
VariationalModule which provides the necessary tools for constructing variational problems.
The Rodin::
which then can be translated into linear algebra problems of the type:
where represents the stiffness operator.
Namespaces
- namespace F
- Contains built-in functions.
Classes
-
template<class Operand>class Abs
- Represents the absolute value of a value.
-
template<class LHS, class RHS>class AND
- Represents the logical AND expression.
-
template<class LHSDerived, class RHSDerived>class AND<BooleanFunctionBase<LHSDerived>, BooleanFunctionBase<RHSDerived>>
- Logical AND operator between two instances of BooleanFunctionBase.
-
template<class TrialFES, class TestFES, class Operator>class BilinearForm
- Speciallization of BilinearForm for a matrix type.
-
template<class Operator>class BilinearFormBase
- Abstract base class for objects of type BilinearForm.
-
template<class Number, class Derived>class BilinearFormIntegratorBase
- Abstract base class for bilinear form integrators.
-
template<class T>class BooleanFunction
-
template<class Derived>class BooleanFunctionBase
- Base class for objects representing boolean functions.
-
template<class Integrand>class BoundaryIntegral
- Represents expressions of the integral operator on the boundary of a domain.
-
template<class LHSDerived, class TrialFES, class RHSDerived, class TestFES>class BoundaryIntegral<Dot<ShapeFunctionBase<LHSDerived, TrialFES, TrialSpace>, ShapeFunctionBase<RHSDerived, TestFES, TestSpace>>>
- Integration of the dot product of a trial and test operators.
-
template<class NestedDerived, class FES>class BoundaryIntegral<ShapeFunctionBase<NestedDerived, FES, TestSpace>>
- Integration of a test operator.
- class BoundaryNormal
- Outward unit normal.
-
template<class ... Values>class ComplexFunction
-
template<>class ComplexFunction<Complex>
- Represents a constant scalar function with type Complex.
-
template<class F>class ComplexFunction<F>
- Represents a scalar function given by an arbitrary scalar function.
-
template<class Derived>class ComplexFunctionBase
- Base class for scalar-valued functions defined on a mesh.
-
template<class OperandDerived>class Component<FunctionBase<OperandDerived>, size_t>
- Represents the component (or entry) of a vectorial FunctionBase instance.
-
template<class FES>class Component<GridFunction<FES>>
- Represents the component (or entry) of a vectorial GridFunction.
-
template<class OperandDerived, class FES, ShapeFunctionSpaceType Space>class Component<ShapeFunctionBase<OperandDerived, FES, Space>>
- Represents the component (or entry) of a vectorial ShapeFunction.
-
template<class LHS, class RHS>class Composition
-
template<class Operand>class Cos
- Represents the cosine function.
-
template<class TrialFES, class TestFES>class DenseProblem<TrialFES, TestFES, Math::Matrix<typename FormLanguage::Mult<typename FormLanguage::Traits<TrialFES>::ScalarType, typename FormLanguage::Traits<TestFES>::ScalarType>::Type>, Math::Vector<typename FormLanguage::Traits<TestFES>::ScalarType>>
- General class to assemble linear systems with
Math::
andMatrix Math::
types in a serial context.Vector -
template<class Operand, class Value>class DirichletBC
-
template<class FES, class ValueDerived>class DirichletBC<TrialFunction<FES>, FunctionBase<ValueDerived>>
- Represents a Dirichlet boundary condition on a ShapeFunction object.
-
template<class Scalar>class DirichletBCBase
- Abstract base class for a Dirichlet boundary condition.
-
template<class Operand>class Div
- Represents the divergence of a vector valued function.
-
template<class Scalar, class Mesh>class Div<GridFunction<P1<Math::Vector<Scalar>, Mesh>>>
- Divient of a P1 GridFunction.
-
template<class Operand, class Derived>class DivBase
- Base class for Div classes.
-
template<class FES, class Derived>class DivBase<GridFunction<FES>, Derived>
- Divergence of a P1 GridFunction.
-
template<class LHS, class RHS>class Division
- Represents the division operation.
-
template<class LHSDerived, class RHSDerived>class Division<FunctionBase<LHSDerived>, FunctionBase<RHSDerived>>
- Division of a FunctionBase by a FunctionBase.
-
template<class LHS, class RHS>class Dot
- Represents the dot product between two objects.
-
template<class LHSDerived, class RHSDerived, class FES, ShapeFunctionSpaceType Space>class Dot<FunctionBase<LHSDerived>, ShapeFunctionBase<RHSDerived, FES, Space>>
- Dot product between a FunctionBase and a ShapeFunctionBase.
-
template<class LHSDerived, class RHSDerived, class FES, ShapeFunctionSpaceType Space>class Dot<ShapeFunctionBase<LHSDerived, FES, Space>, FunctionBase<RHSDerived>>
- Dot product between a FunctionBase and a ShapeFunctionBase.
-
template<class LHSDerived, class TrialFES, class RHSDerived, class TestFES>class Dot<ShapeFunctionBase<LHSDerived, TrialFES, TrialSpace>, ShapeFunctionBase<RHSDerived, TestFES, TestSpace>>
- Represents the dot product of trial and test operators.
-
template<class LHS, class RHS>class EQ
-
template<class LHSDerived, class RHSDerived>class EQ<FunctionBase<LHSDerived>, FunctionBase<RHSDerived>>
- Logical EQ operator between two instances of FunctionBase.
-
template<class Integrand>class FaceIntegral
- Represents expressions of the integral operator on the faces of a mesh.
-
template<class LHSDerived, class TrialFES, class RHSDerived, class TestFES>class FaceIntegral<Dot<ShapeFunctionBase<LHSDerived, TrialFES, TrialSpace>, ShapeFunctionBase<RHSDerived, TestFES, TestSpace>>>
- Integration of the dot product of a trial and test operators.
-
template<class NestedDerived, class FES>class FaceIntegral<ShapeFunctionBase<NestedDerived, FES, TestSpace>>
- Integration of a test operator.
- class FaceNormal
- Outward unit normal on a face.
-
template<class Derived>class FiniteElementBase
- Base class for finite elements.
-
template<class Derived>class FiniteElementSpace
- Represernts a finite element space.
- class FiniteElementSpaceBase
- Base class for finite element spaces.
-
template<class Derived>class FiniteElementSpaceInverseMappingBase
- Base class for inverse mappings taking functions defined on to reference elements.
-
template<class Derived>class FiniteElementSpaceMappingBase
- Base class for mappings taking functions defined on mesh elements to reference elements.
-
template<class Operand>class Frobenius
- Represents the Frobenius norm.
-
template<class Derived>class FunctionBase
- Base class for function objects which can be evaluated over a mesh.
-
template<class LHS, class RHS>class GEQ
-
template<class Operand>class Grad
- Represents the gradient of a scalar function .
-
template<class Range, class Mesh>class Grad<GridFunction<P0<Range, Mesh>>>
- Gradient of a P0 GridFunction.
-
template<class Range, class Mesh>class Grad<GridFunction<P1<Range, Mesh>>>
- Gradient of a P1 GridFunction.
-
template<class NestedDerived, class Range, class Mesh, Variational::class Grad<ShapeFunction<NestedDerived, P0<Range, Mesh>, SpaceType>>
ShapeFunctionSpaceType SpaceType> - Gradient of a P0 ShapeFunction.
-
template<class NestedDerived, class Number, class Mesh, ShapeFunctionSpaceType SpaceType>class Grad<ShapeFunction<NestedDerived, P1<Number, Mesh>, SpaceType>>
- Gradient of a P1 ShapeFunction.
-
template<class Operand, class Derived>class GradBase
- Base class for Grad classes.
-
template<class FES, class Derived>class GradBase<GridFunction<FES>, Derived>
- Gradient of a P1 GridFunction.
-
template<class FES>class GridFunction
- Represents a grid function belonging to some finite element space.
-
template<class Number, class Mesh>class GridFunction<P0<Number, Mesh>>
- P0 GridFunction.
-
template<class Range, class Mesh>class GridFunction<P1<Range, Mesh>>
- P1 GridFunction.
-
template<class FES, class Derived>class GridFunctionBase
- Base class for grid function objects.
-
template<class LHS, class RHS>class GT
- class IdentityMatrix
- Represents the identity matrix function.
-
template<class T>class IntegerFunction
-
template<class Derived>class IntegerFunctionBase
- Base class for objects representing integer functions.
-
template<class Integrand>class Integral
- Represents mathematical expressions of the integral operator on a domain.
-
template<class LHSDerived, class TrialFES, class RHSDerived, class TestFES>class Integral<Dot<ShapeFunctionBase<LHSDerived, TrialFES, TrialSpace>, ShapeFunctionBase<RHSDerived, TestFES, TestSpace>>>
- Integration of the dot product of a trial and test operators.
-
template<class FES>class Integral<GridFunction<FES>>
- Integration of a GridFunction object.
-
template<class NestedDerived, class FES>class Integral<ShapeFunctionBase<NestedDerived, FES, TestSpace>>
- Integration of a test operator.
-
template<class Integrand>class InterfaceIntegral
- Represents expressions of the integral operator on the interface of a domain.
-
template<class LHSDerived, class TrialFES, class RHSDerived, class TestFES>class InterfaceIntegral<Dot<ShapeFunctionBase<LHSDerived, TrialFES, TrialSpace>, ShapeFunctionBase<RHSDerived, TestFES, TestSpace>>>
- Integration of the dot product of a trial and test operators.
-
template<class NestedDerived, class FES>class InterfaceIntegral<ShapeFunctionBase<NestedDerived, FES, TestSpace>>
- Integration of a test operator.
-
template<class Operand>class Jacobian
- Represents the Jacobian matrix of a type.
-
template<class Number, class Mesh>class Jacobian<GridFunction<P1<Math::Vector<Number>, Mesh>>>
- Jacobian of an P1 GridFunction object.
-
template<class ShapeFunctionDerived, class Number, class Mesh, ShapeFunctionSpaceType Space>class Jacobian<ShapeFunction<ShapeFunctionDerived, P1<Math::Vector<Number>, Mesh>, Space>>
- Jacobian of an P1 ShapeFunction object.
-
template<class Operand, class Derived>class JacobianBase
- Base class for Jacobian classes.
-
template<class FES, class Derived>class JacobianBase<GridFunction<FES>, Derived>
- Jacobian of a P1 GridFunction.
-
template<class Range, class Context>class L2
- Arbitrary order broken Sobolev space.
-
template<class StrictType>class LazyEvaluator
- Represents the lazy evaluation of a mesh function.
-
template<class LHS, class RHS>class LEQ
-
template<class FES, class Vector>class LinearForm
- Represents a linear form on some finite element space.
-
template<class Vector>class LinearFormBase
- Base class for linear form objects.
-
template<class Number>class LinearFormIntegratorBase
- Base class for linear form integrators.
-
template<class LHS, class RHS>class LT
-
template<class T>class MatrixFunction
-
template<class Scalar, class Derived>class MatrixFunctionBase
- Base class for matrix-valued functions defined on a mesh.
-
template<class LHSDerived, class RHSDerived>class Min<FunctionBase<LHSDerived>, FunctionBase<RHSDerived>>
- Represents the minimum between two arguments.
-
template<class LHS, class RHS>class Mult
- Represents the multiplication operation.
-
template<class LHSDerived, class RHSDerived>class Mult<FunctionBase<LHSDerived>, FunctionBase<RHSDerived>>
- Multiplication of two FunctionBase instances.
-
template<class LHSDerived, class RHSDerived, class FES, ShapeFunctionSpaceType Space>class Mult<FunctionBase<LHSDerived>, ShapeFunctionBase<RHSDerived, FES, Space>>
- Left Multiplication of a ShapeFunctionBase by a FunctionBase.
-
template<class LHSDerived, class RHSDerived, class FES, ShapeFunctionSpaceType Space>class Mult<ShapeFunctionBase<LHSDerived, FES, Space>, FunctionBase<RHSDerived>>
- Right multiplication of a ShapeFunctionBase by a FunctionBase.
-
template<class LHS, class RHS>class NEQ
-
template<class LHS, class RHS>class OR
-
template<class LHSDerived, class RHSDerived>class OR<BooleanFunctionBase<LHSDerived>, BooleanFunctionBase<RHSDerived>>
- Logical OR operator between two instances of BooleanFunctionBase.
-
template<class Range, class Mesh>class P0
- Degree 0 Lagrange finite element space.
-
template<class Number>class P0<Number, Geometry::Mesh<Context::Local>>
- Real valued Lagrange finite element space.
-
template<class Range>class P0Element
- Degree 0 Lagrange element.
-
template<>class P0Element<Real>
- Degree 0 scalar Lagrange element.
-
template<class Range, class Mesh>class P1
- Degree 1 Lagrange finite element space.
-
template<>class P1<Complex, Geometry::Mesh<Context::Local>>
- Real valued Lagrange finite element space.
-
template<>class P1<Math::Vector<Real>, Geometry::Mesh<Context::Local>>
- Vector valued Lagrange finite element space.
-
template<>class P1<Real, Geometry::Mesh<Context::Local>>
- Real valued Lagrange finite element space.
-
template<class Range>class P1Element
- Degree 1 Lagrange element.
-
template<>class P1Element<Math::Vector<Real>>
- Degree 1 vector Lagrange element.
-
template<>class P1Element<Real>
- Degree 1 scalar Lagrange element.
-
template<class FES>class PeriodicBC<TrialFunction<FES>, IndexMap<IndexSet>>
- Represents a Peridodic boundary condition on a ShapeFunction object.
-
template<class Scalar>class PeriodicBCBase
- Abstract base class for a periodic boundary condition.
-
template<class LHS, class RHSDerived, class FES, ShapeFunctionSpaceType SpaceType>class Potential<LHS, ShapeFunctionBase<ShapeFunction<RHSDerived, FES, SpaceType>, FES, SpaceType>>
-
template<class Base, class Exponent>class Pow
- Represents the power function.
-
template<class BaseDerived, class Number>class Pow<FunctionBase<BaseDerived>, Number>
- Represents the power function.
-
template<class ... Parameters>class Problem
- Represents a variational problem.
-
template<class TrialFES, class TestFES>class Problem<TrialFES, TestFES, Math::SparseMatrix<typename FormLanguage::Mult<typename FormLanguage::Traits<TrialFES>::ScalarType, typename FormLanguage::Traits<TrialFES>::ScalarType> ::Type>, Math::Vector<typename FormLanguage::Traits<TestFES>::ScalarType>>
- General class to assemble linear systems with
Math::
andSparseMatrix Math::
types in a sequential context.Vector -
template<class Operator, class Vector, class Scalar>class ProblemBase
- Base class for variational problem objects.
-
template<class Scalar>class ProblemBodyBase
- Represents the body of a variational problem.
-
template<class Integrand>class QuadratureRule
-
template<class LHSDerived, class RHSDerived, class LHSRange, class RHSRange, class LHSMesh, class RHSMesh>class QuadratureRule<Dot<ShapeFunctionBase<Grad<ShapeFunction<LHSDerived, P1<LHSRange, LHSMesh>, TrialSpace>>, P1<LHSRange, LHSMesh>, TrialSpace>, ShapeFunctionBase<Grad<ShapeFunction<RHSDerived, P1<RHSRange, RHSMesh>, TestSpace>>, P1<RHSRange, RHSMesh>, TestSpace>>>
- Integration of the isotropic Dot product of two instances of the P1 Grad of ShapeFunction.
-
template<class LHSDerived, class RHSDerived, class LHSRange, class RHSRange, class LHSMesh, class RHSMesh>class QuadratureRule<Dot<ShapeFunctionBase<Jacobian<ShapeFunction<LHSDerived, P1<LHSRange, LHSMesh>, TrialSpace>>, P1<LHSRange, LHSMesh>, TrialSpace>, ShapeFunctionBase<Jacobian<ShapeFunction<RHSDerived, P1<RHSRange, RHSMesh>, TestSpace>>, P1<RHSRange, RHSMesh>, TestSpace>>>
- Integration of the isotropic Frobenius inner product two instances of the P1 Jacobian of ShapeFunction.
-
template<class LHSDerived, class TrialFES, class RHSDerived, class TestFES>class QuadratureRule<Dot<ShapeFunctionBase<LHSDerived, TrialFES, TrialSpace>, ShapeFunctionBase<RHSDerived, TestFES, TestSpace>>>
- Approximation of the integral of the the dot product between a trial shape function and a test shape function.
-
template<class CoefficientDerived, class LHSDerived, class RHSDerived, class LHSRange, class RHSRange, class LHSMesh, class RHSMesh>class QuadratureRule<Dot<ShapeFunctionBase<Mult<FunctionBase<CoefficientDerived>, ShapeFunctionBase<Grad<ShapeFunction<LHSDerived, P1<LHSRange, LHSMesh>, TrialSpace>>, P1<LHSRange, LHSMesh>, TrialSpace>>, P1<LHSRange, LHSMesh>, TrialSpace>, ShapeFunctionBase<Grad<ShapeFunction<RHSDerived, P1<RHSRange, RHSMesh>, TestSpace>>, P1<RHSRange, RHSMesh>, TestSpace>>>
- Integration of the anisotropic Dot product of two instances of the P1 Grad of ShapeFunction.
-
template<class CoefficientDerived, class LHSDerived, class RHSDerived, class LHSRange, class RHSRange, class LHSMesh, class RHSMesh>class QuadratureRule<Dot<ShapeFunctionBase<Mult<FunctionBase<CoefficientDerived>, ShapeFunctionBase<Jacobian<ShapeFunction<LHSDerived, P1<LHSRange, LHSMesh>, TrialSpace>>, P1<LHSRange, LHSMesh>, TrialSpace>>, P1<LHSRange, LHSMesh>, TrialSpace>, ShapeFunctionBase<Jacobian<ShapeFunction<RHSDerived, P1<RHSRange, RHSMesh>, TestSpace>>, P1<RHSRange, RHSMesh>, TestSpace>>>
- Integration of the anisotropic Frobenius inner product two instances of the P1 Jacobian of ShapeFunction.
-
template<class CoefficientDerived, class LHSDerived, class RHSDerived, class LHSRange, class RHSRange, class LHSMesh, class RHSMesh>class QuadratureRule<Dot<ShapeFunctionBase<Mult<FunctionBase<CoefficientDerived>, ShapeFunctionBase<ShapeFunction<LHSDerived, P1<LHSRange, LHSMesh>, TrialSpace>, P1<LHSRange, LHSMesh>, TrialSpace>>, P1<LHSRange, LHSMesh>, TrialSpace>, ShapeFunctionBase<ShapeFunction<RHSDerived, P1<RHSRange, RHSMesh>, TestSpace>, P1<RHSRange, RHSMesh>, TestSpace>>>
- Integration of the anisotropic Dot product of two instances of the P1 ShapeFunction.
-
template<class FunctionDerived>class QuadratureRule<FunctionBase<FunctionDerived>>
- Quadrature rule on polytope for any function defined on the mesh.
-
template<class FES>class QuadratureRule<GridFunction<FES>>
- Integration of a GridFunction object.
-
template<class LHSDerived, class RHSDerived, class Range, class Mesh>class QuadratureRule<ShapeFunctionBase<Dot<FunctionBase<LHSDerived>, ShapeFunctionBase<ShapeFunction<RHSDerived, P1<Range, Mesh>, TestSpace>, P1<Range, Mesh>, TestSpace>>, P1<Range, Mesh>, TestSpace>>
- Integration of the Dot product of some coefficient function and a P1 ShapeFunction.
-
template<class NestedDerived, class FES>class QuadratureRule<ShapeFunctionBase<NestedDerived, FES, TestSpace>>
- Approximation of the integral of a test shape function.
-
template<class NestedDerived, class Range, class Mesh>class QuadratureRule<ShapeFunctionBase<ShapeFunction<NestedDerived, P1<Range, Mesh>, TestSpace>, P1<Range, Mesh>, TestSpace>>
- Integration of a P1 ShapeFunction.
-
template<class ... Values>class RealFunction
-
template<class F>class RealFunction<F>
- Represents a scalar function given by an arbitrary scalar function.
-
template<>class RealFunction<Real>
- Represents a constant scalar function with type Real.
-
template<class Derived>class RealFunctionBase
- Base class for real-valued functions defined on a mesh.
-
template<>class ScalarFunction<Complex>
- Represents a constant scalar function with type Complex.
-
template<class F>class ScalarFunction<F>
- Represents a scalar function given by an arbitrary scalar function.
-
template<>class ScalarFunction<Real>
- Represents a constant scalar function with type Real.
-
template<class Derived, class FES, ShapeFunctionSpaceType Space>class ShapeFunction
- ShapeFunction.
-
template<class Derived, class FES = typename FormLanguage::class ShapeFunctionBase
Traits<Derived>::FESType, ShapeFunctionSpaceType SpaceType = FormLanguage:: Traits<Derived>::SpaceType> - Base class for shape function objects.
-
template<class LHS, class RHS>class Sum
- Represents the sum operation.
-
template<class Operand>class Tan
- Represents the tangent function.
-
template<class FESType>class TestFunction
- Represents a function which belongs to a test space.
-
template<class Operand>class Trace
- Represents the trace of a matrix function.
-
template<class NestedDerived>class Trace<FunctionBase<NestedDerived>>
- Trace of a FunctionBase instance.
-
template<>class TraceOperator<FunctionBase>
- Trace operator.
-
template<class Operand>class Transpose
- Represents the transpose matrix of some matrix .
-
template<class NestedDerived>class Transpose<FunctionBase<NestedDerived>>
- Transpose of a FunctionBase object.
-
template<class NestedDerived, class FES, ShapeFunctionSpaceType Space>class Transpose<ShapeFunctionBase<NestedDerived, FES, Space>>
- Transpose of a ShapeFunctionBase object.
-
template<class FESType>class TrialFunction
- Represents a function which belongs to a trial space.
-
template<class Operand>class UnaryMinus
- Represent the negation of an operand.
-
template<class ... Values>class VectorFunction
-
template<class V, class ... Values>class VectorFunction<V, Values...>
- Represents a vector function which may be constructed from values which can be converted to objects of type RealFunction.
-
template<class Scalar, class Derived>class VectorFunctionBase
- Base class for vector-valued functions defined on a mesh.
Enums
- enum class ShapeFunctionSpaceType { Trial, Test }
- Enumeration class to indicate whether a derived instance of ShapeFunctionBase belongs to either a trial or test space.
Typedefs
-
template<class Scalar>using EssentialBoundary = FormLanguage::
List<DirichletBCBase<Scalar>> - Alias for a list of Dirichlet boundary conditions.
- using RealP0Element = P0Element<Real>
- Alias for P0Element<Real>
- using ComplexP0Element = P0Element<Complex>
- Alias for P0Element<Complex>
-
using VectorP0Element = P0Element<Math::
Vector<Real>> - Alias for P0Element<Math::Vector<Real>>
- using RealP1Element = P1Element<Real>
- Alias for P1Element<Real>
-
using VectorP1Element = P1Element<Math::
Vector<Real>> - Alias for P1Element<Math::
Vector<Real>> -
template<class Mesh>using RealP1 = P1<Real, Mesh>
- Alias for a scalar valued P1 finite element space.
-
template<class Mesh>using VectorP1 = P1<Math::
Vector<Real>, Mesh> - Alias for a vector valued P1 finite element space.
-
template<class Scalar>using PeriodicBoundary = FormLanguage::
List<PeriodicBCBase<Scalar>> - Alias for a list of peridodic boundary conditions.
Variables
- static auto TrialSpace constexpr
- Shorthand variable for ShapeFunctionSpaceType::
Trial. - static auto TestSpace constexpr
- Shorthand variable for ShapeFunctionSpaceType::
Test. -
template<class LHSDerived, class RHSDerived>GEQ< FunctionBase< LHSDerived >, FunctionBase< RHSDerived > >
- CTAD for GEQ.
-
template<class LHSDerived, class RHSDerived>GT< FunctionBase< LHSDerived >, FunctionBase< RHSDerived > >
- CTAD for GT.
-
template<class LHSDerived, class RHSDerived>LT< FunctionBase< LHSDerived >, FunctionBase< RHSDerived > >
- CTAD for LT.
Enum documentation
enum class Rodin:: Variational:: ShapeFunctionSpaceType
Enumeration class to indicate whether a derived instance of ShapeFunctionBase belongs to either a trial or test space.
Enumerators | |
---|---|
Trial |
Indicates that the shape function belongs to a trial space. |
Test |
Indicates that the shape function belongs to a test space. |