AllSideSetsByNormalsGenerator

Adds sidesets to the entire mesh based on unique normals.

Overview

This mesh generator is useful for adding all possible sidesets to a mesh based on unique normal directions. It works well for more regular shapes that don't have curves or many disjoint surfaces with similar normals. If desired however, it is capable of following a slowly changing normal around a surface so that a curve can be assigned a single sideset. This is accomplished by setting fixed_normal to false. In this case a cylinder mesh can be given exactly three normals, one for the two and bottom respectively, and a third normal for the curved surface of the cylinder.

commentnote

The sideset number assignment is not predictable. This utility assigns sideset numbering based on the unique normals seen while iterating over the mesh. Further enhancements could be made to more carefully control this assignment.

Input Parameters

  • inputThe mesh we want to modify

    C++ Type:MeshGeneratorName

    Unit:(no unit assumed)

    Controllable:No

    Description:The mesh we want to modify

Required Parameters

  • replaceFalseIf true, replace the old sidesets. If false, the current sidesets (if any) will be preserved.

    Default:False

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:If true, replace the old sidesets. If false, the current sidesets (if any) will be preserved.

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

  • excluded_boundariesA set of boundary names or ids whose sides will be excluded from the new sidesets. A side is only added if does not belong to any of these boundaries.

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

    Unit:(no unit assumed)

    Controllable:No

    Description:A set of boundary names or ids whose sides will be excluded from the new sidesets. A side is only added if does not belong to any of these boundaries.

  • included_boundariesA set of boundary names or ids whose sides will be included in the new sidesets. A side is only added if it also belongs to one of these boundaries.

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

    Unit:(no unit assumed)

    Controllable:No

    Description:A set of boundary names or ids whose sides will be included in the new sidesets. A side is only added if it also belongs to one of these boundaries.

  • included_neighborsA set of neighboring subdomain names or ids. A face is only added if the subdomain id of the neighbor is in this set

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

    Unit:(no unit assumed)

    Controllable:No

    Description:A set of neighboring subdomain names or ids. A face is only added if the subdomain id of the neighbor is in this set

  • included_subdomainsA set of subdomain names or ids whose sides will be included in the new sidesets. A side is only added if the subdomain id of the corresponding element is in this set.

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

    Unit:(no unit assumed)

    Controllable:No

    Description:A set of subdomain names or ids whose sides will be included in the new sidesets. A side is only added if the subdomain id of the corresponding element is in this set.

Sideset Restrictions 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