PlaneIDMeshGenerator

Adds an extra element integer that identifies planes in a mesh.

Overview

The PlaneIDMeshGenerator object applies an extra IDs to axial planes defined in a extruded mesh.

Extra ID Control

The PlaneIDMeshGenerator takes a mesh object and its axial layer structure as input. This axial plane structure given in "plane_coordinates" contains a list of coordinates defining each plane from bottom to top. If there are N planes, N+1 coordinate points should be defined here.

If each axial plane is uniformly sub-divided into multiple layers during the extrusion, distinct extra IDs can be optionally assigned to individual layers in each plane. "num_ids_per_plane" defines the number of unique IDs in each plane defined in "plane_coordinates".

Note that this generator only works for extruded geometries where the concept of axial layer is valid. The axis of plane can be specified using "plane_axis".

Example Syntax

[Mesh]
  [pin2d]
    type = ConcentricCircleMeshGenerator
    num_sectors = 2
    radii = '0.4 0.5'
    rings = '1 1 1'
    has_outer_square = on
    pitch = 1.26
    preserve_volumes = yes
    smoothing_max_it = 3
  []
  [pin3d]
    type = AdvancedExtruderGenerator
    input = 'pin2d'
    heights = '5.0 5.0 5.0'
    direction = '0 0 1'
    num_layers = '2 2 2'
  []
  [pin3d_id]
    type = PlaneIDMeshGenerator
    input = 'pin3d'
    plane_coordinates = '0.0 5.0 10.0 15.0'
    num_ids_per_plane = ' 1 2 1'
    plane_axis = 'z'
    id_name = 'plane_id'
  []
[]
(moose/test/tests/meshgenerators/plane_id_mesh_generator/plane_id_pin3d.i)

Input Parameters

  • id_nameName of extra integer ID set

    C++ Type:std::string

    Unit:(no unit assumed)

    Controllable:No

    Description:Name of extra integer ID set

  • inputThe mesh we want to modify

    C++ Type:MeshGeneratorName

    Unit:(no unit assumed)

    Controllable:No

    Description:The mesh we want to modify

  • plane_coordinatesCoordinates of planes along the axis. The origin are at x/y/z=0 depending on the axis

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

    Unit:(no unit assumed)

    Controllable:No

    Description:Coordinates of planes along the axis. The origin are at x/y/z=0 depending on the axis

Required Parameters

  • num_ids_per_planeNumber of unique ids per plane

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

    Unit:(no unit assumed)

    Controllable:No

    Description:Number of unique ids per plane

  • plane_axiszAxis of plane

    Default:z

    C++ Type:MooseEnum

    Unit:(no unit assumed)

    Options:x, y, z

    Controllable:No

    Description:Axis of plane

  • tolerance0.0001Tolerance for plane coordinate check

    Default:0.0001

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Tolerance for plane coordinate check

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