SingleParameterInverseSolve System

The SingleParameterInverseSolve block generates a complete fixed-point (Picard) inverse-solve workflow for a single time-dependent scalar parameter from one block.

See SingleParameterInverseSolveAction for the workflow, the complete list of generated objects, and the one required [Executioner] line (multiapp_fixed_point_convergence = single_parameter_inverse_solve_convergence).

Input Parameters

  • forward_inputForward-model sub-app input file.

    C++ Type:FileName

    Controllable:No

    Description:Forward-model sub-app input file.

  • sub_output_postprocessorSub-app postprocessor holding the output to match the target.

    C++ Type:PostprocessorName

    Unit:(no unit assumed)

    Controllable:No

    Description:Sub-app postprocessor holding the output to match the target.

  • sub_parameter_postprocessorSub-app postprocessor that receives the parameter value.

    C++ Type:PostprocessorName

    Unit:(no unit assumed)

    Controllable:No

    Description:Sub-app postprocessor that receives the parameter value.

  • target_functionTarget output f(t).

    C++ Type:FunctionName

    Unit:(no unit assumed)

    Controllable:No

    Description:Target output f(t).

Required Parameters

  • absolute_tolerance1e-08Absolute tolerance on |output - target|.

    Default:1e-08

    C++ Type:Real

    Unit:(no unit assumed)

    Range:absolute_tolerance>0

    Controllable:No

    Description:Absolute tolerance on |output - target|.

  • accept_on_max_iterationsFalseIf true, accept the current estimate when the fixed-point loop reaches max_iterations instead of diverging, cutting the time step, and erroring.

    Default:False

    C++ Type:bool

    Controllable:No

    Description:If true, accept the current estimate when the fixed-point loop reaches max_iterations instead of diverging, cutting the time step, and erroring.

  • active__all__ If specified only the blocks named will be visited and made active

    Default:__all__

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

    Controllable:No

    Description:If specified only the blocks named will be visited and made active

  • inactiveIf specified blocks matching these identifiers will be skipped.

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

    Controllable:No

    Description:If specified blocks matching these identifiers will be skipped.

  • initial_parameter1Initial guess for the parameter.

    Default:1

    C++ Type:Real

    Unit:(no unit assumed)

    Controllable:No

    Description:Initial guess for the parameter.

  • max_iterations50Maximum number of fixed-point iterations on the generated convergence. With method=newton each Newton update consumes two fixed-point iterations (a base and a perturbed solve), so the effective number of Newton updates is about half this value.

    Default:50

    C++ Type:unsigned int

    Controllable:No

    Description:Maximum number of fixed-point iterations on the generated convergence. With method=newton each Newton update consumes two fixed-point iterations (a base and a perturbed solve), so the effective number of Newton updates is about half this value.

  • methodsecantInversion update method.

    Default:secant

    C++ Type:MooseEnum

    Options:secant, newton

    Controllable:No

    Description:Inversion update method.

  • perturbation0.001Perturbation used to seed/compute the derivative (initial_delta for secant, parameter_delta for newton).

    Default:0.001

    C++ Type:Real

    Unit:(no unit assumed)

    Range:perturbation>0

    Controllable:No

    Description:Perturbation used to seed/compute the derivative (initial_delta for secant, parameter_delta for newton).

  • relative_tolerance1e-06Relative tolerance on |output - target|, relative to |target|.

    Default:1e-06

    C++ Type:Real

    Unit:(no unit assumed)

    Range:relative_tolerance>0

    Controllable:No

    Description:Relative tolerance on |output - target|, relative to |target|.

  • result_postprocessorinverse_parameterName of the created postprocessor holding the converged parameter (output to CSV).

    Default:inverse_parameter

    C++ Type:PostprocessorName

    Unit:(no unit assumed)

    Controllable:No

    Description:Name of the created postprocessor holding the converged parameter (output to CSV).

  • verboseFalseForwarded to the generated convergence: if true, it prints per-iteration convergence information, including the accept-on-max decision when accept_on_max_iterations is set.

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Forwarded to the generated convergence: if true, it prints per-iteration convergence information, including the accept-on-max decision when accept_on_max_iterations is set.

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.

Advanced Parameters

Available Actions

  • Optimization App
  • SingleParameterInverseSolveActionGenerates the full fixed-point inverse-solve workflow (forward sub-app, transfers, postprocessors, convergence, and a secant or Newton inversion control) from a single block.