- ntNumber of elements in the angular direction
C++ Type:unsigned int
Unit:(no unit assumed)
Controllable:No
Description:Number of elements in the angular direction
- rmaxOuter radius
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Outer radius
- rminInner radius. If rmin=0 then a disc mesh (with no central hole) will be created.
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Inner radius. If rmin=0 then a disc mesh (with no central hole) will be created.
AnnularMeshGenerator
For rmin>0: creates an annular mesh of QUAD4 elements. For rmin=0: creates a disc mesh of QUAD4 and TRI3 elements. Boundary sidesets are created at rmax and rmin, and given these names. If dmin!0 and dmax!360, a sector of an annulus or disc is created. In this case boundary sidesets are also created at dmin and dmax, and given these names
Overview
This MeshGenerator object creates a mesh with an annular shape, and Quad4 elements distributed on several rings. The user can choose the inner and outer radii, as well as the number of elements in the radial and angular directions.
It is also possible to create a disc-shaped mesh with this class. To do so, the user has to choose 0 for the value of the inner radius. This will create a mesh composed of TRI3 elements at the center of the disc, and QUAD4 everywhere else.
If and , this will create a fraction of an annulus or disc.
Description
The AnnularMesh mesh generator builds simple 2D annular and disc meshes. They are created by drawing radial lines and concentric circles, and the mesh consists of the quadrilaterals thus formed. Therefore, no sophisticated paving is used to construct the mesh.
The inner radius and the outer radius must be specified. If the inner radius is zero a disc mesh is created, while if it is positive an annulus is created. The annulus has just one subdomain (block number = 0), whereas the disc has two subdomains: subdomain zero consists of the outer quadrilaterals, while the other (block number = 1) consists of the triangular elements that emanate from the origin.
The minimum and maximum angle may also be specified. These default to zero and 360, respectively. If other values are chosen, a sector of an annulus, or a sector of a disc will be created. Both angles are measured anti-clockwise from the xx axis.
The number of elements in the radial direction and the angular direction may be specified. By default, the mesh spacing is uniform in the radial direction, but the following options are available for more control over the radial meshing: - A growth factor that controls the element size in the radial direction may be specified. In this case, the radial element size in the innermost ring is multiplied by this factor for each concentric ring of elements, moving from the inner to the outer radius. If the growth factor is positive, the element radial dimension increases with increasing radial position, while if the growth factor is negative, the element radial dimension decreases with increasing radial position. - A list of values that define the radial positions of the rings of interior nodes can be specified. This allows for direct control of the element size for every one of the concentric rings. In this case, the number of radial elements is not specified, because it is inferred from the length of that list. - A flag that enforces equal areas among all of the elements. When true, this parameter will automatically determine the radial element spacing so that each element has the same area.
Sidesets are also created:
Sideset 0 is called "rmin" and is the set of sides at the minimum radius (which is zero for the disc).
Sideset 1 is called "rmax" and is the set of sides at the maximum radius.
Sideset 2 is called "dmin" and is the set of sides at the minimum angle, which is created only in the case of a sector of an annulus (or disc)
Sideset 3 is called "dmax" and is the set of sides at the maximum angle, which is created only in the case of a sector of an annulus (or disc)
Input Parameters
- boundary_id_offset0This offset is added to the generated boundary IDs
Default:0
C++ Type:short
Unit:(no unit assumed)
Controllable:No
Description:This offset is added to the generated boundary IDs
- boundary_name_prefixIf provided, prefix the built in boundary names with this string
C++ Type:BoundaryName
Unit:(no unit assumed)
Controllable:No
Description:If provided, prefix the built in boundary names with this string
- dmax360Maximum angle, measured in degrees anticlockwise from x axis. If dmin=0 and dmax=360 an annular mesh is created. Otherwise, only a sector of an annulus is created
Default:360
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Maximum angle, measured in degrees anticlockwise from x axis. If dmin=0 and dmax=360 an annular mesh is created. Otherwise, only a sector of an annulus is created
- dmin0Minimum degree, measured in degrees anticlockwise from x axis
Default:0
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Minimum degree, measured in degrees anticlockwise from x axis
- equal_areaFalseWhether to select the radial discretization to achieve equal areas of each ring
Default:False
C++ Type:bool
Unit:(no unit assumed)
Controllable:No
Description:Whether to select the radial discretization to achieve equal areas of each ring
- growth_r1The ratio of radial sizes of successive rings of elements
Default:1
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:The ratio of radial sizes of successive rings of elements
- nr1Number of elements in the radial direction
Default:1
C++ Type:unsigned int
Unit:(no unit assumed)
Controllable:No
Description:Number of elements in the radial direction
- quad_subdomain_id0The subdomain ID given to the QUAD4 elements
Default:0
C++ Type:unsigned short
Unit:(no unit assumed)
Controllable:No
Description:The subdomain ID given to the QUAD4 elements
- radial_positionsDirectly prescribed positions of intermediate radial nodes
C++ Type:std::vector<double>
Unit:(no unit assumed)
Controllable:No
Description:Directly prescribed positions of intermediate radial nodes
- tri_subdomain_id1The subdomain ID given to the TRI3 elements (these exist only if rmin=0, and they exist at the center of the disc
Default:1
C++ Type:unsigned short
Unit:(no unit assumed)
Controllable:No
Description:The subdomain ID given to the TRI3 elements (these exist only if rmin=0, and they exist at the center of the disc
Optional 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
- 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)