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.

commentnote

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.