12#ifndef DUMUX_LINEAR_ALGEBRA_TRAITS_HH
13#define DUMUX_LINEAR_ALGEBRA_TRAITS_HH
23template<
class Assembler,
bool isMultiType = false>
26 using Vector =
typename Assembler::ResidualType;
27 using Matrix =
typename Assembler::JacobianMatrix;
32template<
class Assembler>
35 using Vector =
typename Assembler::ResidualType;
36 using Matrix =
typename Assembler::JacobianMatrix;
49template<
class M,
class V,
class STM = M,
class STV = V>
62template<
class Assembler>
static auto multiTypeToBCRSMatrix(const MultiTypeBlockMatrix &A)
Converts the matrix to a type the IterativeSolverBackend can handle.
Definition: matrixconverter.hh:46
static auto multiTypeToBlockVector(const MultiTypeBlockVector &b)
Converts a Dune::MultiTypeBlockVector to a plain 1x1 Dune::BlockVector.
Definition: matrixconverter.hh:203
A helper class that converts a Dune::MultiTypeBlockMatrix into a plain Dune::BCRSMatrix.
Definition: linearalgebratraits.hh:21
decltype(MatrixConverter< Matrix >::multiTypeToBCRSMatrix(std::declval< Matrix >())) SingleTypeMatrix
Definition: linearalgebratraits.hh:38
typename Assembler::JacobianMatrix Matrix
Definition: linearalgebratraits.hh:36
decltype(VectorConverter< Vector >::multiTypeToBlockVector(std::declval< Vector >())) SingleTypeVector
Definition: linearalgebratraits.hh:37
typename Assembler::ResidualType Vector
Definition: linearalgebratraits.hh:35
Definition: linearalgebratraits.hh:25
Matrix SingleTypeMatrix
Definition: linearalgebratraits.hh:29
Vector SingleTypeVector
Definition: linearalgebratraits.hh:28
typename Assembler::ResidualType Vector
Definition: linearalgebratraits.hh:26
typename Assembler::JacobianMatrix Matrix
Definition: linearalgebratraits.hh:27
Definition: linearalgebratraits.hh:51
STM SingleTypeMatrix
Definition: linearalgebratraits.hh:54
V Vector
Definition: linearalgebratraits.hh:53
M Matrix
Definition: linearalgebratraits.hh:52
STV SingleTypeVector
Definition: linearalgebratraits.hh:55
Helper type to determine whether a given type is a Dune::MultiTypeBlockVector.
Definition: vector.hh:22
Type traits to be used with vector types.