MeshRepairGenerator

Mesh generator to perform various improvement / fixing operations on an input mesh

Overview

The MeshRepairGenerator provides a collection of operations to repair defects / modify features in a mesh. If the defects/features are not present in the mesh, the MeshRepairGenerator does not modify the mesh. The operations currently implemented are:

  • overlapping node merges. This operation considers all nodes in the entire mesh and looks for nodes in neighboring elements that may overlap. If overlaps are found, only one node is kept.

  • flipping the orientation of negative volume elements. Negative volume elements can arise from a wrong orientation.

  • separating elements in subdomains into several subdomains depending on their element types. Subdomains with a mix of element types are not supported by Exodus output. The new split subdomains' names have the type of the element appended to their respective names.

  • merging boundaries with the same name but different boundary IDs.

Input Parameters

  • inputName of the mesh generator providing the mesh

    C++ Type:MeshGeneratorName

    Unit:(no unit assumed)

    Controllable:No

    Description:Name of the mesh generator providing the mesh

Required Parameters

  • fix_elements_orientationFalseWhether to flip elements with negative volumes

    Default:False

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:Whether to flip elements with negative volumes

  • fix_node_overlapFalseWhether to merge overlapping nodes

    Default:False

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:Whether to merge overlapping nodes

  • merge_boundary_ids_with_same_nameFalseMerge boundaries if they have the same name but different boundary IDs

    Default:False

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:Merge boundaries if they have the same name but different boundary IDs

  • node_overlap_tol1e-08Absolute tolerance for merging overlapping nodes

    Default:1e-08

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Absolute tolerance for merging overlapping nodes

  • separate_blocks_by_element_typesFalseCreate new blocks if multiple element types are present in a block

    Default:False

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:Create new blocks if multiple element types are present in a block

Optional Parameters

  • control_tagsAdds user-defined labels for accessing object parameters via control logic.

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

    Unit:(no unit assumed)

    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

    Unit:(no unit assumed)

    Controllable:No

    Description:Set the enabled status of the MooseObject.

  • save_with_nameKeep the mesh from this mesh generator in memory with the name specified

    C++ Type:std::string

    Unit:(no unit assumed)

    Controllable:No

    Description:Keep the mesh from this mesh generator in memory with the name specified

Advanced Parameters

  • nemesisFalseWhether or not to output the mesh file in the nemesisformat (only if output = true)

    Default:False

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:Whether or not to output the mesh file in the nemesisformat (only if output = true)

  • outputFalseWhether or not to output the mesh file after generating the mesh

    Default:False

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:Whether or not to output the mesh file after generating the mesh

  • show_infoFalseWhether or not to show mesh info after generating the mesh (bounding box, element types, sidesets, nodesets, subdomains, etc)

    Default:False

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:Whether or not to show mesh info after generating the mesh (bounding box, element types, sidesets, nodesets, subdomains, etc)

Debugging Parameters