MultiPostprocessorConvergence

This Convergence derives from IterationCountConvergence and checks multiple post-processor values against tolerances:

where is the checked post-processor quantity, and is the associated tolerance.

The object returns CONVERGED if all of the checks are true and ITERATING otherwise.

For this to work as expected, the execute_on parameter of the post-processors must include values that trigger execution before the desired check. The following table lists general recommendations for which execute_on flags to include for each type of convergence check. See SetupInterface for details on different execution points.

Convergence CheckRecommended execute_on
NonlinearNONLINEAR_CONVERGENCE
Steady-stateTIMESTEP_END
MultiApp fixed pointMULTIAPP_FIXED_POINT_CONVERGENCE (see Residual for specific guidance for Residual)
Multi-system fixed pointMULTISYSTEM_FIXED_POINT_CONVERGENCE
commentnote

The parameter "min_iterations" is recommended to be set whenever step criteria are used, since the step in the first iteration is always zero.

Input Parameters

  • postprocessorsPostprocessors to check

    C++ Type:std::vector<PostprocessorName>

    Unit:(no unit assumed)

    Controllable:No

    Description:Postprocessors to check

  • tolerancesTolerance for each Postprocessor

    C++ Type:std::vector<double>

    Unit:(no unit assumed)

    Controllable:No

    Description:Tolerance for each Postprocessor

Required Parameters

  • converge_at_max_iterationsFalseConverge at 'max_iterations' instead of diverging

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Converge at 'max_iterations' instead of diverging

  • descriptionsDescription of each Postprocessor. If not provided, the Postprocessor names are used as their descriptions.

    C++ Type:std::vector<std::string>

    Controllable:No

    Description:Description of each Postprocessor. If not provided, the Postprocessor names are used as their descriptions.

  • max_iterations50Maximum number of iterations

    Default:50

    C++ Type:unsigned int

    Controllable:No

    Description:Maximum number of iterations

  • min_iterations0Minimum number of iterations

    Default:0

    C++ Type:unsigned int

    Controllable:No

    Description:Minimum number of iterations

  • verboseFalseEnable printing of additional information, including convergence and divergence reasons.

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Enable printing of additional information, including convergence and divergence reasons.

Optional Parameters

  • control_tagsAdds user-defined labels for accessing object parameters via control logic.

    C++ Type:std::vector<std::string>

    Controllable:No

    Description:Adds user-defined labels for accessing object parameters via control logic.

  • enableTrueSet the enabled status of the MooseObject.

    Default:True

    C++ Type:bool

    Controllable:No

    Description:Set the enabled status of the MooseObject.

  • implicitTrueDetermines whether this object is calculated using an implicit or explicit form

    Default:True

    C++ Type:bool

    Controllable:No

    Description:Determines whether this object is calculated using an implicit or explicit form

Advanced Parameters

Input Files