- angle_rangeAzimuthal angle range of the new block.
C++ Type:double
Controllable:No
Description:Azimuthal angle range of the new block.
- inputThe input mesh to be modified.
C++ Type:MeshGeneratorName
Controllable:No
Description:The input mesh to be modified.
- new_block_idsThe block IDs to be used for the new selected azimuthal angle blocks.
C++ Type:std::vector<unsigned short>
Controllable:No
Description:The block IDs to be used for the new selected azimuthal angle blocks.
- old_blocksThe list of blocks in the input mesh that need to be modified.
C++ Type:std::vector<SubdomainName>
Controllable:No
Description:The list of blocks in the input mesh that need to be modified.
- start_angleStarting azimuthal angle of the new block.
C++ Type:double
Controllable:No
Description:Starting azimuthal angle of the new block.
AzimuthalBlockSplitGenerator
This AzimuthalBlockSplitGenerator object takes in a polygon/hexagon concentric circle mesh and renames blocks on a user-defined azimuthal segment / wedge of the mesh.
Overview
The AzimuthalBlockSplitGenerator
object is used to modify a mesh generated by either PolygonConcentricCircleMeshGenerator
or HexagonConcentricCircleAdaptiveBoundaryMeshGenerator
. This object divides each selected radial block in the original mesh into two azimuthal sections and moves the nodes to the exact azimuthal positions.
Multiple radial blocks, which are defined by "old_blocks", can be modified simultaneously. The azimuthal range of the new blocks is defined by "start_angle" and "angle_range" in degrees. The algorithm finds the nodes that have azimuthal angles closest to the given azimuthal range and moves them to the exact azimuthal positions. If the external block (i.e., the block that contains the external boundary of the mesh) is not selected to be modified, the nodes on the external boundary are not altered by this object to facilitate mesh stitching. On the other hand, if the external block is selected, the nodes on the external boundary are moved as well. See Figure 1 for more details.

Figure 1: A schematic drawing showing the functionalities of this AzimuthalBlockSplitGenerator
object.
As moving nodes in the azimuthal direction changes the volumes of the circular blocks, the volume preservation radius correction is made if "preserve_volumes" is set as true.
Example Syntax
[./cd_azi_define]
type = AzimuthalBlockSplitGenerator
input = cd
start_angle = 280
angle_range = 100
old_blocks = '10 15 20'
new_block_ids = '100 150 200'
new_block_names = 'center_tri_new center_new cd_ring_new'
preserve_volumes = true
[]
(modules/reactor/test/tests/meshgenerators/azimuthal_block_split_generator/azi_block_id_mod.i)Input Parameters
- new_block_namesThe optional block names to be used for the new selected azimulathal angle blocks.
C++ Type:std::vector<SubdomainName>
Controllable:No
Description:The optional block names to be used for the new selected azimulathal angle blocks.
- preserve_volumesTrueVolume of concentric circles can be preserved using this function.
Default:True
C++ Type:bool
Controllable:No
Description:Volume of concentric circles can be preserved using this function.
- 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)
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.