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<<<{"href": "../../syntax/Mesh/index.html"}>>>]
  [pin2d]
    type = ConcentricCircleMeshGenerator<<<{"description": "This ConcentricCircleMeshGenerator source code is to generate concentric circle meshes.", "href": "ConcentricCircleMeshGenerator.html"}>>>
    num_sectors<<<{"description": "num_sectors % 2 = 0, num_sectors > 0Number of azimuthal sectors in each quadrant'num_sectors' must be an even number."}>>> = 2
    radii<<<{"description": "Radii of major concentric circles"}>>> = '0.4 0.5'
    rings<<<{"description": "Number of rings in each circle or in the enclosing square"}>>> = '1 1 1'
    has_outer_square<<<{"description": "It determines if meshes for a outer square are added to concentric circle meshes."}>>> = on
    pitch<<<{"description": "The enclosing square can be added to the completed concentric circle mesh.Elements are quad meshes."}>>> = 1.26
    preserve_volumes<<<{"description": "Volume of concentric circles can be preserved using this function."}>>> = yes
    smoothing_max_it<<<{"description": "Number of Laplacian smoothing iterations"}>>> = 3
  []
  [pin3d]
    type = AdvancedExtruderGenerator<<<{"description": "Extrudes a 1D mesh into 2D, or a 2D mesh into 3D, and supports a variable height for each elevation, variable number of layers within each elevation, variable growth factors of axial element sizes within each elevation and remap subdomain_ids, boundary_ids and element extra integers within each elevation as well as interface boundaries between neighboring elevation layers, as well as following a 1D curve and modifying the radial (normal to the extrusion axis) extent of the geometry. It can also extrude each node along the averaged normal of the elements it is connected to, which is useful to create boundary layers.", "href": "AdvancedExtruderGenerator.html"}>>>
    input<<<{"description": "The mesh to extrude"}>>> = 'pin2d'
    heights<<<{"description": "The height of each elevation"}>>> = '5.0 5.0 5.0'
    direction<<<{"description": "A vector that points in the direction to extrude (note, this will be normalized internally - so don't worry about it here)"}>>> = '0 0 1'
    num_layers<<<{"description": "The number of layers for each elevation - must be num_elevations in length!"}>>> = '2 2 2'
  []
  [pin3d_id]
    type = PlaneIDMeshGenerator<<<{"description": "Adds an extra element integer that identifies planes in a mesh.", "href": "PlaneIDMeshGenerator.html"}>>>
    input<<<{"description": "The mesh we want to modify"}>>> = 'pin3d'
    plane_coordinates<<<{"description": "Coordinates of planes along the axis. The origin are at x/y/z=0 depending on the axis"}>>> = '0.0 5.0 10.0 15.0'
    num_ids_per_plane<<<{"description": "Number of unique ids per plane"}>>> = ' 1 2 1'
    plane_axis<<<{"description": "Axis of plane"}>>> = 'z'
    id_name<<<{"description": "Name of extra integer ID set"}>>> = '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

    Controllable:No

    Description:Name of extra integer ID set

  • inputThe mesh we want to modify

    C++ Type:MeshGeneratorName

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

    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>

    Controllable:No

    Description:Number of unique ids per plane

  • plane_axiszAxis of plane

    Default:z

    C++ Type:MooseEnum

    Options:x, y, z

    Controllable:No

    Description:Axis of plane

  • tolerance0.0001Tolerance for plane coordinate check

    Default:0.0001

    C++ Type:Real

    Unit:(no unit assumed)

    Controllable:No

    Description:Tolerance for plane coordinate check

Optional Parameters

  • 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