- inputThe input mesh to be modified.
C++ Type:MeshGeneratorName
Controllable:No
Description:The input mesh to be modified.
- peripheral_ring_num_segmentsNumber of segments of the peripheral ring.
C++ Type:unsigned int
Controllable:No
Description:Number of segments of the peripheral ring.
- peripheral_ring_radiusRadius of the peripheral ring to be added.
C++ Type:double
Controllable:No
Description:Radius of the peripheral ring to be added.
PeripheralTriangleMeshGenerator
This PeripheralTriangleMeshGenerator object is designed to generate a triangulated mesh between a generated outer circle boundary and a provided inner mesh.
Overview
The PeripheralTriangleMeshGenerator
utilizes the general purpose XYDelaunayGenerator
triangulation mesh generator and the PolyLineMeshGenerator
to create a circural periphery region around a reactor core. The outer circle properties are specified with the "peripheral_ring_radius" and "peripheral_ring_num_segments" input parameters.
Optionally, triangle refinement parameters can be used to improve the quality of the triangles in the periphery region. These are specified with either "desired_area", which specifies a single desired maximum triangle area, and "desired_area_func", which specifies the desired maximum triangle area as a function of x,y. input parameters. See the full documentation for XYDelaunayGenerator
for more details on the area refinement options.
Figure 1 shows an example triangulation around an existing core mesh.

Figure 1: An example triangulation generated by this PeripheralTriangleMeshGenerator
object around an existing core mesh.
During triangulation, the triangulation library used by XYDelaunayGenerator
will by default use only the points given in the outer boundary polyline and the points on the outer boundary of the core regions, which can result in lower quality triangles and lead to difficulty when using the triangulation in FEM calculations. The triangle refinement options described above can be used to help improve the quality of the triangulation. Figure 2 shows an example triangulation with area refinement added to improve triangle quality.

Figure 2: An example triangulation generated by this PeripheralTriangleMeshGenerator
object using optional triangle refinement to improve triangle quality.
Example Syntax
[tmg]
type = PeripheralTriangleMeshGenerator
input = hex_in
peripheral_ring_radius = 150
peripheral_ring_num_segments = 50
[]
(modules/reactor/test/tests/meshgenerators/peripheral_triangle_mesh_generator/abtr_tri.i)Input Parameters
- desired_area0Desired (maximum) triangle area, or 0 to skip uniform refinement
Default:0
C++ Type:double
Controllable:No
Description:Desired (maximum) triangle area, or 0 to skip uniform refinement
- desired_area_funcDesired area as a function of x,y; omit to skip non-uniform refinement
C++ Type:std::string
Controllable:No
Description:Desired area as a function of x,y; omit to skip non-uniform refinement
- external_boundary_nameOptional customized external boundary name.
C++ Type:std::string
Controllable:No
Description:Optional customized external boundary name.
- peripheral_ring_block_nameThe block name assigned to the created peripheral layer.
C++ Type:SubdomainName
Controllable:No
Description:The block name assigned to the created peripheral layer.
Optional Parameters
- control_tagsAdds user-defined labels for accessing object parameters via control logic.
C++ Type:std::vector<std::string>
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
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
- (modules/reactor/test/tests/meshgenerators/peripheral_triangle_mesh_generator/abtr_tri.i)
- (tutorials/tutorial04_meshing/app/test/tests/base_mesh_generators/common_geo.i)
- (tutorials/tutorial04_meshing/app/test/tests/adv_examples/pcg_xyd.i)
- (modules/reactor/test/tests/meshgenerators/peripheral_triangle_mesh_generator/abtr_tri_refine.i)