SamplerTransientMultiApp

The SamplerTransientMultiApp simply creates a transient-type sub application (see MultiApps) for each row of each matrix returned from the Sampler object.

This object is capable of running in batch mode by setting the 'mode' parameter. For more information refer to Stochastic Tools Batch Mode.

Defining Minimum Processors Per App

It is often useful to define the minimum processors to use when running sub-applications. Typically this is done for large models in batch mode to avoid excessive memory usage. The "min_procs_per_app" will utilize this capability, however it is required that the "min_procs_per_row" parameter in the Samplers block be set to the same value. This is to enusre that the sampler partitioning is equivalent to the multiapp partitioning.

Example Syntax

[MultiApps]
  [runner]
    type = SamplerTransientMultiApp
    sampler = mc
    input_files = 'sub.i'
  []
[]
(modules/stochastic_tools/test/tests/multiapps/sampler_transient_multiapp/master_transient.i)

Input Parameters

  • input_filesThe input file for each App. If this parameter only contains one input file it will be used for all of the Apps. When using 'positions_from_file' it is also admissable to provide one input_file per file.

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

    Controllable:No

    Description:The input file for each App. If this parameter only contains one input file it will be used for all of the Apps. When using 'positions_from_file' it is also admissable to provide one input_file per file.

  • samplerThe Sampler object to utilize for creating MultiApps.

    C++ Type:SamplerName

    Controllable:No

    Description:The Sampler object to utilize for creating MultiApps.

Required Parameters

  • app_typeThe type of application to build (applications not registered can be loaded with dynamic libraries. Master application type will be used if not provided.

    C++ Type:MooseEnum

    Options:CombinedApp, CombinedTestApp, ThermalHydraulicsApp

    Controllable:No

    Description:The type of application to build (applications not registered can be loaded with dynamic libraries. Master application type will be used if not provided.

  • bounding_box_inflation0.01Relative amount to 'inflate' the bounding box of this MultiApp.

    Default:0.01

    C++ Type:double

    Controllable:No

    Description:Relative amount to 'inflate' the bounding box of this MultiApp.

  • bounding_box_padding0 0 0Additional padding added to the dimensions of the bounding box. The values are added to the x, y and z dimension respectively.

    Default:0 0 0

    C++ Type:libMesh::Point

    Controllable:No

    Description:Additional padding added to the dimensions of the bounding box. The values are added to the x, y and z dimension respectively.

  • catch_upFalseIf true this will allow failed solves to attempt to 'catch up' using smaller timesteps.

    Default:False

    C++ Type:bool

    Controllable:No

    Description:If true this will allow failed solves to attempt to 'catch up' using smaller timesteps.

  • cli_argsAdditional command line arguments to pass to the sub apps. If one set is provided the arguments are applied to all, otherwise there must be a set for each sub app.

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

    Controllable:Yes

    Description:Additional command line arguments to pass to the sub apps. If one set is provided the arguments are applied to all, otherwise there must be a set for each sub app.

  • cli_args_filesFile names that should be looked in for additional command line arguments to pass to the sub apps. Each line of a file is set to each sub app. If only one line is provided, it will be applied to all sub apps.

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

    Controllable:No

    Description:File names that should be looked in for additional command line arguments to pass to the sub apps. Each line of a file is set to each sub app. If only one line is provided, it will be applied to all sub apps.

  • clone_master_meshFalseTrue to clone master mesh and use it for this MultiApp.

    Default:False

    C++ Type:bool

    Controllable:No

    Description:True to clone master mesh and use it for this MultiApp.

  • detect_steady_stateFalseIf true then while sub_cycling a steady state check will be done. In this mode output will only be done once the MultiApp reaches the target time or steady state is reached

    Default:False

    C++ Type:bool

    Controllable:No

    Description:If true then while sub_cycling a steady state check will be done. In this mode output will only be done once the MultiApp reaches the target time or steady state is reached

  • execute_onTIMESTEP_BEGINThe list of flag(s) indicating when this object should be executed, the available options include NONE, INITIAL, LINEAR, NONLINEAR, TIMESTEP_END, TIMESTEP_BEGIN, FINAL, CUSTOM, ALWAYS.

    Default:TIMESTEP_BEGIN

    C++ Type:ExecFlagEnum

    Options:NONE, INITIAL, LINEAR, NONLINEAR, TIMESTEP_END, TIMESTEP_BEGIN, FINAL, CUSTOM, ALWAYS

    Controllable:No

    Description:The list of flag(s) indicating when this object should be executed, the available options include NONE, INITIAL, LINEAR, NONLINEAR, TIMESTEP_END, TIMESTEP_BEGIN, FINAL, CUSTOM, ALWAYS.

  • global_time_offset0The time offset relative to the master application for the purpose of starting a subapp at different time from the master application. The global time will be ahead by the offset specified here.

    Default:0

    C++ Type:double

    Controllable:No

    Description:The time offset relative to the master application for the purpose of starting a subapp at different time from the master application. The global time will be ahead by the offset specified here.

  • interpolate_transfersFalseOnly valid when sub_cycling. This allows transferred values to be interpolated over the time frame the MultiApp is executing over when sub_cycling

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Only valid when sub_cycling. This allows transferred values to be interpolated over the time frame the MultiApp is executing over when sub_cycling

  • keep_solution_during_restoreFalseThis is useful when doing MultiApp coupling iterations. It takes the final solution from the previous coupling iterationand re-uses it as the initial guess for the next coupling iteration

    Default:False

    C++ Type:bool

    Controllable:No

    Description:This is useful when doing MultiApp coupling iterations. It takes the final solution from the previous coupling iterationand re-uses it as the initial guess for the next coupling iteration

  • library_nameThe file name of the library (*.la file) that will be dynamically loaded.

    C++ Type:std::string

    Controllable:No

    Description:The file name of the library (*.la file) that will be dynamically loaded.

  • library_pathPath to search for dynamic libraries (please avoid committing absolute paths in addition to MOOSE_LIBRARY_PATH)

    C++ Type:std::string

    Controllable:No

    Description:Path to search for dynamic libraries (please avoid committing absolute paths in addition to MOOSE_LIBRARY_PATH)

  • max_catch_up_steps2Maximum number of steps to allow an app to take when trying to catch back up after a failed solve.

    Default:2

    C++ Type:double

    Controllable:No

    Description:Maximum number of steps to allow an app to take when trying to catch back up after a failed solve.

  • max_failures0Maximum number of solve failures tolerated while sub_cycling.

    Default:0

    C++ Type:unsigned int

    Controllable:No

    Description:Maximum number of solve failures tolerated while sub_cycling.

  • max_procs_per_app4294967295Maximum number of processors to give to each App in this MultiApp. Useful for restricting small solves to just a few procs so they don't get spread out

    Default:4294967295

    C++ Type:unsigned int

    Controllable:No

    Description:Maximum number of processors to give to each App in this MultiApp. Useful for restricting small solves to just a few procs so they don't get spread out

  • min_procs_per_app1Minimum number of processors to give to each App in this MultiApp. Useful for larger, distributed mesh solves.

    Default:1

    C++ Type:unsigned int

    Controllable:No

    Description:Minimum number of processors to give to each App in this MultiApp. Useful for larger, distributed mesh solves.

  • modenormalThe operation mode, 'normal' creates one sub-application for each row in the Sampler and 'batch' creates on sub-application for each processor and re-executes for each row.

    Default:normal

    C++ Type:MooseEnum

    Options:normal, batch-reset, batch-restore

    Controllable:No

    Description:The operation mode, 'normal' creates one sub-application for each row in the Sampler and 'batch' creates on sub-application for each processor and re-executes for each row.

  • output_sub_cyclesFalseIf true then every sub-cycle will be output.

    Default:False

    C++ Type:bool

    Controllable:No

    Description:If true then every sub-cycle will be output.

  • print_sub_cyclesTrueToggle the display of sub-cycles on the screen.

    Default:True

    C++ Type:bool

    Controllable:No

    Description:Toggle the display of sub-cycles on the screen.

  • steady_state_tol1e-08The relative difference between the new solution and the old solution that will be considered to be at steady state

    Default:1e-08

    C++ Type:double

    Controllable:No

    Description:The relative difference between the new solution and the old solution that will be considered to be at steady state

  • sub_cyclingFalseSet to true to allow this MultiApp to take smaller timesteps than the rest of the simulation. More than one timestep will be performed for each 'master' timestep

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Set to true to allow this MultiApp to take smaller timesteps than the rest of the simulation. More than one timestep will be performed for each 'master' timestep

  • tolerate_failureFalseIf true this MultiApp won't participate in dt decisions and will always be fast-forwarded to the current time.

    Default:False

    C++ Type:bool

    Controllable:No

    Description:If true this MultiApp won't participate in dt decisions and will always be fast-forwarded to the current time.

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

    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

  • 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

  • relaxation_factor1Fraction of newly computed value to keep.Set between 0 and 2.

    Default:1

    C++ Type:double

    Controllable:No

    Description:Fraction of newly computed value to keep.Set between 0 and 2.

  • transformed_postprocessorsList of subapp postprocessors to use coupling algorithm on during Multiapp coupling iterations

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

    Controllable:No

    Description:List of subapp postprocessors to use coupling algorithm on during Multiapp coupling iterations

  • transformed_variablesList of subapp variables to use coupling algorithm on during Multiapp coupling iterations

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

    Controllable:No

    Description:List of subapp variables to use coupling algorithm on during Multiapp coupling iterations

Fixed Point Acceleration Of Multiapp Quantities Parameters

  • reset_appsThe Apps that will be reset when 'reset_time' is hit. These are the App 'numbers' starting with 0 corresponding to the order of the App positions. Resetting an App means that it is destroyed and recreated, possibly modeling the insertion of 'new' material for that app.

    C++ Type:std::vector<unsigned int>

    Controllable:No

    Description:The Apps that will be reset when 'reset_time' is hit. These are the App 'numbers' starting with 0 corresponding to the order of the App positions. Resetting an App means that it is destroyed and recreated, possibly modeling the insertion of 'new' material for that app.

  • reset_time1.79769e+308The time at which to reset Apps given by the 'reset_apps' parameter. Resetting an App means that it is destroyed and recreated, possibly modeling the insertion of 'new' material for that app.

    Default:1.79769e+308

    C++ Type:double

    Controllable:No

    Description:The time at which to reset Apps given by the 'reset_apps' parameter. Resetting an App means that it is destroyed and recreated, possibly modeling the insertion of 'new' material for that app.

Reset Multiapp Parameters Parameters

Input Files