Base class for convergence criteria.
Executioners are objects that do the actual work of solving your problem.
A solve object for use when wanting to solve multiple systems.
const bool _using_multi_sys_fp_iterations
Whether we are using fixed point iterations for multi-system.
Convergence * _multi_sys_fp_convergence
Convergence object to assess the convergence of the multi-system fixed point iteration.
std::set< SystemBase * > _systems_to_copy_back_multi_sys_fp
Systems that should save their previous multi-system fixed point solutions.
unsigned int _num_nl_systems
Number of nonlinear systems.
std::vector< Real > _multi_sys_fp_relax_factors
Per-system relaxation factors for multi-system fixed point iterations (expanded to match the number/o...
void setupMultiSystemFixedPointRelaxationFactors()
Initializes/expands the multi-system fixed point relaxation factors.
const std::vector< SolverSystem * > & systemsToSolve() const
Returns a reference to the vector of solver systems that this object is supposed to solve.
std::vector< bool > _perform_multi_sys_fp_relaxation
Whether to perform relaxation for each solve system, indexed over solve system.
static InputParameters validParams()
std::vector< SolverSystem * > _systems
Vector of pointers to the systems.