CentroidMultiApp

!syntax description /MultiApps/CentroidMultiApp

Creates a sub-app at the centroid of every element in the master app. Extremely useful for doing multiscale solves

No special parameters, but this is BlockRestrictable so that you can restrict the sub-apps to only being generated on certain subdomains.

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

    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.

Required Parameters

  • 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)

  • 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

  • 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

  • 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.

  • 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.

  • 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.

  • 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.

  • 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.

  • 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.

  • move_positionsThe positions corresponding to each move_app.

    C++ Type:std::vector

    Description:The positions corresponding to each move_app.

  • 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.

  • 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.

  • 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

  • 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.

  • 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

  • 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.

  • 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

  • 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.

  • 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

  • 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

  • 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

  • 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

  • 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.

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.

Advanced Parameters