# 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
)