Rotation regions#

Rotation volume zones designed specifically for regions containing rotating components. They ensure proper mesh refinement and enable accurate simulation of rotating machinery.

Configuration Parameters#

Parameter

Description

Spacing axial

Mesh spacing along the cylinder’s axis

Spacing radial

Mesh spacing in the radial direction

Spacing circumferential

Mesh spacing around the circumference

Assigned cylinders

Cylindrical components to which this zone applies

Enclosed entities

Additional geometric entities within the cylinder

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.

Enclosed entities#

Specifies the geometric entities that are directly enclosed by this rotation zone. For multizone meshes with nested cylinders, select entities that are exactly one level below the current cylinder in the nesting hierarchy.

  • Default: None

Notes:

  • Assign the entities by selecting from the list using the + button or select graphically in the viewer region.

  • Body walls cannot intersect with the walls of the rotation cylinder.

  • For nested configurations: Select only the entities that are immediately inside the current cylinder, not entities nested deeper.

Example - Nested rotation zones:

For a configuration with an airfoil inside an internal rotating zone, which is inside an external rotating zone:

  • Internal rotating zone: Enclosed entities should be the airfoil (the geometry directly inside it).

  • External rotating zone: Enclosed entities should be the internal cylinder (the cylinder that defines the internal rotating zone, which is the entity one level below the external cylinder).

Key Features#

  • Generates concentric mesh structure ideal for rotating components

  • Can enclose other objects without intersecting them

  • Supports donut-shaped configurations for stationary centerbody placement

  • Compatible with Flow360’s Rotation model


💡 Tips

  • Match spacing values to the expected flow features:

    • Use finer axial spacing in regions of strong axial gradients

    • Ensure adequate radial spacing for boundary layer resolution

    • Consider tip vortex resolution when setting circumferential spacing

  • Keep computational efficiency in mind when setting spacing values

  • Verify that assigned cylinders are properly aligned with rotation axes

  • Ensure enclosed entities are fully contained within the rotation cylinder


❓ Frequently Asked Questions

  • What spacing values should I use for rotation cylinders?

    The spacing values depend on your specific case, but should be fine enough to capture boundary layers and wake effects around rotating components while considering computational resources.

  • Can I have multiple rotation cylinders?

    Yes, you can define multiple rotation cylinder zones with different spacing parameters for different components.

  • How do I set up nested rotation zones correctly?

    For nested cylinders, the enclosed entities should be whatever is exactly one level below the current cylinder. For example, if you have an airfoil inside an internal rotating zone which is inside an external rotating zone: the internal rotating zone should have the airfoil as its enclosed entity, and the external rotating zone should have the internal cylinder (not the airfoil) as its enclosed entity.


🐍 Python Example Usage

Below is a Python code example showing how to configure rotation regions using the Flow360 Python API:

import flow360 as fl
from flow360 import u

# Example 1: Basic rotation volume configuration
rotation_zone = fl.RotationVolume(
    name="RotorRegion",
    spacing_axial=0.02 * u.m,
    spacing_circumferential=0.015 * u.m,
    spacing_radial=0.01 * u.m,
    entities=cylinder  # Reference to Cylinder or AxisymmetricBody entity
)

# Example 2: Rotation volume with enclosed entities
rotation_zone_with_hub = fl.RotationVolume(
    name="RotorWithHub",
    spacing_axial=0.02 * u.m,
    spacing_circumferential=0.015 * u.m,
    spacing_radial=0.01 * u.m,
    entities=outer_cylinder,
    enclosed_entities=[hub_surface]  # Bodies enclosed by the rotation region
)