18template <
typename T >
23 typename T::OperatorType& A,
24 typename T::OperatorType::SrcVectorType& x,
25 const typename T::OperatorType::DstVectorType& b ) {
27 typename T::OperatorType;
33 { self.solve_impl( A, x, b ) } -> std::same_as< void >;
37template < SolverLike Solver >
41template < SolverLike Solver >
50template < SolverLike Solver, OperatorLike Operator, VectorLike SolutionVector, VectorLike RHSVector >
51void solve( Solver& solver, Operator& A, SolutionVector& x,
const RHSVector& b )
53 solver.solve_impl( A, x, b );
60template < OperatorLike OperatorT >
Dummy solver for concept checks and testing. Implements solve_impl as a no-op.
Definition solver.hpp:62
SrcOf< OperatorType > SolutionVectorType
Solution vector type.
Definition solver.hpp:68
DstOf< OperatorType > RHSVectorType
Right-hand side vector type.
Definition solver.hpp:70
OperatorT OperatorType
Operator type to be solved.
Definition solver.hpp:65
void solve_impl(const OperatorType &A, SolutionVectorType &x, const RHSVectorType &b) const
Dummy solve_impl, does nothing.
Definition solver.hpp:76
Table class for storing and manipulating tabular data.
Definition table.hpp:84
Concept for types that behave like linear operators.
Definition operator.hpp:57
Concept for types that behave like linear solvers. Requires exposing OperatorType and a solve_impl me...
Definition solver.hpp:19
Definition block_preconditioner_2x2.hpp:7
DstOf< typename Solver::OperatorType > RHSOf
Alias for the right-hand side vector type of a solver.
Definition solver.hpp:42
void solve(Solver &solver, Operator &A, SolutionVector &x, const RHSVector &b)
Solve a linear system using the given solver and operator. Calls the solver's solve_impl method.
Definition solver.hpp:51
SrcOf< typename Solver::OperatorType > SolutionOf
Alias for the solution vector type of a solver.
Definition solver.hpp:38
Operator::SrcVectorType SrcOf
Alias for the source vector type of an operator.
Definition operator.hpp:145
Operator::DstVectorType DstOf
Alias for the destination vector type of an operator.
Definition operator.hpp:149