- num_sectorsNumber of azimuthal sectors in each quadrant. 'num_sectors' must be an even number.
C++ Type:unsigned int
Controllable:No
Description:Number of azimuthal sectors in each quadrant. 'num_sectors' must be an even number.
- number_of_columnsNumber of columns.
C++ Type:unsigned int
Controllable:No
Description:Number of columns.
- number_of_rowsNumber of rows.
C++ Type:unsigned int
Controllable:No
Description:Number of rows.
- pitchPitch between rods.
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Pitch between rods.
- slices_per_blockFor cases with only cladding, this is a single number providing the total number of slices for the cladding. For cases with fuel, this is the number of slices per fuel block. Multiple values are provided if multiple fuel blocks are used.
C++ Type:std::vector<unsigned int>
Controllable:No
Description:For cases with only cladding, this is a single number providing the total number of slices for the cladding. For cases with fuel, this is the number of slices per fuel block. Multiple values are provided if multiple fuel blocks are used.
Layered2DArray
Description
Layered2DArray simplifies creation of arrays of meshes built by Layered2DMeshGenerator. Without this class, input files for analyses of arrays of meshes must create the meshes one at a time, with each mesh requiring a rotation and translation step. Additionally, a final combining step to merge all the meshes together is also necessary.
Layered2DArray creates an associated Layered2DFuelPinGeometry object for each mesh object created.
The indexing used to identify fuel rods is i_j where i is the x-index (column) and j is the y-index (row). Index i is defined from left to right, and index j is defined from bottom to top. The i_j label is prepended to the block names. That is, 0_1_fuel would be the block name for the fuel block in the zeroth column and first row in the array. The same i_j label is prepended to the names of the Layered2DFuelPinGeometry objects. The name corresponding to the 0_1 position would be 0_1_fuel_pin_geometry.
Block and boundary ids increase from rod to rod by the amount specified by the id_offset parameter (10 is the default).
These conventions are shown in Figure 1.
Figure 1: Diagram of a the numbering convention for meshes built with Layered2DArray. Block and boundary id offsets are in white. The fuel rod identifiers i_j are shown in black with row and column indices also in black.
New sidesets are created named left, bottom, right, and top. These are along the appropriate sides of rods along the edges of the domain.
Example Input Syntax
[Mesh<<<{"href": "../index.html"}>>>]
[Layered2DArray<<<{"href": "index.html"}>>>]
axial_direction<<<{"description": "The direction perpendicular to the circular cross section."}>>> = z
num_sectors<<<{"description": "Number of azimuthal sectors in each quadrant. 'num_sectors' must be an even number."}>>> = 10
slices_per_block<<<{"description": "For cases with only cladding, this is a single number providing the total number of slices for the cladding. For cases with fuel, this is the number of slices per fuel block. Multiple values are provided if multiple fuel blocks are used."}>>> = 1
clad_thickness<<<{"description": "Thickness of cladding."}>>> = 0.56e-3
clad_gap_width<<<{"description": "Gap between maximum outer radius of pellet and inside surface of cladding."}>>> = 8e-5
fuel_height<<<{"description": "Height of the fuel."}>>> = 0.1
include_plenum<<<{"description": "Whether to include the plenum."}>>> = true
plenum_height<<<{"description": "Height of the plenum, including above and below the fuel."}>>> = 0.05
pellet_bottom_coor<<<{"description": "Axial location of the start of the fuel stack."}>>> = 0.0
pellet_outer_radius<<<{"description": "Pellet outer radius. If more than one given, number must match number of fuel blocks."}>>> = 0.0041
pellet_mesh_density<<<{"description": "Sets the mesh density of the pellet (coarse, medium, fine, customize)."}>>> = coarse
clad_mesh_density<<<{"description": "Sets the mesh density of the cladding (coarse, medium, fine, customize)."}>>> = coarse
compress_boundary_ids<<<{"description": "Whether to compress the boundary IDs into a consecutive list."}>>> = true
id_offset<<<{"description": "The offset to use for boundary and block ids between rods."}>>> = 100
[]
[](test/tests/layered2D/arrayAction.i)Input Parameters
- active__all__ If specified only the blocks named will be visited and made active
Default:__all__
C++ Type:std::vector<std::string>
Controllable:No
Description:If specified only the blocks named will be visited and made active
- additional_block_namesThe names assigned to the blocks representing the additional rings.
C++ Type:std::vector<std::string>
Controllable:No
Description:The names assigned to the blocks representing the additional rings.
- additional_elements_per_ringThe number of elements through the additional rings. Must be the same length as additional_ring_thicknesses.
C++ Type:std::vector<unsigned int>
Controllable:No
Description:The number of elements through the additional rings. Must be the same length as additional_ring_thicknesses.
- additional_ring_thicknessesThe thicknesses of additional rings.
C++ Type:std::vector<double>
Unit:(no unit assumed)
Controllable:No
Description:The thicknesses of additional rings.
- all_bottom_leftFalseWhether to generate sidesets for every bottom and left surface of mesh blocks.
Default:False
C++ Type:bool
Controllable:No
Description:Whether to generate sidesets for every bottom and left surface of mesh blocks.
- axial_directionzThe direction perpendicular to the circular cross section.
Default:z
C++ Type:MooseEnum
Controllable:No
Description:The direction perpendicular to the circular cross section.
- clad_gap_width2.5e-05Gap between maximum outer radius of pellet and inside surface of cladding.
Default:2.5e-05
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Gap between maximum outer radius of pellet and inside surface of cladding.
- clad_mesh_densitymediumSets the mesh density of the cladding (coarse, medium, fine, customize).
Default:medium
C++ Type:MooseEnum
Controllable:No
Description:Sets the mesh density of the cladding (coarse, medium, fine, customize).
- clad_thickness0.00041Thickness of cladding.
Default:0.00041
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Thickness of cladding.
- compress_boundary_idsFalseWhether to compress the boundary IDs into a consecutive list.
Default:False
C++ Type:bool
Controllable:No
Description:Whether to compress the boundary IDs into a consecutive list.
- elem_typequad8Whether to generate quad8 or quad4 elements.
Default:quad8
C++ Type:MooseEnum
Controllable:No
Description:Whether to generate quad8 or quad4 elements.
- fuel_heightHeight of the fuel.
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Height of the fuel.
- id_offset2000The offset to use for boundary and block ids between rods.
Default:2000
C++ Type:short
Controllable:No
Description:The offset to use for boundary and block ids between rods.
- inactiveIf specified blocks matching these identifiers will be skipped.
C++ Type:std::vector<std::string>
Controllable:No
Description:If specified blocks matching these identifiers will be skipped.
- include_cladTrueWhether to include the clad block.
Default:True
C++ Type:bool
Controllable:No
Description:Whether to include the clad block.
- include_fuelTrueWhether to include the fuel block.
Default:True
C++ Type:bool
Controllable:No
Description:Whether to include the fuel block.
- include_plenumTrueWhether to include the plenum.
Default:True
C++ Type:bool
Controllable:No
Description:Whether to include the plenum.
- liner_thickness0Thickness of liner on interior of cladding.
Default:0
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Thickness of liner on interior of cladding.
- mps_depth0 Radial depth of MPS. If more than one given, number must match the number of fuel blocks.
Default:0
C++ Type:std::vector<double>
Unit:(no unit assumed)
Controllable:No
Description:Radial depth of MPS. If more than one given, number must match the number of fuel blocks.
- name_prefixIf provided, prefix the built in boundary names with this string
C++ Type:std::string
Controllable:No
Description:If provided, prefix the built in boundary names with this string
- nr_c2Number of cladding elements in radial direction.
Default:2
C++ Type:unsigned int
Controllable:No
Description:Number of cladding elements in radial direction.
- nr_p4Number of fuel elements in radial direction of the outer ring outside the inner quadrilateral portion of the fuel mesh.
Default:4
C++ Type:unsigned int
Controllable:No
Description:Number of fuel elements in radial direction of the outer ring outside the inner quadrilateral portion of the fuel mesh.
- offsetsOffset of each fuel slice block (x and y for each block).
C++ Type:std::vector<double>
Unit:(no unit assumed)
Controllable:No
Description:Offset of each fuel slice block (x and y for each block).
- pellet_bottom_coor0.00324Axial location of the start of the fuel stack.
Default:0.00324
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Axial location of the start of the fuel stack.
- pellet_inner_radius0 Pellet inner radius. If more than one given, number must match number of fuel blocks.
Default:0
C++ Type:std::vector<double>
Unit:(no unit assumed)
Controllable:No
Description:Pellet inner radius. If more than one given, number must match number of fuel blocks.
- pellet_mesh_densitymediumSets the mesh density of the pellet (coarse, medium, fine, customize).
Default:medium
C++ Type:MooseEnum
Controllable:No
Description:Sets the mesh density of the pellet (coarse, medium, fine, customize).
- pellet_outer_radius0.0041 Pellet outer radius. If more than one given, number must match number of fuel blocks.
Default:0.0041
C++ Type:std::vector<double>
Unit:(no unit assumed)
Controllable:No
Description:Pellet outer radius. If more than one given, number must match number of fuel blocks.
- plenum_heightHeight of the plenum, including above and below the fuel.
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Height of the plenum, including above and below the fuel.
- portionfullControl of which part of mesh is created
Default:full
C++ Type:MooseEnum
Controllable:No
Description:Control of which part of mesh is created
- slice_heightsNeeded if uniform_slice_heights is false. Height of each slice. The number of slices provided must be the total number of fuel slices, plus one slice for the plenum, if a plenum is used, plus one slice for the lower plenum, if a lower plenum is used. This equals the number of slices in the cladding.
C++ Type:std::vector<double>
Unit:(no unit assumed)
Controllable:No
Description:Needed if uniform_slice_heights is false. Height of each slice. The number of slices provided must be the total number of fuel slices, plus one slice for the plenum, if a plenum is used, plus one slice for the lower plenum, if a lower plenum is used. This equals the number of slices in the cladding.
- slices_within_upper_plenum1Number of slices within the upper plenum. By default, the upper plenum is treated as a single volume (#slices = 1).
Default:1
C++ Type:unsigned int
Controllable:No
Description:Number of slices within the upper plenum. By default, the upper plenum is treated as a single volume (#slices = 1).
- uniform_slice_heightsTrueWhether heights of fuel/cladding slices are uniform, excluding plenum height.
Default:True
C++ Type:bool
Controllable:No
Description:Whether heights of fuel/cladding slices are uniform, excluding plenum height.
- use_legacy_block_idsTrueWhether to use legacy block id convention.
Default:True
C++ Type:bool
Controllable:No
Description:Whether to use legacy block id convention.
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)