SetupMeshAction

Add or create Mesh object to the simulation.

The SetupMeshAction is responsible for

  • setting the mesh base, which may come from MeshGenerators, from the legacy mesh loading (file parameter), or from a split mesh, a restart or a recovery process

  • the uniform refinement parameters

  • conversion from first to second order mesh

  • the creation of the displaced mesh

  • modifications to the mesh generation process when using split meshes

  • mesh initialization

More information about the Mesh may be found on the Mesh syntax documentation.

Input Parameters

  • 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

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

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

  • skip_deletion_repartition_after_refineFalseIf the flag is true, uniform refinements will run more efficiently, but at the same time, there might be extra ghosting elements. The number of layers of additional ghosting elements depends on the number of uniform refinement levels. This flag should be used only when you have a 'fine enough' coarse mesh and want to refine the mesh by a few levels. Otherwise, it might introduce an unbalanced workload and too large ghosting domain.

    Default:False

    C++ Type:bool

    Controllable:No

    Description:If the flag is true, uniform refinements will run more efficiently, but at the same time, there might be extra ghosting elements. The number of layers of additional ghosting elements depends on the number of uniform refinement levels. This flag should be used only when you have a 'fine enough' coarse mesh and want to refine the mesh by a few levels. Otherwise, it might introduce an unbalanced workload and too large ghosting domain.

  • uniform_refine0Specify the level of uniform refinement applied to the initial mesh

    Default:0

    C++ Type:unsigned int

    Controllable:No

    Description:Specify the level of uniform refinement applied to the initial mesh

  • use_displaced_meshTrueCreate the displaced mesh if the 'displacements' parameter is set. If this is 'false', a displaced mesh will not be created, regardless of whether 'displacements' is set.

    Default:True

    C++ Type:bool

    Controllable:No

    Description:Create the displaced mesh if the 'displacements' parameter is set. If this is 'false', a displaced mesh will not be created, regardless of whether 'displacements' is set.

Optional Parameters

  • block_idIDs of the block id/name pairs

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

    Controllable:No

    Description:IDs of the block id/name pairs

  • block_nameNames of the block id/name pairs (must correspond with "block_id"

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

    Controllable:No

    Description:Names of the block id/name pairs (must correspond with "block_id"

  • boundary_idIDs of the boundary id/name pairs

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

    Controllable:No

    Description:IDs of the boundary id/name pairs

  • boundary_nameNames of the boundary id/name pairs (must correspond with "boundary_id"

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

    Controllable:No

    Description:Names of the boundary id/name pairs (must correspond with "boundary_id"

Add Names Parameters

  • construct_side_list_from_node_listFalseIf true, construct side lists from the nodesets in the mesh (i.e. if every node on a give side is in a nodeset then add that side to a sideset

    Default:False

    C++ Type:bool

    Controllable:No

    Description:If true, construct side lists from the nodesets in the mesh (i.e. if every node on a give side is in a nodeset then add that side to a sideset

  • displacementsThe variables corresponding to the x y z displacements of the mesh. If this is provided then the displacements will be taken into account during the computation. Creation of the displaced mesh can be suppressed even if this is set by setting 'use_displaced_mesh = false'.

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

    Controllable:No

    Description:The variables corresponding to the x y z displacements of the mesh. If this is provided then the displacements will be taken into account during the computation. Creation of the displaced mesh can be suppressed even if this is set by setting 'use_displaced_mesh = false'.

  • ghosted_boundariesBoundaries to be ghosted if using Nemesis

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

    Controllable:No

    Description:Boundaries to be ghosted if using Nemesis

  • ghosted_boundaries_inflationIf you are using ghosted boundaries you will want to set this value to a vector of amounts to inflate the bounding boxes by. ie if you are running a 3D problem you might set it to '0.2 0.1 0.4'

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

    Controllable:No

    Description:If you are using ghosted boundaries you will want to set this value to a vector of amounts to inflate the bounding boxes by. ie if you are running a 3D problem you might set it to '0.2 0.1 0.4'

  • isObjectActionTrueIndicates that this is a MooseObjectAction.

    Default:True

    C++ Type:bool

    Controllable:No

    Description:Indicates that this is a MooseObjectAction.

  • second_orderFalseConverts a first order mesh to a second order mesh. Note: This is NOT needed if you are reading an actual first order mesh.

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Converts a first order mesh to a second order mesh. Note: This is NOT needed if you are reading an actual first order mesh.

  • skip_partitioningFalseIf true the mesh won't be partitioned. This may cause large load imbalances.

    Default:False

    C++ Type:bool

    Controllable:No

    Description:If true the mesh won't be partitioned. This may cause large load imbalances.

Advanced Parameters

  • split_fileOptional name of split mesh file(s) to write/read; is overridden by the --split-file command line option

    C++ Type:std::string

    Controllable:No

    Description:Optional name of split mesh file(s) to write/read; is overridden by the --split-file command line option

  • use_splitFalseUse split distributed mesh files; is overriden by the --use-split command line option

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Use split distributed mesh files; is overriden by the --use-split command line option

Split Mesh Parameters