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

  • 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.

Required 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.

Advanced Parameters

Input Files