FEProblemSolve
The FEProblemSolve
class has two main roles:
handle a variety of parameters for the linear and nonlinear solves
encapsulate the solve function call with a geometric grid sequencing calls for nonlinear problems
encapsulate each nonlinear system within a multi-system fixed point loop. This loop is nested within the geometric grid sequencing.
The FEProblemSolve
is a solve executioner nested inside most executioners, such as Steady and Transient but notably not in the Eigenvalue executioner.
Multi-system solve capabilities
If using multiple nonlinear systems, the default behavior of the FEProblemSolve
will be to solve them one by one, in the order that they were specified, without iterating between systems.
If the "multi_system_fixed_point" parameter is set to true, this solve will be iterated. The user must pass a convergence object to the "multi_system_fixed_point_convergence" to let the FEProblemSolve
know when to terminate the fixed point loop.
Options are currently limited for setting a multi-system fixed point convergence. We do not recommend using the nonlinear residual with a VariableResidual postprocessor or a DefaultNonlinearConvergence as these are not re-computed the end of a multi-system fixed point iteration.