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.

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.