# Axisymmetric Refinement
Axisymmetric refinement creates structured-like mesh with cylindrical bias, ideal for rotating machinery, propellers, and axisymmetric flow features, providing optimal resolution for circumferential and radial flow patterns.
# Available Options
Option | Description |
---|---|
Spacing axial | Mesh spacing along cylinder axis |
Spacing radial | Mesh spacing in radial direction |
Spacing circumferential | Mesh spacing in circumferential direction |
Assigned cylinders | Target cylindrical regions for refinement |
# Detailed Descriptions
# Spacing Axial
Defines the mesh spacing along the cylinder axis.
- Required
- Example:
0.02 m
Note: Critical for capturing axial flow features and gradients.
# Spacing Radial
Specifies the mesh spacing in the radial direction.
- Required
- Example:
0.01 m
Note: Important for resolving radial flow patterns and boundary layer development.
# Spacing Circumferential
Controls the mesh spacing in the circumferential direction.
- Required
- Example:
0.015 m
Note: Essential for capturing rotational effects and circumferential variations.
# Assigned cylinders
Identifies the cylindrical regions where axisymmetric refinement will be applied.
- Required
Notes:
- Must reference valid cylinder entities in the geometry.
- Assign the cylinders by selecting from the list using the + button or select graphically in the viewer region.
💡 Tips
- Match circumferential and radial spacing for optimal quality
- Use 20+ axial layers for strong gradients
- Consider tip Mach number for propeller applications
- Ensure sufficient resolution for tip vortices
- Balance resolution with computational cost
❓ Frequently Asked Questions
How do I choose appropriate circumferential spacing?
Consider the number of blades, tip Mach number, and desired resolution level (coarse/medium/fine).
What happens if axisymmetric refinements overlap?
The finest (smallest) spacing will be applied in overlapping regions.
🐍 Python Example Usage
from flow360 import AxisymmetricRefinement, u
# Propeller region refinement
prop_ref = AxisymmetricRefinement(
name="propeller_region",
entities=[prop_cylinder],
spacing_axial=0.02 * u.m,
spacing_radial=0.01 * u.m,
spacing_circumferential=0.015 * u.m
)
# High-resolution rotor region
rotor_ref = AxisymmetricRefinement(
name="rotor_region",
entities=[rotor_cylinder],
spacing_axial=0.01 * u.m, # Finer for better gradient resolution
spacing_radial=0.005 * u.m, # Finer for tip vortex capture
spacing_circumferential=0.01 * u.m # Finer for better circumferential resolution
)