SamplerPostprocessorTransfer

Transfers data from Postprocessors on the sub-application to a VectorPostprocessor on the master application.

Overview

This object is designed to transfer data from a Postprocessor to a VectorPostprocessor on the parent application. This object must transfer data to a StochasticResults object.

Dealing with Failed Solves

When performing stochastic analysis with many perturbations of a sub-application, it is sometimes the case where the app receives a set of parameters that makes the solve difficult to converge. With the default configuration of this object, if one of sub-applications' solve fails, the main application will abort. If it is expected that some solves might not converge and aborting the main application is not the desired behavior, the parameter "ignore_solve_not_converge" must be set to true in the MultiApps block (see SamplerFullSolveMultiApp for more details). There are two options for how to transfer results from failed sub-applications: 1) "keep_solve_fail_value" is set to false (default) will transfer a NaN to StochasticResults and 2) "keep_solve_fail_value" is set to true will transfer whatever the last computed value of the postprocessor was before the solve failed.

Example Syntax

[Transfers]
  [runner]
    type = SamplerParameterTransfer
    to_multi_app = sub
    sampler = sobol
    parameters = 'BCs/left/value BCs/right/value'
    execute_on = INITIAL
    check_multiapp_execute_on = false
  []
  [data]
    type = SamplerPostprocessorTransfer
    from_multi_app = sub
    sampler = sobol
    to_vector_postprocessor = storage
    from_postprocessor = avg
    execute_on = TIMESTEP_BEGIN
    check_multiapp_execute_on = false
  []
[]
(modules/stochastic_tools/test/tests/transfers/sampler_postprocessor/parent.i)

Input Parameters

  • check_multiapp_execute_onFalseWhen false the check between the multiapp and transfer execute on flags is not performed.

    Default:False

    C++ Type:bool

    Controllable:No

    Description:When false the check between the multiapp and transfer execute on flags is not performed.

  • displaced_source_meshFalseWhether or not to use the displaced mesh for the source mesh.

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Whether or not to use the displaced mesh for the source mesh.

  • displaced_target_meshFalseWhether or not to use the displaced mesh for the target mesh.

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Whether or not to use the displaced mesh for the target mesh.

  • execute_onSAME_AS_MULTIAPPThe list of flag(s) indicating when this object should be executed, the available options include FORWARD, ADJOINT, HOMOGENEOUS_FORWARD, ADJOINT_TIMESTEP_BEGIN, ADJOINT_TIMESTEP_END, NONE, INITIAL, LINEAR, NONLINEAR, POSTCHECK, TIMESTEP_END, TIMESTEP_BEGIN, MULTIAPP_FIXED_POINT_END, MULTIAPP_FIXED_POINT_BEGIN, FINAL, CUSTOM, SAME_AS_MULTIAPP.

    Default:SAME_AS_MULTIAPP

    C++ Type:ExecFlagEnum

    Options:FORWARD, ADJOINT, HOMOGENEOUS_FORWARD, ADJOINT_TIMESTEP_BEGIN, ADJOINT_TIMESTEP_END, NONE, INITIAL, LINEAR, NONLINEAR, POSTCHECK, TIMESTEP_END, TIMESTEP_BEGIN, MULTIAPP_FIXED_POINT_END, MULTIAPP_FIXED_POINT_BEGIN, FINAL, CUSTOM, SAME_AS_MULTIAPP

    Controllable:No

    Description:The list of flag(s) indicating when this object should be executed, the available options include FORWARD, ADJOINT, HOMOGENEOUS_FORWARD, ADJOINT_TIMESTEP_BEGIN, ADJOINT_TIMESTEP_END, NONE, INITIAL, LINEAR, NONLINEAR, POSTCHECK, TIMESTEP_END, TIMESTEP_BEGIN, MULTIAPP_FIXED_POINT_END, MULTIAPP_FIXED_POINT_BEGIN, FINAL, CUSTOM, SAME_AS_MULTIAPP.

  • from_multi_appThe name of the MultiApp to receive data from

    C++ Type:MultiAppName

    Controllable:No

    Description:The name of the MultiApp to receive data from

  • from_postprocessorThe name(s) of the Postprocessor(s) on the sub-app to transfer from.

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

    Controllable:No

    Description:The name(s) of the Postprocessor(s) on the sub-app to transfer from.

  • keep_solve_fail_valueFalseIf true, whatever the value the sub app has upon exitting is used. If false, NaN will be transferred.

    Default:False

    C++ Type:bool

    Controllable:No

    Description:If true, whatever the value the sub app has upon exitting is used. If false, NaN will be transferred.

  • prefixUse the supplied string as the prefix for vector postprocessor name rather than the transfer name.

    C++ Type:std::string

    Controllable:No

    Description:Use the supplied string as the prefix for vector postprocessor name rather than the transfer name.

  • samplerA the Sampler object that Transfer is associated..

    C++ Type:SamplerName

    Controllable:No

    Description:A the Sampler object that Transfer is associated..

  • to_multi_appThe name of the MultiApp to transfer the data to

    C++ Type:MultiAppName

    Controllable:No

    Description:The name of the MultiApp to transfer the data to

  • to_vector_postprocessorThe name of the VectorPostprocessor in the MultiApp to transfer values to.

    C++ Type:VectorPostprocessorName

    Controllable:No

    Description:The name of the VectorPostprocessor in the MultiApp to transfer values to.

Optional Parameters

  • _called_legacy_paramsTrue

    Default:True

    C++ Type:bool

    Controllable:No

  • 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:Yes

    Description:Set the enabled status of the MooseObject.

  • skip_coordinate_collapsingTrueWhether to skip coordinate collapsing (translation and rotation are still performed, only XYZ, RZ etc collapsing is skipped) when performing mapping and inverse mapping coordinate transformation operations. This parameter should only be set by users who really know what they're doing.

    Default:True

    C++ Type:bool

    Controllable:No

    Description:Whether to skip coordinate collapsing (translation and rotation are still performed, only XYZ, RZ etc collapsing is skipped) when performing mapping and inverse mapping coordinate transformation operations. This parameter should only be set by users who really know what they're doing.

  • use_displaced_meshFalseWhether or not this object should use the displaced mesh for computation. Note that in the case this is true but no displacements are provided in the Mesh block the undisplaced mesh will still be used.

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Whether or not this object should use the displaced mesh for computation. Note that in the case this is true but no displacements are provided in the Mesh block the undisplaced mesh will still be used.

Advanced Parameters

Input Files