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&) -> GridFunction< FES >
Deduction guide for PETSc::Variational::GridFunction.
template<class FES>
LinearForm(const PETSc::Variational::TestFunction<FES>&) -> LinearForm< FES, ::Vec >
Deduction guide for PETSc-backed LinearForm.
template<class Solution, class TrialFES, class TestFES>
Problem(PETSc::Variational::TrialFunction<Solution, TrialFES>&, PETSc::Variational::TestFunction<TestFES>&) -> 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>
auto Problem(U1&, U2&, U3&, Us& ...) -> Problem< Rodin::PETSc::Math::LinearSystem, U1, U2, U3, Us... > -> ::value
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>&) -> BiCGSTAB< LinearSystem >
CTAD for BiCGSTAB.
template<class LinearSystem>
CG(Variational::ProblemBase<LinearSystem>&) -> CG< LinearSystem >
CTAD (Class Template Argument Deduction) guide for CG.
template<class LinearSystem>
DGMRES(Variational::ProblemBase<LinearSystem>&) -> DGMRES< LinearSystem >
CTAD (Class Template Argument Deduction) guide for DGMRES.
template<class LinearSystem>
GMRES(Variational::ProblemBase<LinearSystem>&) -> GMRES< LinearSystem >
CTAD (Class Template Argument Deduction) guide for GMRES.
template<class LinearSystem>
HouseholderQR(Variational::ProblemBase<LinearSystem>&) -> HouseholderQR< LinearSystem >
CTAD for HouseholderQR.
template<class LinearSystem>
IDRS(Variational::ProblemBase<LinearSystem>&) -> IDRS< LinearSystem >
CTAD (Class Template Argument Deduction) guide for IDRS.
template<class LinearSystem>
IDRSTABL(Variational::ProblemBase<LinearSystem>&) -> IDRSTABL< LinearSystem >
CTAD (Class Template Argument Deduction) guide for IDRSTABL.
template<class LinearSystem>
LDLT(Variational::ProblemBase<LinearSystem>&) -> LDLT< LinearSystem >
CTAD (Class Template Argument Deduction) guide for LDLT.
template<class LinearSystem>
LeastSquaresCG(Variational::ProblemBase<LinearSystem>&) -> LeastSquaresCG< LinearSystem >
CTAD (Class Template Argument Deduction) guide for LeastSquaresCG.
template<class LinearSystem>
MINRES(Variational::ProblemBase<LinearSystem>&) -> MINRES< LinearSystem >
CTAD (Class Template Argument Deduction) guide for MINRES.
template<class LS>
NewtonSolver(LS&) -> NewtonSolver< LS >
CTAD (Class Template Argument Deduction) guide for NewtonSolver.
template<class LinearSystem>
PartialPivLU(Variational::ProblemBase<LinearSystem>&) -> PartialPivLU< LinearSystem >
CTAD guide for PartialPivLU.
template<class LinearSystemType>
SimplicialLDLT(Variational::ProblemBase<LinearSystemType>&) -> SimplicialLDLT< LinearSystemType >
CTAD (Class Template Argument Deduction) guide for SimplicialLDLT.
template<class LinearSystem>
SimplicialLLT(Variational::ProblemBase<LinearSystem>&) -> SimplicialLLT< LinearSystem >
CTAD (Class Template Argument Deduction) guide for SimplicialLLT.
template<class LinearSystem>
SparseLU(Variational::ProblemBase<LinearSystem>&) -> SparseLU< LinearSystem >
CTAD (Class Template Argument Deduction) guide for SparseLU.
template<class LinearSystem>
SparseQR(Variational::ProblemBase<LinearSystem>&) -> SparseQR< LinearSystem >
CTAD (Class Template Argument Deduction) guide for SparseQR.
template<class Solution, class FES, class FunctionDerived>
DirichletBC(const TrialFunction<Solution, FES>&, const FunctionBase<FunctionDerived>&) -> 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>&, const ShapeFunctionBase<Derived2, FES2, Sp>&) -> DirichletBC< TrialFunction< Solution, FES1 >, ShapeFunctionBase< Derived2, FES2, Sp > >
CTAD for the identification DirichletBC.
template<class FES, class Data>
Grad(const GridFunction<FES, Data>&) -> Grad< GridFunction< FES, Data > >
CTAD for Grad of a GridFunction.
template<class NestedDerived, class FES, ShapeFunctionSpaceType Space>
Grad(const ShapeFunction<NestedDerived, FES, Space>&) -> Grad< ShapeFunction< NestedDerived, FES, Space > >
CTAD for Grad of a ShapeFunction.
template<size_t K, class Scalar, class Data, class Mesh>
Derivative(size_t, const GridFunction<H1<K, Scalar, Mesh>, Data>&) -> 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>&) -> 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>&) -> 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>&) -> Grad< GridFunction< P0< Range, Mesh >, Data > >
CTAD for Grad of a P0 GridFunction.
template<class Context>
P0(const Geometry::Mesh<Context>&) -> 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>&) -> 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>&) -> Jacobian< GridFunction< P0g< Range, Mesh >, Data > >
CTAD for Jacobian of a P0g vector GridFunction.
template<class Range, class Data, class Mesh>
Derivative(size_t, const GridFunction<P1<Range, Mesh>, Data>&) -> 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>&) -> 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>&) -> Jacobian< GridFunction< P1< Range, Mesh >, Data > >
CTAD for Jacobian of a P1 GridFunction.
template<class Context>
P1(const Geometry::Mesh<Context>&) -> 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>>&) -> 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>>>>&) -> 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>>>>&) -> 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>>>>&) -> 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>>>>&) -> 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>>&) -> 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>&, const IndexMap<IndexSet>&) -> PeriodicBC< TrialFunction< Solution, FES >, IndexMap< IndexSet > >
CTAD for PeriodicBC.
template<class BaseDerived, class Number>
Pow(const FunctionBase<BaseDerived>&, Number) -> 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.

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.

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

Deduction guide for PETSc::Variational::GridFunction.

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

Deduction guide for PETSc-backed LinearForm.

template<class Solution, class TrialFES, class TestFES>
Problem(PETSc::Variational::TrialFunction<Solution, TrialFES>&, PETSc::Variational::TestFunction<TestFES>&) -> 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>
::value Problem(U1&, U2&, U3&, 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>&) -> BiCGSTAB< LinearSystem >

CTAD for BiCGSTAB.

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

CTAD (Class Template Argument Deduction) guide for CG.

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

CTAD (Class Template Argument Deduction) guide for DGMRES.

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

CTAD (Class Template Argument Deduction) guide for GMRES.

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

CTAD for HouseholderQR.

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

CTAD (Class Template Argument Deduction) guide for IDRS.

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

CTAD (Class Template Argument Deduction) guide for IDRSTABL.

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

CTAD (Class Template Argument Deduction) guide for LDLT.

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

CTAD (Class Template Argument Deduction) guide for LeastSquaresCG.

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

CTAD (Class Template Argument Deduction) guide for MINRES.

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

CTAD (Class Template Argument Deduction) guide for NewtonSolver.

Allows writing:

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

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

CTAD guide for PartialPivLU.

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

CTAD (Class Template Argument Deduction) guide for SimplicialLDLT.

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

CTAD (Class Template Argument Deduction) guide for SimplicialLLT.

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

CTAD (Class Template Argument Deduction) guide for SparseLU.

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

CTAD (Class Template Argument Deduction) guide for SparseQR.

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

CTAD for DirichletBC.

Template parameters
FES Type of finite element space

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

CTAD for the identification DirichletBC.

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

CTAD for Grad of a GridFunction.

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

CTAD for Grad of a ShapeFunction.

template<size_t K, class Scalar, class Data, class Mesh>
Derivative(size_t, const GridFunction<H1<K, Scalar, Mesh>, Data>&) -> 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>&) -> 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>&) -> 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.

Parameters
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>&) -> Grad< GridFunction< P0< Range, Mesh >, Data > >

CTAD for Grad of a P0 GridFunction.

template<class Scalar, class Data, class Mesh>
Div(const GridFunction<P0g<Math::SpatialVector<Scalar>, Mesh>, Data>&) -> 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>&) -> Jacobian< GridFunction< P0g< Range, Mesh >, Data > >

CTAD for Jacobian of a P0g vector GridFunction.

template<class Range, class Data, class Mesh>
Derivative(size_t, const GridFunction<P1<Range, Mesh>, Data>&) -> 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>&) -> 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>&) -> Jacobian< GridFunction< P1< Range, Mesh >, Data > >

CTAD for Jacobian of a P1 GridFunction.

template<class NestedDerived, class Range, class Mesh>
QuadratureRule(const ShapeFunctionBase<ShapeFunction<NestedDerived, P1<Range, Mesh>, TestSpace>>&) -> 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>>>>&) -> 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>>>>&) -> 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>>>>&) -> 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>>>>&) -> 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>>&) -> 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>&, const IndexMap<IndexSet>&) -> PeriodicBC< TrialFunction< Solution, FES >, IndexMap< IndexSet > >

CTAD for PeriodicBC.

Template parameters
FES Type of finite element space

template<class BaseDerived, class Number>
Pow(const FunctionBase<BaseDerived>&, Number) -> 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.