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

    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

    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>

    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

    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

    Controllable:No

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

Advanced Parameters

  • included_boundariesA set of boundary names or ids whose sides will be included in the new sidesets

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

    Controllable:No

    Description:A set of boundary names or ids whose sides will be included in the new sidesets

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

    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

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

    Controllable:No

    Description:A set of subdomain names or ids whose sides will be included in the new sidesets

Sideset Restrictions Parameters

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

    Default:False

    C++ Type:bool

    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

    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

    Controllable:No

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

Debugging Parameters

Input Files