AdvancedConcentricCircleGenerator

This AdvancedConcentricCircleGenerator object is designed to mesh a concentric circular geometry.

Overview

AdvancedConcentricCircleGenerator generates concentric circular meshes that are similar to the output of PolygonConcentricCircleMeshGenerator but without background and duct regions. While all the features of PolygonConcentricCircleMeshGenerator involving the concentric circular "ring" regions are preserved, this mesh generator has some unique features because of the absence of the polygon outer regions. The mesh generator can generate meshes with either linear or quadratic elements, which is controlled by the "tri_element_type" and "quad_element_type" parameters.

Azimuthal Mesh Density

By default, the azimuthal intervals are uniform and a single parameter "num_sectors" is used to define the total number of the azimuthal intervals.

Users can alternatively provide a list of ascending azimuthal angles between 0 to 360^{\circ} through "customized_azimuthal_angles", which correspond to node angular positions of the generated mesh. Any azimuthal interval widths less than 120^{\circ} are supported.

Due to the extra flexibility in azimuthal mesh density, the central elements have to be triangular.

Example Syntax

[Mesh]
  [accg]
    type = AdvancedConcentricCircleGenerator
    ring_radii = '1 2'
    ring_intervals = '2 2'
    ring_block_ids = '10 15 20'
    ring_block_names = 'inner_tri inner outer'
    external_boundary_id = 100
    external_boundary_name = 'ext'
  []
[]
(contrib/moose/modules/reactor/test/tests/meshgenerators/advanced_concentric_circle_generator/accg.i)

Figure 1: An example output of AdvancedConcentricCircleGenerator with (8) uniform azimuthal sectors.

Figure 2: An example output of AdvancedConcentricCircleGenerator with (8) customized azimuthal sectors.

Input Parameters

  • ring_radiiRadii of major concentric circles (rings).

    C++ Type:std::vector<double>

    Unit:(no unit assumed)

    Controllable:No

    Description:Radii of major concentric circles (rings).

Required Parameters

  • preserve_volumesTrueVolume of concentric circles can be preserved using this function.

    Default:True

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:Volume of concentric circles can be preserved using this function.

  • quad_element_typeQUAD4Type of the quadrilateral elements to be generated.

    Default:QUAD4

    C++ Type:MooseEnum

    Unit:(no unit assumed)

    Options:QUAD4, QUAD8, QUAD9

    Controllable:No

    Description:Type of the quadrilateral elements to be generated.

  • tri_element_typeTRI3Type of the triangular elements to be generated.

    Default:TRI3

    C++ Type:MooseEnum

    Unit:(no unit assumed)

    Options:TRI3, TRI6, TRI7

    Controllable:No

    Description:Type of the triangular elements to be generated.

Optional Parameters

  • block_id_shift0Integer used to shift block IDs.

    Default:0

    C++ Type:unsigned short

    Unit:(no unit assumed)

    Controllable:No

    Description:Integer used to shift block IDs.

  • create_inward_interface_boundariesFalseWhether the inward interface boundaries are created.

    Default:False

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:Whether the inward interface boundaries are created.

  • create_outward_interface_boundariesTrueWhether the outward interface boundaries are created.

    Default:True

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:Whether the outward interface boundaries are created.

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

  • generate_side_specific_boundariesFalsewhether the side-specific external boundaries are generated or not

    Default:False

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:whether the side-specific external boundaries are generated or not

  • interface_boundary_id_shift0Integer used to shift interface boundary IDs.

    Default:0

    C++ Type:short

    Unit:(no unit assumed)

    Controllable:No

    Description:Integer used to shift interface boundary IDs.

  • inward_interface_boundary_namesOptional customized boundary names for the internal inward interfaces between block.

    C++ Type:std::vector<std::string>

    Unit:(no unit assumed)

    Controllable:No

    Description:Optional customized boundary names for the internal inward interfaces between block.

  • outward_interface_boundary_namesOptional customized boundary names for the internal outward interfaces between block.

    C++ Type:std::vector<std::string>

    Unit:(no unit assumed)

    Controllable:No

    Description:Optional customized boundary names for the internal outward interfaces between block.

  • ring_block_idsOptional customized block ids for each ring geometry block.

    C++ Type:std::vector<unsigned short>

    Unit:(no unit assumed)

    Controllable:No

    Description:Optional customized block ids for each ring geometry block.

  • ring_block_namesOptional customized block names for each ring geometry block.

    C++ Type:std::vector<SubdomainName>

    Unit:(no unit assumed)

    Controllable:No

    Description:Optional customized block names for each ring geometry block.

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

  • customized_azimuthal_anglesList of the user-specified azimuthal angles of the nodes.

    C++ Type:std::vector<double>

    Unit:(no unit assumed)

    Controllable:No

    Description:List of the user-specified azimuthal angles of the nodes.

  • num_sectorsNumber of azimuthal sectors of the circular mesh to be generated.

    C++ Type:unsigned int

    Unit:(no unit assumed)

    Controllable:No

    Description:Number of azimuthal sectors of the circular mesh to be generated.

Azimuthal Mesh Density 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)

Debugging Parameters

  • ring_inner_boundary_layer_biasesGrowth factors used for mesh biasing of the rings' inner boundary layers.

    C++ Type:std::vector<double>

    Unit:(no unit assumed)

    Controllable:No

    Description:Growth factors used for mesh biasing of the rings' inner boundary layers.

  • ring_inner_boundary_layer_intervalsNumber of radial intervals of the rings' inner boundary layers

    C++ Type:std::vector<unsigned int>

    Unit:(no unit assumed)

    Controllable:No

    Description:Number of radial intervals of the rings' inner boundary layers

  • ring_inner_boundary_layer_widthsWidths of each ring regions that are assigned to be each ring's inner boundary layers.

    C++ Type:std::vector<double>

    Unit:(no unit assumed)

    Controllable:No

    Description:Widths of each ring regions that are assigned to be each ring's inner boundary layers.

  • ring_outer_boundary_layer_biasesGrowth factors used for mesh biasing of the rings' outer boundary layers.

    C++ Type:std::vector<double>

    Unit:(no unit assumed)

    Controllable:No

    Description:Growth factors used for mesh biasing of the rings' outer boundary layers.

  • ring_outer_boundary_layer_intervalsNumber of radial intervals of the rings' outer boundary layers

    C++ Type:std::vector<unsigned int>

    Unit:(no unit assumed)

    Controllable:No

    Description:Number of radial intervals of the rings' outer boundary layers

  • ring_outer_boundary_layer_widthsWidths of each ring regions that are assigned to be each ring's outer boundary layers.

    C++ Type:std::vector<double>

    Unit:(no unit assumed)

    Controllable:No

    Description:Widths of each ring regions that are assigned to be each ring's outer boundary layers.

  • ring_radial_biasesValues used to create biasing in radial meshing for ring regions.

    C++ Type:std::vector<double>

    Unit:(no unit assumed)

    Controllable:No

    Description:Values used to create biasing in radial meshing for ring regions.

Mesh Boundary Layers And Biasing Options Parameters

  • ring_intervalsNumber of radial mesh intervals within each major concentric circle excluding their boundary layers.

    C++ Type:std::vector<unsigned int>

    Unit:(no unit assumed)

    Controllable:No

    Description:Number of radial mesh intervals within each major concentric circle excluding their boundary layers.

General Mesh Density Parameters