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 Figure 3). The number of layers is specified by "radial_intervals". 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.

A schematic drawing showing a typical simple hexagonal mesh generated by this `SimpleHexagonGenerator` object with [!param](/Mesh/SimpleHexagonGenerator/element_type) as `TRI`.

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

A hexagonal mesh generated by `SimpleHexagonGenerator` with [!param](/Mesh/SimpleHexagonGenerator/element_type) as `QUAD`.

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

A hexagonal mesh generated by `SimpleHexagonGenerator` with [!param](/Mesh/SimpleHexagonGenerator/element_type) as `HYBRID` (note the additional radial discretizations).

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

[Mesh<<<{"href": "../../syntax/Mesh/index.html"}>>>]
  [shg]
    type = SimpleHexagonGenerator<<<{"description": "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.", "href": "SimpleHexagonGenerator.html"}>>>
    hexagon_size<<<{"description": "Size of the hexagon to be generated."}>>> = 1.0
    block_id<<<{"description": "Optional customized block id; two ids are needed for HYBRID 'element_type'."}>>> = 100
    block_name<<<{"description": "Optional customized block name; two names are needed for HYBRID 'element_type'."}>>> = hexagon
    external_boundary_id<<<{"description": "Optional customized external boundary id."}>>> = 300
    external_boundary_name<<<{"description": "Optional customized external boundary name."}>>> = 'external_side'
  []
[]
(modules/reactor/test/tests/meshgenerators/simple_hexagon_generator/sim_hex.i)

Input Parameters

  • hexagon_sizeSize of the hexagon to be generated.

    C++ Type:Real

    Unit:(no unit assumed)

    Range:hexagon_size>0.0

    Controllable:No

    Description:Size of the hexagon to be generated.

Required Parameters

  • element_typeTRIWhether the simple hexagon mesh is made of TRI or QUAD elements.

    Default:TRI

    C++ Type:MooseEnum

    Options:TRI, QUAD, HYBRID

    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

    Options:apothem, radius

    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

    Range:radial_intervals>1

    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>

    Range:block_id>=0

    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>

    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

    Range:external_boundary_id>=0

    Controllable:No

    Description:Optional customized external boundary id.

  • external_boundary_nameOptional customized external boundary name.

    C++ Type:BoundaryName

    Controllable:No

    Description:Optional customized external boundary name.

Customized Subdomain/Boundary 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

Input Files