- inner_radiusThe size of the inner circle.
C++ Type:double
Controllable:No
Description:The size of the inner circle.
- nodes_per_ringNumber of nodes on each ring.
C++ Type:unsigned int
Controllable:No
Description:Number of nodes on each ring.
- num_ringsThe number of rings.
C++ Type:unsigned int
Controllable:No
Description:The number of rings.
- outer_radiusThe size of the outer circle. Logically, it has to be greater than inner_radius
C++ Type:double
Controllable:No
Description:The size of the outer circle. Logically, it has to be greater than inner_radius
SpiralAnnularMeshGenerator
Creates an annular mesh based on TRI3 or TRI6 elements on several rings.
Overview
The generated mesh has an annular shape, and nodes are located on different concentric rings between the inner and outer circles. The elements are triangular.
Here are the required parameters:
inner_radius
outer_radius
nodes_per_ring
num_rings
Given all these parameters, the radial bias will be computed automatically.
It is also possible to specify if you want a second-order Mesh : TRI3 elements will become TRI6 elements. To do that, simply change the use_tri6
parameter to true
.
Example Input File
For example, with the following input file block:
[Mesh]
[./samg]
type = SpiralAnnularMeshGenerator
use_tri6 = true
inner_radius = 1
nodes_per_ring = 18
outer_radius = 10
num_rings = 10
[]
[]
(../moose/test/tests/meshgenerators/spiral_annular_mesh_generator/spiral_annular_mesh_generator.i)The resulting mesh looks like this:
Input Parameters
- cylinder_bid1The boundary id to use for the cylinder (inner circle)
Default:1
C++ Type:short
Controllable:No
Description:The boundary id to use for the cylinder (inner circle)
- exterior_bid2The boundary id to use for the exterior (outer circle)
Default:2
C++ Type:short
Controllable:No
Description:The boundary id to use for the exterior (outer circle)
- initial_delta_rWidth of the initial layer of elements around the cylinder.This number should be approximately 2 * pi * inner_radius / nodes_per_ring to ensure that the initial layer of elements is almost equilateral
C++ Type:double
Controllable:No
Description:Width of the initial layer of elements around the cylinder.This number should be approximately 2 * pi * inner_radius / nodes_per_ring to ensure that the initial layer of elements is almost equilateral
- use_tri6FalseGenerate mesh of TRI6 elements instead of TRI3 elements.
Default:False
C++ Type:bool
Controllable:No
Description:Generate mesh of TRI6 elements instead of TRI3 elements.
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.
- save_with_nameKeep the mesh from this mesh generator in memory with the name specified
C++ Type:std::string
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
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
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
Controllable:No
Description:Whether or not to show mesh info after generating the mesh (bounding box, element types, sidesets, nodesets, subdomains, etc)