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

See also

For a deeper discussion of the meshing workflow and parameters, see Meshing.

Important

The spacing parameters define the mesh spacing on the rotating-zone interface surface, not the spacing within the rotating zone itself.

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


💡 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

  • Verify that assigned cylinders are properly aligned with rotation axes

  • Ensure enclosed entities are fully contained within the rotation cylinder


❓ Frequently Asked Questions

  • 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.

  • What does the spacing refer to?

    The spacing values control the mesh spacing of the rotating-zone interface surface. They do not directly affect the mesh spacing inside the rotating zone itself.


🐍 Python Example Usage

See also

Python API:

Example Library notebooks:

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
)