# Create Volume Mesh
# refinementFactor
If you set refinementFactor=2, then the number of nodes in the volume mesh will be doubled approximately.
# volume
There are 3 parameters for the volume mesher:
firstLayerThickness
: Thickness of the 1st anisotropic layer growing from the surface mesh.growthRate
: Ratio of thicknesses between 2 adjacent layers.gapTreatmentStrength
: A value between 0 and 1, where 0 is no gap treatment and 1 is the strongest gap treatment. See detailed description of this parameter here (opens new window).
# refinement
Both box and cylinder refinement zones are supported. Inside the refinement zones, the max edge length will be restricted
type
: By default, abox
refinement zone will be created.center
: Coordinate of geometrical center.spacing
: Target edge length of the cells in the refinement zone.
# box
To define a box refinement zone, you need to provide:
4. size
: Size of the box in x, y, and z directions.
5. axisOfRotation
: Axis of rotation for the box.
6. angleOfRotation
: Angle (in degrees) of rotation for the box.
To align the box refinement zone along an arbitrary direction, axisOfRotation
and angleOfRotation
are needed to define an extra rotation.
In the example below, as the axisOfRotation
is along the +y direction, the box will be pitched up by 10 degrees respect to its center
(following the right-hand rule)
# cylinder
To define a cylindric refinement zone, you need to set type
as cylinder
. Then you need to provide:
7. radius
: Radius of the cylinder.
8. length
: Length of the cylinder.
9. axis
: Axis of the cylinder.
Example:
"refinement": [
{
"size": [4, 3, 2],
"center": [2, 0, 0],
"spacing": 0.05,
"axisOfRotation": [ 0, 1, 0 ],
"angleOfRotation": 10
},
{
"type": "cylinder",
"radius": 4,
"length": 5,
"center": [5, 0, 0],
"spacing": 0.05,
"axis": [1, 0, 0]
}]
For more details, please see the refinement section (opens new window) of our documentation page.
# rotorDisks
For cases with actuator or BET disks, there will be a strong discontinuity across the disk.
To better resolve such discontinuity, it's strongly recommended to anisotropically refine mesh around the disk.
rotorDisks
will create a semi-structured mesh locally, where the cell size along the axial, radial and circumferential directions can be adjusted independently.
name
: This is optional unless you want to enclose this disk in a sliding interface.innerRadius
: If this is greater than 0, then the mesh for rotor disk will have a hole in the middle. You can use this if you have a hub in your propeller.outerRadius
: Typically we would recommend setting this value slightly larger than the radius of your blade.thickness
: Thickness of the disk refinement zone, typically set it to 0.75 of maximum chord of your propeller.axisThrust
: This will be used as the axis of the disk.center
: Coordinates of the disk center.spacingAxial
: Cell edge length along the axial direction. Typically we will have 20~30 layers along the axial/thickness direction.spacingRadial
: Typically we will keepspacingRadial
the same asspacingCircumferential
spacingCircumferential
: Typically we will have 720 cells along the circumferential direction so you can setspacingCircumferential
roughly2*PI*outerRadius/720
Consider a rotor radius of 1.0 (m) and max chord length of 0.1 (m).
"rotorDisks": [
{
"name": "myRotorDisk",
"innerRadius": 0,
"outerRadius": 1.25,
"thickness": 0.075,
"axisThrust": [1, 0, 0],
"center": [0, 0, 0],
"spacingAxial": 4e-3,
"spacingRadial": 0.01,
"spacingCircumferential": 0.01
}
]
For more details, please see the rotorDisks section (opens new window) of our documentation page.
# slidingInterfaces
name
: This is optional unless you want to enclose this sliding interface inside another sliding interface.enclosedObjects
: This tells the mesher which components should be enclosed in this sliding interface.thickness
: You need to ensure the sliding interface is thick enough to enclose not only the blade but also the hub of your rotor.spacingAxial
: Typically we will have 50~100 cells along the lateral direction of the sliding interface.- The rest of the parameters are similar to the rotorDisk above.
Example:
"slidingInterfaces": [
{
"name": "mySlidingInterface",
"innerRadius": 0,
"outerRadius": 1.25,
"thickness": 0.25,
"axisOfRotation": [0, 0, 1],
"center": [0, 0, 0],
"spacingAxial": 0.0025,
"spacingRadial": 0.01,
"spacingCircumferential": 0.01,
"enclosedObjects": ["rotor"]
},
For more details, please see the slidingInterfaces section (opens new window) of our documentation page.