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
)