SpECTRE  2021.08.02
LinearSolver::Actions Namespace Reference

Actions applicable to any parallel linear solver. More...

Classes

struct  MakeIdentityIfSkipped
 Make the iterative linear solve the identity operation on the source vector if no iterations were performed at all. Useful for disabling a preconditioner by setting its number of iterations to zero. More...
 

Typedefs

template<typename LinearSolverType , typename BuildOperatorActions = tmpl::list<>, typename Label = typename LinearSolverType::options_group>
using make_identity_if_skipped = tmpl::conditional_t< std::is_same_v< BuildOperatorActions, tmpl::list<> >, MakeIdentityIfSkipped< LinearSolverType >, tmpl::list< MakeIdentityIfSkipped< LinearSolverType, detail::ProceedLabel< Label > >, BuildOperatorActions, ::Actions::Label< detail::ProceedLabel< Label > > > >
 Run MakeIdentityIfSkipped, and also run the BuildOperatorActions if the linear solver is skipped. See MakeIdentityIfSkipped for details.
 

Detailed Description

Actions applicable to any parallel linear solver.