# ConcentricCircleMeshGenerator

This ConcentricCircleMesh source code is to generate concentric circle meshes.

## Description

The ConcentricCircleMeshGenerator object is to generate meshes for concentric circles. Particularly, it would be useful to generate 2D meshes for typical LWR fuels. Users can refine meshes by providing a higher number of rings for each specified concentric circle region or a higher number of sectors in each quadrant.

note

Be aware: ConcentricCircleMeshGenerator only works with the ReplicatedMesh type.

ConcentricCircleMeshGenerator works by creating the first quadrant called "top_right." MooseEnum called portion controls which portion of meshes is generated. Any other one-fourth portions of circles are generated by rotating the "top_right" portion. Half portions are generated by stitching two different one-fourth portions depending on users' usages.

Users must provide the input parameters such as a number of sectors in a quadrant, a list of radii, a list of rings, the inner mesh fraction, a boolean for the volume preserving function. - list of radii: specific locations of radii of concentric circles - list of rings: numbers of rings for concentric circles - inner mesh fraction: ratio of the length of the inner square to the radius of the innermost circle mesh - volume for concentric circles can be preserved or not (on/off).

Users can choose if meshes for the moderator are added to meshes for concentric circles or not. A portion can be specified, however, it is not required. The default setting generates the full concentric circles.

## Input Parameters

• has_outer_squareFalseIt determines if meshes for a outer square are added to concentric circle meshes.

Default:False

C++ Type:bool

Options:

Description:It determines if meshes for a outer square are added to concentric circle meshes.

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

Default:False

C++ Type:bool

Options:

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

• ringsNumber of rings in each circle or in the moderator

C++ Type:std::vector

Options:

Description:Number of rings in each circle or in the moderator

• num_sectorsnum_sectors % 2 = 0, num_sectors > 0Number of azimuthal sectors in each quadrant'num_sectors' must be an even number.

C++ Type:unsigned int

Options:

Description:num_sectors % 2 = 0, num_sectors > 0Number of azimuthal sectors in each quadrant'num_sectors' must be an even number.

C++ Type:std::vector

Options:

• inner_mesh_fractionLength of inner square / radius of the innermost circle

C++ Type:double

Options:

Description:Length of inner square / radius of the innermost circle

### Required Parameters

• portionfullControl of which part of mesh is created

Default:full

C++ Type:MooseEnum

Options:full top_right top_left bottom_left bottom_right right_half left_half top_half bottom_half

Description:Control of which part of mesh is created

• pitch0The moderator can be added to complete meshes for one unit cell of fuel assembly.Elements are quad meshes.

Default:0

C++ Type:double

Options:

Description:The moderator can be added to complete meshes for one unit cell of fuel assembly.Elements are quad meshes.

### Optional Parameters

• control_tagsAdds user-defined labels for accessing object parameters via control logic.

C++ Type:std::vector

Options:

Description:Adds user-defined labels for accessing object parameters via control logic.

• enableTrueSet the enabled status of the MooseObject.

Default:True

C++ Type:bool

Options:

Description:Set the enabled status of the MooseObject.