- id_nameName of integer ID set
C++ Type:std::string
Unit:(no unit assumed)
Controllable:No
Description:Name of integer ID set
- inputsThe input MeshGenerators.
C++ Type:std::vector<MeshGeneratorName>
Unit:(no unit assumed)
Controllable:No
Description:The input MeshGenerators.
- patternA double-indexed array starting with the upper-left corner
C++ Type:std::vector<std::vector<unsigned int>>
Unit:(no unit assumed)
Controllable:No
Description:A double-indexed array starting with the upper-left corner
CartesianIDPatternedMeshGenerator
Generate Certesian lattice meshes with reporting ID assignment that indentifies individual components of lattice.
Overview
The CartesianIDPatternedMeshGenerator
object generates a 2D Cartesian lattice mesh with reporting ID
assignments. This object inherits the functionality of the lattice mesh generator named PatternedMeshGenerator
that stitches together Cartesian cells, and adds additional functionality to assign reporting IDs to lattice cells. The object can be used successively on its own output mesh to add IDs on the pin and assembly levels, for example.
Reporting ID Information
The CartesianIDPatternedMeshGenerator
object adopts the existing input structures of PatternedMeshGenerator
for geometry building and uses additional keywords to control the reporting ID assignment.
A user can select an ID assignment scheme using "assign_type", and the following schemes are currently available:
cell
(default): Assign unique IDs for each component in the lattice in sequential order.pattern
: Assign IDs based on the ID of the input tiles.manual
: Assign IDs based on user-defined mapping defined in "id_pattern".
The default numbering scheme starts at 0 in the upper left hand corner of the grid and increments by 1 as the grid is traversed left to right, top to bottom. The name of the reporting ID is provided through "id_name" depending on the hierarchical level of component. For example, the reporting IDs for individual pins (pin_id
) can be assigned when assemblies are built, because the IDs for pin level are uniquely determined from the pin arrangement within each assembly type. The ID values themselves are stored as extra element integers on the mesh. Similarly, the assembly reporting IDs (assembly_id
) are assigned in the core construction process.
Certain regions can be excluded from being labeled with an ID, for example dummy regions that will later be deleted. This can be accommodated by listing mesh objects in the "exclude_id" input parameter. IDs will not be assigned to these mesh objects. Usage of this parameter is helpful to retain sequential numbering when dummy region are later deleted, or to only label areas of interest.
Example Syntax
In this example, the CartesianIDPatternedMeshGenerator
is used to generate a Cartesian assembly with pin reporting IDs (pin_id
).
Input Parameters
- assign_typecellType of integer ID assignment
Default:cell
C++ Type:MooseEnum
Unit:(no unit assumed)
Controllable:No
Description:Type of integer ID assignment
- bottom_boundarybottomname of the bottom (y) boundary
Default:bottom
C++ Type:BoundaryName
Unit:(no unit assumed)
Controllable:No
Description:name of the bottom (y) boundary
- exclude_idName of input meshes to be excluded in ID generation
C++ Type:std::vector<MeshGeneratorName>
Unit:(no unit assumed)
Controllable:No
Description:Name of input meshes to be excluded in ID generation
- id_patternUser-defined element IDs. A double-indexed array starting with the upper-left corner
C++ Type:std::vector<std::vector<unsigned long>>
Unit:(no unit assumed)
Controllable:No
Description:User-defined element IDs. A double-indexed array starting with the upper-left corner
- left_boundaryleftname of the left (x) boundary
Default:left
C++ Type:BoundaryName
Unit:(no unit assumed)
Controllable:No
Description:name of the left (x) boundary
- right_boundaryrightname of the right (x) boundary
Default:right
C++ Type:BoundaryName
Unit:(no unit assumed)
Controllable:No
Description:name of the right (x) boundary
- top_boundarytopname of the top (y) boundary
Default:top
C++ Type:BoundaryName
Unit:(no unit assumed)
Controllable:No
Description:name of the top (y) boundary
- x_width0The tile width in the x direction
Default:0
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:The tile width in the x direction
- y_width0The tile width in the y direction
Default:0
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:The tile width in the y direction
- z_width0The tile width in the z direction
Default:0
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:The tile width in the z direction
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)