Rodin/Variational/Mult.h file

Multiplication operations for functions, shape functions, and integrators.

Provides operator* overloads for computing products between functions, shape functions, numbers, and integrators. Supports:

  • Scalar × function/shape function
  • Function × function (scalar, vector, or matrix products)
  • Function × shape function (left or right multiplication)
  • Number × integrator (scaling)

For functions $ f $ and $ g $ :

\[ (f \cdot g)(x) = f(x) \cdot g(x) \]

Namespaces

namespace Rodin
The Rodin library for finite element methods and shape optimization.
namespace Rodin::FormLanguage
Typed expressions for constructing variational forms.
namespace Rodin::Variational
Finite element spaces, fields, and variational problems.

Classes

template<class LHSDerived, class RHSDerived, class FES, Variational::ShapeFunctionSpaceType Space>
struct Rodin::FormLanguage::Traits<Variational::Mult<Variational::FunctionBase<LHSDerived>, Variational::ShapeFunctionBase<RHSDerived, FES, Space>>>
Type traits for Mult over a function expression: exposes the finite element space, the shape function space, the scalar type, the left-hand side operand, the right-hand side operand and the range type.
template<class LHSDerived, class RHSDerived, class FES, Variational::ShapeFunctionSpaceType Space>
struct Rodin::FormLanguage::Traits<Variational::Mult<Variational::ShapeFunctionBase<LHSDerived, FES, Space>, Variational::FunctionBase<RHSDerived>>>
Type traits for Mult over a shape function: exposes the finite element space and the shape function space.
template<class LHSDerived, class RHSDerived>
class Rodin::Variational::Mult<FunctionBase<LHSDerived>, FunctionBase<RHSDerived>>
Multiplication of two FunctionBase instances.
template<class LHSDerived, class RHSDerived, class FES, ShapeFunctionSpaceType Space>
class Rodin::Variational::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 Rodin::Variational::Mult<ShapeFunctionBase<LHSDerived, FES, Space>, FunctionBase<RHSDerived>>
Right multiplication of a ShapeFunctionBase by a FunctionBase.
template<class LHS, class RHSNumber>
class Rodin::Variational::Mult<LHS, LocalBilinearFormIntegratorBase<RHSNumber>>
Product expression.
template<class LHS, class RHSNumber>
class Rodin::Variational::Mult<LHS, LinearFormIntegratorBase<RHSNumber>>
Product expression.