- hexagon_sizeSize of the hexagon to be generated.
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Size of the hexagon to be generated.
SimpleHexagonGenerator
This SimpleHexagonGenerator object is designed to generate a simple hexagonal mesh that only contains six simple azimuthal triangular elements, two quadrilateral elements, or six central azimuthal triangular elements plus a several layers of quadrilateral elements.
Overview
SimpleHexagonGenerator is a simple version of PolygonConcentricCircleMeshGenerator. This mesh generator meshes a simple hexagon with no pin. This mesh generator is commonly used to mesh homogenized pins or assemblies with either 6 triangular elements (default option, "element_type" as TRI
) or 2 quadrilateral elements ("element_type" as QUAD
, see Figure 2). No additional azimuthal or radial discretizations are permitted with these two options.
A third option is available to introduce additional radial layers in the form of concentric hexagonal zones using "element_type" as HYBRID
. In that case, the azimuthal discretization is identical to the TRI case (num_sectors_per_side
= {1, 1, 1, 1, 1, 1}) but the mesh can now have multiple radial layers of elements (i.e. triangular elements in the center and quadrilateral elements in the outer layers as shown in simple_hex_hybrid]). The number of layers is specified by [!param. It is important to note that this option creates two separate subdomains (one for TRI elements, one for QUAD elements), and requires two separate subdomain IDs rather than one.

Figure 1: A schematic drawing showing a typical simple hexagonal mesh generated by this SimpleHexagonGenerator
object with "element_type" as TRI
.

Figure 2: A hexagonal mesh generated by SimpleHexagonGenerator
with "element_type" as QUAD
.

Figure 3: A hexagonal mesh generated by SimpleHexagonGenerator
with "element_type" as HYBRID
(note the additional radial discretizations).
This mesh generator creates the same MeshMetaData
as PolygonConcentricCircleMeshGenerator
. The produced mesh can be used as inputs to PatternedHexMeshGenerator.
Example Syntax
(contrib/moose/modules/reactor/test/tests/meshgenerators/simple_hexagon_generator/sim_hex.i)Input Parameters
- element_typeTRIWhether the simple hexagon mesh is made of TRI or QUAD elements.
Default:TRI
C++ Type:MooseEnum
Unit:(no unit assumed)
Controllable:No
Description:Whether the simple hexagon mesh is made of TRI or QUAD elements.
- hexagon_size_styleapothemStyle in which the hexagon size is given (default: apothem i.e. half-pitch). Option: apothem radius
Default:apothem
C++ Type:MooseEnum
Unit:(no unit assumed)
Controllable:No
Description:Style in which the hexagon size is given (default: apothem i.e. half-pitch). Option: apothem radius
- radial_intervalsNumber of pin radial meshing rings (only applicable when 'element_type' is 'HYBRID').
C++ Type:unsigned int
Unit:(no unit assumed)
Controllable:No
Description:Number of pin radial meshing rings (only applicable when 'element_type' is 'HYBRID').
Optional Parameters
- block_idOptional customized block id; two ids are needed for HYBRID 'element_type'.
C++ Type:std::vector<unsigned short>
Unit:(no unit assumed)
Controllable:No
Description:Optional customized block id; two ids are needed for HYBRID 'element_type'.
- block_nameOptional customized block name; two names are needed for HYBRID 'element_type'.
C++ Type:std::vector<SubdomainName>
Unit:(no unit assumed)
Controllable:No
Description:Optional customized block name; two names are needed for HYBRID 'element_type'.
- external_boundary_idOptional customized external boundary id.
C++ Type:short
Unit:(no unit assumed)
Controllable:No
Description:Optional customized external boundary id.
- external_boundary_nameOptional customized external boundary name.
C++ Type:std::string
Unit:(no unit assumed)
Controllable:No
Description:Optional customized external boundary name.
Customized Subdomain/Boundary 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)