- 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
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.
CentroidMultiApp
Automatically generates Sub-App positions from centroids of elements in the master mesh.
Description
Creates a sub-app at the centroid of every element in the master app, which can be leveraged for doing multiscale solves. This object requires no special parameters, but this is block restrictable so that the sub-applications can be restricted to only be generated on specified subdomains.
Example Input Syntax
The following code snippet demonstrates the creation of a CentroidMultiApp object.
[MultiApps]
[sub]
type = CentroidMultiApp
input_files = 'sub_app.i'
output_in_position = true
[]
[]
(test/tests/multiapps/centroid_multiapp/centroid_multiapp.i)Input 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
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.
- blockThe list of block ids (SubdomainID) that this object will be applied
C++ Type:std::vector
Description:The list of block ids (SubdomainID) that this object will be applied
- bounding_box_inflation0.01Relative amount to 'inflate' the bounding box of this MultiApp.
Default:0.01
C++ Type:double
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
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
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
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.
- clone_master_meshFalseTrue to clone master mesh and use it for this MultiApp.
Default:False
C++ Type:bool
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
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.
Default:TIMESTEP_BEGIN
C++ Type:ExecFlagEnum
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.
- 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
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
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 Picard with catch_up steps. It takes the solution from the final catch_up step and re-uses it as the initial guess for the next picard iteration
Default:False
C++ Type:bool
Description:This is useful when doing Picard with catch_up steps. It takes the solution from the final catch_up step and re-uses it as the initial guess for the next picard iteration
- library_nameThe file name of the library (*.la file) that will be dynamically loaded.
C++ Type:std::string
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
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
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
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
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
- move_appsApps, designated by their 'numbers' starting with 0 corresponding to the order of the App positions, to be moved at move_time to move_positions
C++ Type:std::vector
Description:Apps, designated by their 'numbers' starting with 0 corresponding to the order of the App positions, to be moved at move_time to move_positions
- move_positionsThe positions corresponding to each move_app.
C++ Type:std::vector
Description:The positions corresponding to each move_app.
- move_time1.79769e+308The time at which Apps designated by move_apps are moved to move_positions.
Default:1.79769e+308
C++ Type:double
Description:The time at which Apps designated by move_apps are moved to move_positions.
- output_in_positionFalseIf true this will cause the output from the MultiApp to be 'moved' by its position vector
Default:False
C++ Type:bool
Description:If true this will cause the output from the MultiApp to be 'moved' by its position vector
- output_sub_cyclesFalseIf true then every sub-cycle will be output.
Default:False
C++ Type:bool
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
Description:Toggle the display of sub-cycles on the screen.
- relaxation_factor1Fraction of newly computed value to keep.Set between 0 and 2.
Default:1
C++ Type:double
Description:Fraction of newly computed value to keep.Set between 0 and 2.
- relaxed_variablesList of variables to relax during Picard Iteration
C++ Type:std::vector
Description:List of variables to relax during Picard Iteration
- 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
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
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.
- 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
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
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
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
Description:Adds user-defined labels for accessing object parameters via control logic.
- enableTrueSet the enabled status of the MooseObject.
Default:True
C++ Type:bool
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
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
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.