# 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 | Unit |
---|---|---|
spacing_axial | Mesh spacing along cylinder axis | length (e.g. m) |
spacing_radial | Mesh spacing in radial direction | length (e.g. m) |
spacing_circumferential | Mesh spacing in circumferential direction | length (e.g. m) |
entities | Target cylindrical regions for refinement | - |
# 🔍 Detailed Descriptions
# Spacing Axial
Defines the mesh spacing along the cylinder axis.
- Default: None (required)
- Example:
0.02 * u.m
- Notes: Critical for capturing axial flow features and gradients
# Spacing Radial
Specifies the mesh spacing in the radial direction.
- Default: None (required)
- Example:
0.01 * u.m
- Notes: Important for resolving radial flow patterns and boundary layer development
# Spacing Circumferential
Controls the mesh spacing in the circumferential direction.
- Default: None (required)
- Example:
0.015 * u.m
- Notes: Essential for capturing rotational effects and circumferential variations
# Entities
Identifies the cylindrical regions where axisymmetric refinement will be applied.
- Default: None (required)
- Example:
[propeller_region, rotor_region]
- Notes: Must reference valid cylinder entities in the geometry
💡 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
)