MultiPostprocessorConvergence

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

where is the checked post-processor quantity (variable step norm or residual norm), 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. For example, for assessing convergence of the nonlinear solve, the value NONLINEAR_CONVERGENCE should be used. For assessing convergence of a MultiApp fixed point solve, the appropriate execute_on depends on when the MultiApps are executed and on the post-processor type. For example, for Residual, TIMESTEP_BEGIN is appropriate for MultiApps executing on TIMESTEP_BEGIN, and MULTIAPP_FIXED_POINT_CONVERGENCE is appropriate for MultiApps executing on TIMESTEP_END. See SetupInterface for details on different execution points.

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