Template deduction guides module

Class template argument deduction (CTAD) of Rodin's classes.

Functions

template<class Solution, class TrialFES, class TestFES>
BilinearForm(const PETSc::Variational::TrialFunction<Solution, TrialFES>& u, const PETSc::Variational::TestFunction<TestFES>& v) -> BilinearForm< Solution, TrialFES, TestFES, ::Mat >
Deduction guide for PETSc-backed BilinearForm.
template<class FES>
GridFunction(const FES& fes) -> GridFunction< FES >
Deduction guide for PETSc::Variational::GridFunction.
template<class FES>
LinearForm(const PETSc::Variational::TestFunction<FES>& test) -> LinearForm< FES, ::Vec >
Deduction guide for PETSc-backed LinearForm.
template<class Solution, class TrialFES, class TestFES>
Problem(PETSc::Variational::TrialFunction<Solution, TrialFES>& u, PETSc::Variational::TestFunction<TestFES>& v) -> Problem< PETSc::Math::LinearSystem, TrialFunction< Solution, TrialFES >, TestFunction< TestFES > >
Deduction guide for two-field PETSc Problem.
template<class U1, class U2, class U3, class... Us>
Problem(U1& u1, U2& u2, U3& u3, Us&... us) -> Problem< Rodin::PETSc::Math::LinearSystem, U1, U2, U3, Us... >
Deduction guide for multi-field PETSc Problem.
template<class FES>
TestFunction(const FES& fes) -> TestFunction< FES >
Deduction guide for PETSc::Variational::TestFunction.
template<class FES>
TrialFunction(const FES& fes) -> TrialFunction< GridFunction< FES >, FES >
Deduction guide for PETSc::Variational::TrialFunction.
template<class LinearSystem>
BiCGSTAB(Variational::ProblemBase<LinearSystem>& pb) -> BiCGSTAB< LinearSystem >
CTAD for BiCGSTAB.
template<class LinearSystem>
CG(Variational::ProblemBase<LinearSystem>& pb) -> CG< LinearSystem >
CTAD (Class Template Argument Deduction) guide for CG.
template<class LinearSystem>
DGMRES(Variational::ProblemBase<LinearSystem>& pb) -> DGMRES< LinearSystem >
CTAD (Class Template Argument Deduction) guide for DGMRES.
template<class LinearSystem>
GMRES(Variational::ProblemBase<LinearSystem>& pb) -> GMRES< LinearSystem >
CTAD (Class Template Argument Deduction) guide for GMRES.
template<class LinearSystem>
HouseholderQR(Variational::ProblemBase<LinearSystem>& pb) -> HouseholderQR< LinearSystem >
CTAD for HouseholderQR.
template<class LinearSystem>
IDRS(Variational::ProblemBase<LinearSystem>& pb) -> IDRS< LinearSystem >
CTAD (Class Template Argument Deduction) guide for IDRS.
template<class LinearSystem>
IDRSTABL(Variational::ProblemBase<LinearSystem>& pb) -> IDRSTABL< LinearSystem >
CTAD (Class Template Argument Deduction) guide for IDRSTABL.
template<class LinearSystem>
LDLT(Variational::ProblemBase<LinearSystem>& pb) -> LDLT< LinearSystem >
CTAD (Class Template Argument Deduction) guide for LDLT.
template<class LinearSystem>
LeastSquaresCG(Variational::ProblemBase<LinearSystem>& pb) -> LeastSquaresCG< LinearSystem >
CTAD (Class Template Argument Deduction) guide for LeastSquaresCG.
template<class LinearSystem>
MINRES(Variational::ProblemBase<LinearSystem>& pb) -> MINRES< LinearSystem >
CTAD (Class Template Argument Deduction) guide for MINRES.
template<class LS>
NewtonSolver(LS& solver) -> NewtonSolver< LS >
CTAD (Class Template Argument Deduction) guide for NewtonSolver.
template<class LinearSystem>
PartialPivLU(Variational::ProblemBase<LinearSystem>& pb) -> PartialPivLU< LinearSystem >
CTAD guide for PartialPivLU.
template<class LinearSystemType>
SimplicialLDLT(Variational::ProblemBase<LinearSystemType>& pb) -> SimplicialLDLT< LinearSystemType >
CTAD (Class Template Argument Deduction) guide for SimplicialLDLT.
template<class LinearSystem>
SimplicialLLT(Variational::ProblemBase<LinearSystem>& pb) -> SimplicialLLT< LinearSystem >
CTAD (Class Template Argument Deduction) guide for SimplicialLLT.
template<class LinearSystem>
SparseLU(Variational::ProblemBase<LinearSystem>& pb) -> SparseLU< LinearSystem >
CTAD (Class Template Argument Deduction) guide for SparseLU.
template<class LinearSystem>
SparseQR(Variational::ProblemBase<LinearSystem>& pb) -> SparseQR< LinearSystem >
CTAD (Class Template Argument Deduction) guide for SparseQR.
template<class Solution, class FES, class FunctionDerived>
DirichletBC(const TrialFunction<Solution, FES>& u, const FunctionBase<FunctionDerived>& v) -> DirichletBC< TrialFunction< Solution, FES >, FunctionBase< FunctionDerived > >
CTAD for DirichletBC.
template<class Solution, class FES1, class Derived2, class FES2, ShapeFunctionSpaceType Sp>
DirichletBC(const TrialFunction<Solution, FES1>& u, const ShapeFunctionBase<Derived2, FES2, Sp>& v) -> DirichletBC< TrialFunction< Solution, FES1 >, ShapeFunctionBase< Derived2, FES2, Sp > >
CTAD for the identification DirichletBC.
template<class FES, class Data>
Grad(const GridFunction<FES, Data>& operand) -> Grad< GridFunction< FES, Data > >
CTAD for Grad of a GridFunction.
template<class NestedDerived, class FES, ShapeFunctionSpaceType Space>
Grad(const ShapeFunction<NestedDerived, FES, Space>& operand) -> Grad< ShapeFunction< NestedDerived, FES, Space > >
CTAD for Grad of a ShapeFunction.
template<size_t K, class Scalar, class Data, class Mesh>
Derivative(size_t i, const GridFunction<H1<K, Scalar, Mesh>, Data>& u) -> Derivative< GridFunction< H1< K, Scalar, Mesh >, Data > >
CTAD for Derivative of an H1 GridFunction.
template<size_t K, class Scalar, class Data, class Mesh>
Div(const GridFunction<H1<K, Math::SpatialVector<Scalar>, Mesh>, Data>& u) -> Div< GridFunction< H1< K, Math::SpatialVector< Scalar >, Mesh >, Data > >
CTAD for Div of an H1 GridFunction.
template<size_t K, class Range, class Data, class Mesh>
Jacobian(const GridFunction<H1<K, Range, Mesh>, Data>& u) -> Jacobian< GridFunction< H1< K, Range, Mesh >, Data > >
CTAD for Jacobian of an H1 GridFunction.
template<class FES>
LinearForm(const TestFunction<FES>& v) -> LinearForm< FES, Math::Vector< typename FormLanguage::Traits< FES >::ScalarType > >
CTAD for LinearForm.
template<class Range, class Data, class Mesh>
Grad(const GridFunction<P0<Range, Mesh>, Data>& operand) -> Grad< GridFunction< P0< Range, Mesh >, Data > >
CTAD for Grad of a P0 GridFunction.
template<class Context>
P0(const Geometry::Mesh<Context>& mesh) -> P0< Real, Geometry::Mesh< Context > >
CTAD for P0 from mesh - deduces to RealP0.
template<class Scalar, class Data, class Mesh>
Div(const GridFunction<P0g<Math::SpatialVector<Scalar>, Mesh>, Data>& u) -> Div< GridFunction< P0g< Math::SpatialVector< Scalar >, Mesh >, Data > >
CTAD for Div of a P0g GridFunction.
template<class Range, class Data, class Mesh>
Jacobian(const GridFunction<P0g<Range, Mesh>, Data>& u) -> Jacobian< GridFunction< P0g< Range, Mesh >, Data > >
CTAD for Jacobian of a P0g vector GridFunction.
template<class Range, class Data, class Mesh>
Derivative(size_t i, const GridFunction<P1<Range, Mesh>, Data>& u) -> Derivative< GridFunction< P1< Range, Mesh >, Data > >
CTAD for Derivative of a P1 GridFunction.
template<class Scalar, class Data, class Mesh>
Div(const GridFunction<P1<Math::SpatialVector<Scalar>, Mesh>, Data>& u) -> Div< GridFunction< P1< Math::SpatialVector< Scalar >, Mesh >, Data > >
CTAD for Div of a P1 GridFunction.
template<class Range, class Data, class Mesh>
Jacobian(const GridFunction<P1<Range, Mesh>, Data>& u) -> Jacobian< GridFunction< P1< Range, Mesh >, Data > >
CTAD for Jacobian of a P1 GridFunction.
template<class Context>
P1(const Geometry::Mesh<Context>& mesh) -> P1< Real, Geometry::Mesh< Context > >
CTAD for P1 from mesh - deduces to RealP1.
template<class NestedDerived, class Range, class Mesh>
QuadratureRule(const ShapeFunctionBase<ShapeFunction<NestedDerived, P1<Range, Mesh>, TestSpace>>& integrand) -> QuadratureRule< ShapeFunctionBase< ShapeFunction< NestedDerived, P1< Range, Mesh >, TestSpace > > >
Deduction guide for QuadratureRule.
template<class LHSDerived, class RHSDerived, class Range, class Mesh>
QuadratureRule(const ShapeFunctionBase<Dot<FunctionBase<LHSDerived>, ShapeFunctionBase<ShapeFunction<RHSDerived, P1<Range, Mesh>, TestSpace>>>>& integrand) -> QuadratureRule< ShapeFunctionBase< Dot< FunctionBase< LHSDerived >, ShapeFunctionBase< ShapeFunction< RHSDerived, P1< Range, Mesh >, TestSpace > > > > >
Deduction guide for QuadratureRule.
template<class LHSFunctionDerived, class LHSDerived, class RHSDerived, class Range, class Mesh>
QuadratureRule(const Dot<ShapeFunctionBase<Mult<FunctionBase<LHSFunctionDerived>, ShapeFunctionBase<Grad<ShapeFunction<LHSDerived, P1<Range, Mesh>, TrialSpace>>>>>, ShapeFunctionBase<Grad<ShapeFunction<RHSDerived, P1<Range, Mesh>, TestSpace>>>>& integrand) -> QuadratureRule< Dot< ShapeFunctionBase< Mult< FunctionBase< LHSFunctionDerived >, ShapeFunctionBase< Grad< ShapeFunction< LHSDerived, P1< Range, Mesh >, TrialSpace > > > > >, ShapeFunctionBase< Grad< ShapeFunction< RHSDerived, P1< Range, Mesh >, TestSpace > > > > >
Deduction guide for QuadratureRule.
template<class LHSDerived, class RHSDerived, class Range, class Mesh>
QuadratureRule(const Dot<ShapeFunctionBase<Jacobian<ShapeFunction<LHSDerived, P1<Range, Mesh>, TrialSpace>>>, ShapeFunctionBase<Jacobian<ShapeFunction<RHSDerived, P1<Range, Mesh>, TestSpace>>>>& integrand) -> QuadratureRule< Dot< ShapeFunctionBase< Jacobian< ShapeFunction< LHSDerived, P1< Range, Mesh >, TrialSpace > > >, ShapeFunctionBase< Jacobian< ShapeFunction< RHSDerived, P1< Range, Mesh >, TestSpace > > > > >
Deduction guide for QuadratureRule.
template<class LHSFunctionDerived, class LHSDerived, class RHSDerived, class Mesh>
QuadratureRule(const Dot<ShapeFunctionBase<Mult<FunctionBase<LHSFunctionDerived>, ShapeFunctionBase<Jacobian<ShapeFunction<LHSDerived, P1<Math::SpatialVector<Real>, Mesh>, TrialSpace>>>>>, ShapeFunctionBase<Jacobian<ShapeFunction<RHSDerived, P1<Math::SpatialVector<Real>, Mesh>, TestSpace>>>>& integrand) -> QuadratureRule< Dot< ShapeFunctionBase< Mult< FunctionBase< LHSFunctionDerived >, ShapeFunctionBase< Jacobian< ShapeFunction< LHSDerived, P1< Math::SpatialVector< Real >, Mesh >, TrialSpace > > > > >, ShapeFunctionBase< Jacobian< ShapeFunction< RHSDerived, P1< Math::SpatialVector< Real >, Mesh >, TestSpace > > > > >
Deduction guide for QuadratureRule.
template<class CoefficientDerived, class LHSDerived, class RHSDerived, class Range, class Mesh>
QuadratureRule(const Dot<ShapeFunctionBase<Mult<ShapeFunctionBase<Jacobian<ShapeFunction<LHSDerived, P1<Range, Mesh>, TrialSpace>>, P1<Range, Mesh>, TrialSpace>, FunctionBase<CoefficientDerived>>, P1<Range, Mesh>, TrialSpace>, ShapeFunctionBase<ShapeFunction<RHSDerived, P1<Range, Mesh>, TestSpace>, P1<Range, Mesh>, TestSpace>>& integrand) -> QuadratureRule< Dot< ShapeFunctionBase< Mult< ShapeFunctionBase< Jacobian< ShapeFunction< LHSDerived, P1< Range, Mesh >, TrialSpace > >, P1< Range, Mesh >, TrialSpace >, FunctionBase< CoefficientDerived > >, P1< Range, Mesh >, TrialSpace >, ShapeFunctionBase< ShapeFunction< RHSDerived, P1< Range, Mesh >, TestSpace >, P1< Range, Mesh >, TestSpace > > >
Deduction guide for QuadratureRule.
template<class Solution, class FES>
PeriodicBC(const TrialFunction<Solution, FES>& u, const IndexMap<IndexSet>& adjacency) -> PeriodicBC< TrialFunction< Solution, FES >, IndexMap< IndexSet > >
CTAD for PeriodicBC.
template<class BaseDerived, class Number>
Pow(const FunctionBase<BaseDerived>& base, Number exponent) -> Pow< FunctionBase< BaseDerived >, Number >
Deduction guide for Pow.
template<class U, class V>
Problem(U& u, V& v) -> Problem< Math::LinearSystem< Math::SparseMatrix< typename FormLanguage::Mult< typename FormLanguage::Traits< typename FormLanguage::Traits< U >::FESType >::ScalarType, typename FormLanguage::Traits< typename FormLanguage::Traits< V >::FESType >::ScalarType >::Type >, Math::Vector< typename FormLanguage::Traits< typename FormLanguage::Traits< V >::FESType >::ScalarType > >, U, V >
Deduction guide for a two-field sparse variational problem.
template<class U, class V>
SparseProblem(U& u, V& v) -> SparseProblem< Math::LinearSystem< Math::SparseMatrix< typename FormLanguage::Mult< typename FormLanguage::Traits< typename FormLanguage::Traits< U >::FESType >::ScalarType, typename FormLanguage::Traits< typename FormLanguage::Traits< V >::FESType >::ScalarType >::Type >, Math::Vector< typename FormLanguage::Traits< typename FormLanguage::Traits< V >::FESType >::ScalarType > >, U, V >
Deduction guide for SparseProblem.

Variables

template<size_t K, class Context>
H1< K, Real, Geometry::Mesh< Context > >
CTAD for H1 from mesh - deduces to RealH1.
template<size_t K, class Context>
H1< K, Math::SpatialVector< Real >, Geometry::Mesh< Context > >
CTAD for Vector H1 from mesh and vector dimension.
template<class Context>
P1< Math::SpatialVector< Real >, Geometry::Mesh< Context > >
CTAD for Vector P1 from mesh and vector dimension.

Function documentation

template<class Solution, class TrialFES, class TestFES>
BilinearForm(const PETSc::Variational::TrialFunction<Solution, TrialFES>& u, const PETSc::Variational::TestFunction<TestFES>& v) -> BilinearForm< Solution, TrialFES, TestFES, ::Mat >

Deduction guide for PETSc-backed BilinearForm.

Parameters
u Function operand.
v Function operand.

template<class FES>
GridFunction(const FES& fes) -> GridFunction< FES >

Deduction guide for PETSc::Variational::GridFunction.

Parameters
fes Finite element space.

template<class FES>
LinearForm(const PETSc::Variational::TestFunction<FES>& test) -> LinearForm< FES, ::Vec >

Deduction guide for PETSc-backed LinearForm.

Parameters
test Test function.

template<class Solution, class TrialFES, class TestFES>
Problem(PETSc::Variational::TrialFunction<Solution, TrialFES>& u, PETSc::Variational::TestFunction<TestFES>& v) -> Problem< PETSc::Math::LinearSystem, TrialFunction< Solution, TrialFES >, TestFunction< TestFES > >

Deduction guide for two-field PETSc Problem.

Parameters
u Trial function.
v Test function.

template<class U1, class U2, class U3, class... Us>
Problem(U1& u1, U2& u2, U3& u3, Us&... us) -> Problem< Rodin::PETSc::Math::LinearSystem, U1, U2, U3, Us... >

Deduction guide for multi-field PETSc Problem.

Parameters
u1 First function (trial or test).
u2 Second function.
u3 Third function.
us Additional functions.

This guide is enabled only when all arguments are PETSc trial or test wrappers.

template<class FES>
TestFunction(const FES& fes) -> TestFunction< FES >

Deduction guide for PETSc::Variational::TestFunction.

Parameters
fes Finite element space.

template<class FES>
TrialFunction(const FES& fes) -> TrialFunction< GridFunction< FES >, FES >

Deduction guide for PETSc::Variational::TrialFunction.

Parameters
fes Finite element space.

template<class LinearSystem>
BiCGSTAB(Variational::ProblemBase<LinearSystem>& pb) -> BiCGSTAB< LinearSystem >

CTAD for BiCGSTAB.

Parameters
pb Reference to the problem to solve

template<class LinearSystem>
CG(Variational::ProblemBase<LinearSystem>& pb) -> CG< LinearSystem >

CTAD (Class Template Argument Deduction) guide for CG.

Parameters
pb Reference to the problem to solve

template<class LinearSystem>
DGMRES(Variational::ProblemBase<LinearSystem>& pb) -> DGMRES< LinearSystem >

CTAD (Class Template Argument Deduction) guide for DGMRES.

Parameters
pb Variational problem to operate on.

template<class LinearSystem>
GMRES(Variational::ProblemBase<LinearSystem>& pb) -> GMRES< LinearSystem >

CTAD (Class Template Argument Deduction) guide for GMRES.

Parameters
pb Variational problem to operate on.

template<class LinearSystem>
HouseholderQR(Variational::ProblemBase<LinearSystem>& pb) -> HouseholderQR< LinearSystem >

CTAD for HouseholderQR.

Parameters
pb Variational problem to operate on.

template<class LinearSystem>
IDRS(Variational::ProblemBase<LinearSystem>& pb) -> IDRS< LinearSystem >

CTAD (Class Template Argument Deduction) guide for IDRS.

Parameters
pb Variational problem to operate on.

template<class LinearSystem>
IDRSTABL(Variational::ProblemBase<LinearSystem>& pb) -> IDRSTABL< LinearSystem >

CTAD (Class Template Argument Deduction) guide for IDRSTABL.

Parameters
pb Variational problem to operate on.

template<class LinearSystem>
LDLT(Variational::ProblemBase<LinearSystem>& pb) -> LDLT< LinearSystem >

CTAD (Class Template Argument Deduction) guide for LDLT.

Parameters
pb Reference to the problem to solve

template<class LinearSystem>
LeastSquaresCG(Variational::ProblemBase<LinearSystem>& pb) -> LeastSquaresCG< LinearSystem >

CTAD (Class Template Argument Deduction) guide for LeastSquaresCG.

Parameters
pb Reference to the problem to solve

template<class LinearSystem>
MINRES(Variational::ProblemBase<LinearSystem>& pb) -> MINRES< LinearSystem >

CTAD (Class Template Argument Deduction) guide for MINRES.

Parameters
pb Variational problem to operate on.

template<class LS>
NewtonSolver(LS& solver) -> NewtonSolver< LS >

CTAD (Class Template Argument Deduction) guide for NewtonSolver.

Parameters
solver Linear solver used for each tangential solve.

Allows writing:

SparseLU solver(tangent);
NewtonSolver newton(solver);

template<class LinearSystem>
PartialPivLU(Variational::ProblemBase<LinearSystem>& pb) -> PartialPivLU< LinearSystem >

CTAD guide for PartialPivLU.

Parameters
pb Variational problem to operate on.

template<class LinearSystemType>
SimplicialLDLT(Variational::ProblemBase<LinearSystemType>& pb) -> SimplicialLDLT< LinearSystemType >

CTAD (Class Template Argument Deduction) guide for SimplicialLDLT.

Parameters
pb Reference to the problem to solve

template<class LinearSystem>
SimplicialLLT(Variational::ProblemBase<LinearSystem>& pb) -> SimplicialLLT< LinearSystem >

CTAD (Class Template Argument Deduction) guide for SimplicialLLT.

Parameters
pb Reference to the problem to solve

template<class LinearSystem>
SparseLU(Variational::ProblemBase<LinearSystem>& pb) -> SparseLU< LinearSystem >

CTAD (Class Template Argument Deduction) guide for SparseLU.

Parameters
pb Reference to the problem to solve

template<class LinearSystem>
SparseQR(Variational::ProblemBase<LinearSystem>& pb) -> SparseQR< LinearSystem >

CTAD (Class Template Argument Deduction) guide for SparseQR.

Parameters
pb Reference to the problem to solve

template<class Solution, class FES, class FunctionDerived>
DirichletBC(const TrialFunction<Solution, FES>& u, const FunctionBase<FunctionDerived>& v) -> DirichletBC< TrialFunction< Solution, FES >, FunctionBase< FunctionDerived > >

CTAD for DirichletBC.

Template parameters
FES Type of finite element space
Parameters
u ShapeFunction object
v Value object

template<class Solution, class FES1, class Derived2, class FES2, ShapeFunctionSpaceType Sp>
DirichletBC(const TrialFunction<Solution, FES1>& u, const ShapeFunctionBase<Derived2, FES2, Sp>& v) -> DirichletBC< TrialFunction< Solution, FES1 >, ShapeFunctionBase< Derived2, FES2, Sp > >

CTAD for the identification DirichletBC.

Parameters
u ShapeFunction object
v Value object

template<class FES, class Data>
Grad(const GridFunction<FES, Data>& operand) -> Grad< GridFunction< FES, Data > >

CTAD for Grad of a GridFunction.

Parameters
operand Operand determining the expression type.

template<class NestedDerived, class FES, ShapeFunctionSpaceType Space>
Grad(const ShapeFunction<NestedDerived, FES, Space>& operand) -> Grad< ShapeFunction< NestedDerived, FES, Space > >

CTAD for Grad of a ShapeFunction.

Parameters
operand Operand determining the expression type.

template<size_t K, class Scalar, class Data, class Mesh>
Derivative(size_t i, const GridFunction<H1<K, Scalar, Mesh>, Data>& u) -> Derivative< GridFunction< H1< K, Scalar, Mesh >, Data > >

CTAD for Derivative of an H1 GridFunction.

Parameters
i Coordinate index (0 = x, 1 = y, 2 = z)
u H1 GridFunction

template<size_t K, class Scalar, class Data, class Mesh>
Div(const GridFunction<H1<K, Math::SpatialVector<Scalar>, Mesh>, Data>& u) -> Div< GridFunction< H1< K, Math::SpatialVector< Scalar >, Mesh >, Data > >

CTAD for Div of an H1 GridFunction.

Parameters
u Operand expression.

template<size_t K, class Range, class Data, class Mesh>
Jacobian(const GridFunction<H1<K, Range, Mesh>, Data>& u) -> Jacobian< GridFunction< H1< K, Range, Mesh >, Data > >

CTAD for Jacobian of an H1 GridFunction.

Parameters
u Operand expression.

template<class FES>
LinearForm(const TestFunction<FES>& v) -> LinearForm< FES, Math::Vector< typename FormLanguage::Traits< FES >::ScalarType > >

CTAD for LinearForm.

Parameters
v in Reference to a TestFunction

The constructor taking a single TestFunction reference deduces a LinearForm with a default-constructed Math::Vector owned by the LinearForm instance.

template<class Range, class Data, class Mesh>
Grad(const GridFunction<P0<Range, Mesh>, Data>& operand) -> Grad< GridFunction< P0< Range, Mesh >, Data > >

CTAD for Grad of a P0 GridFunction.

Parameters
operand Operand expression.

template<class Context>
P0(const Geometry::Mesh<Context>& mesh) -> P0< Real, Geometry::Mesh< Context > >

CTAD for P0 from mesh - deduces to RealP0.

Parameters
mesh Mesh supporting the finite element space.

template<class Scalar, class Data, class Mesh>
Div(const GridFunction<P0g<Math::SpatialVector<Scalar>, Mesh>, Data>& u) -> Div< GridFunction< P0g< Math::SpatialVector< Scalar >, Mesh >, Data > >

CTAD for Div of a P0g GridFunction.

Parameters
u Operand expression.

template<class Range, class Data, class Mesh>
Jacobian(const GridFunction<P0g<Range, Mesh>, Data>& u) -> Jacobian< GridFunction< P0g< Range, Mesh >, Data > >

CTAD for Jacobian of a P0g vector GridFunction.

Parameters
u Operand expression.

template<class Range, class Data, class Mesh>
Derivative(size_t i, const GridFunction<P1<Range, Mesh>, Data>& u) -> Derivative< GridFunction< P1< Range, Mesh >, Data > >

CTAD for Derivative of a P1 GridFunction.

Parameters
i Index of the direction the derivative is taken along
u P1 GridFunction

template<class Scalar, class Data, class Mesh>
Div(const GridFunction<P1<Math::SpatialVector<Scalar>, Mesh>, Data>& u) -> Div< GridFunction< P1< Math::SpatialVector< Scalar >, Mesh >, Data > >

CTAD for Div of a P1 GridFunction.

Parameters
u Operand expression.

template<class Range, class Data, class Mesh>
Jacobian(const GridFunction<P1<Range, Mesh>, Data>& u) -> Jacobian< GridFunction< P1< Range, Mesh >, Data > >

CTAD for Jacobian of a P1 GridFunction.

Parameters
u Operand expression.

template<class Context>
P1(const Geometry::Mesh<Context>& mesh) -> P1< Real, Geometry::Mesh< Context > >

CTAD for P1 from mesh - deduces to RealP1.

Parameters
mesh Mesh supporting the finite element space.

template<class NestedDerived, class Range, class Mesh>
QuadratureRule(const ShapeFunctionBase<ShapeFunction<NestedDerived, P1<Range, Mesh>, TestSpace>>& integrand) -> QuadratureRule< ShapeFunctionBase< ShapeFunction< NestedDerived, P1< Range, Mesh >, TestSpace > > >

Deduction guide for QuadratureRule.

Parameters
integrand Expression to integrate.

template<class LHSDerived, class RHSDerived, class Range, class Mesh>
QuadratureRule(const ShapeFunctionBase<Dot<FunctionBase<LHSDerived>, ShapeFunctionBase<ShapeFunction<RHSDerived, P1<Range, Mesh>, TestSpace>>>>& integrand) -> QuadratureRule< ShapeFunctionBase< Dot< FunctionBase< LHSDerived >, ShapeFunctionBase< ShapeFunction< RHSDerived, P1< Range, Mesh >, TestSpace > > > > >

Deduction guide for QuadratureRule.

Parameters
integrand Expression to integrate.

template<class LHSFunctionDerived, class LHSDerived, class RHSDerived, class Range, class Mesh>
QuadratureRule(const Dot<ShapeFunctionBase<Mult<FunctionBase<LHSFunctionDerived>, ShapeFunctionBase<Grad<ShapeFunction<LHSDerived, P1<Range, Mesh>, TrialSpace>>>>>, ShapeFunctionBase<Grad<ShapeFunction<RHSDerived, P1<Range, Mesh>, TestSpace>>>>& integrand) -> QuadratureRule< Dot< ShapeFunctionBase< Mult< FunctionBase< LHSFunctionDerived >, ShapeFunctionBase< Grad< ShapeFunction< LHSDerived, P1< Range, Mesh >, TrialSpace > > > > >, ShapeFunctionBase< Grad< ShapeFunction< RHSDerived, P1< Range, Mesh >, TestSpace > > > > >

Deduction guide for QuadratureRule.

Parameters
integrand Expression to integrate.

template<class LHSDerived, class RHSDerived, class Range, class Mesh>
QuadratureRule(const Dot<ShapeFunctionBase<Jacobian<ShapeFunction<LHSDerived, P1<Range, Mesh>, TrialSpace>>>, ShapeFunctionBase<Jacobian<ShapeFunction<RHSDerived, P1<Range, Mesh>, TestSpace>>>>& integrand) -> QuadratureRule< Dot< ShapeFunctionBase< Jacobian< ShapeFunction< LHSDerived, P1< Range, Mesh >, TrialSpace > > >, ShapeFunctionBase< Jacobian< ShapeFunction< RHSDerived, P1< Range, Mesh >, TestSpace > > > > >

Deduction guide for QuadratureRule.

Parameters
integrand Expression to integrate.

template<class LHSFunctionDerived, class LHSDerived, class RHSDerived, class Mesh>
QuadratureRule(const Dot<ShapeFunctionBase<Mult<FunctionBase<LHSFunctionDerived>, ShapeFunctionBase<Jacobian<ShapeFunction<LHSDerived, P1<Math::SpatialVector<Real>, Mesh>, TrialSpace>>>>>, ShapeFunctionBase<Jacobian<ShapeFunction<RHSDerived, P1<Math::SpatialVector<Real>, Mesh>, TestSpace>>>>& integrand) -> QuadratureRule< Dot< ShapeFunctionBase< Mult< FunctionBase< LHSFunctionDerived >, ShapeFunctionBase< Jacobian< ShapeFunction< LHSDerived, P1< Math::SpatialVector< Real >, Mesh >, TrialSpace > > > > >, ShapeFunctionBase< Jacobian< ShapeFunction< RHSDerived, P1< Math::SpatialVector< Real >, Mesh >, TestSpace > > > > >

Deduction guide for QuadratureRule.

Parameters
integrand Expression to integrate.

template<class CoefficientDerived, class LHSDerived, class RHSDerived, class Range, class Mesh>
QuadratureRule(const Dot<ShapeFunctionBase<Mult<ShapeFunctionBase<Jacobian<ShapeFunction<LHSDerived, P1<Range, Mesh>, TrialSpace>>, P1<Range, Mesh>, TrialSpace>, FunctionBase<CoefficientDerived>>, P1<Range, Mesh>, TrialSpace>, ShapeFunctionBase<ShapeFunction<RHSDerived, P1<Range, Mesh>, TestSpace>, P1<Range, Mesh>, TestSpace>>& integrand) -> QuadratureRule< Dot< ShapeFunctionBase< Mult< ShapeFunctionBase< Jacobian< ShapeFunction< LHSDerived, P1< Range, Mesh >, TrialSpace > >, P1< Range, Mesh >, TrialSpace >, FunctionBase< CoefficientDerived > >, P1< Range, Mesh >, TrialSpace >, ShapeFunctionBase< ShapeFunction< RHSDerived, P1< Range, Mesh >, TestSpace >, P1< Range, Mesh >, TestSpace > > >

Deduction guide for QuadratureRule.

Parameters
integrand Expression to integrate.

template<class Solution, class FES>
PeriodicBC(const TrialFunction<Solution, FES>& u, const IndexMap<IndexSet>& adjacency) -> PeriodicBC< TrialFunction< Solution, FES >, IndexMap< IndexSet > >

CTAD for PeriodicBC.

Template parameters
FES Type of finite element space
Parameters
u Operand expression.
adjacency Adjacency relation.

template<class BaseDerived, class Number>
Pow(const FunctionBase<BaseDerived>& base, Number exponent) -> Pow< FunctionBase< BaseDerived >, Number >

Deduction guide for Pow.

Parameters
base Base function of the power.
exponent Exponent of the power.

template<class U, class V>
Problem(U& u, V& v) -> Problem< Math::LinearSystem< Math::SparseMatrix< typename FormLanguage::Mult< typename FormLanguage::Traits< typename FormLanguage::Traits< U >::FESType >::ScalarType, typename FormLanguage::Traits< typename FormLanguage::Traits< V >::FESType >::ScalarType >::Type >, Math::Vector< typename FormLanguage::Traits< typename FormLanguage::Traits< V >::FESType >::ScalarType > >, U, V >

Deduction guide for a two-field sparse variational problem.

Parameters
u Trial shape function.
v Test shape function.

template<class U, class V>
SparseProblem(U& u, V& v) -> SparseProblem< Math::LinearSystem< Math::SparseMatrix< typename FormLanguage::Mult< typename FormLanguage::Traits< typename FormLanguage::Traits< U >::FESType >::ScalarType, typename FormLanguage::Traits< typename FormLanguage::Traits< V >::FESType >::ScalarType >::Type >, Math::Vector< typename FormLanguage::Traits< typename FormLanguage::Traits< V >::FESType >::ScalarType > >, U, V >

Deduction guide for SparseProblem.

Parameters
u Trial shape function.
v Test shape function.