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

  • fixed_normalFalseThis Boolean determines whether we fix our normal or allow it to vary to "paint" around curves

    Default:False

    C++ Type:bool

    Controllable:No

    Description:This Boolean determines whether we fix our normal or allow it to vary to "paint" around curves

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

  • variance0.1The variance [0.0 - 1.0] allowed when comparing normals

    Default:0.1

    C++ Type:double

    Controllable:No

    Description:The variance [0.0 - 1.0] allowed when comparing normals

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

  • 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