flow360.RotationVolume#

class RotationVolume[source]#

Bases: AxisymmetricRefinementBase

Creates a rotation volume mesh using cylindrical or axisymmetric body entities.

  • The mesh on RotationVolume is guaranteed to be concentric.

  • The RotationVolume is designed to enclose other objects, but it can’t intersect with other objects.

  • Users can create a donut-shaped RotationVolume and put their stationary centerbody in the middle.

  • This type of volume zone can be used to generate volume zones compatible with Rotation model.

  • Supports both Cylinder and AxisymmetricBody entities for defining the rotation volume geometry.

Note

The deprecated RotationCylinder class is maintained for backward compatibility but only accepts Cylinder entities. New code should use RotationVolume.

Example

Using a Cylinder entity:

>>> fl.RotationVolume(
...     name="RotationCylinder",
...     spacing_axial=0.5*fl.u.m,
...     spacing_circumferential=0.3*fl.u.m,
...     spacing_radial=1.5*fl.u.m,
...     entities=cylinder
... )

Using an AxisymmetricBody entity:

>>> fl.RotationVolume(
...     name="RotationConeFrustum",
...     spacing_axial=0.5*fl.u.m,
...     spacing_circumferential=0.3*fl.u.m,
...     spacing_radial=1.5*fl.u.m,
...     entities=axisymmetric_body
... )

With enclosed entities:

>>> fl.RotationVolume(
...     name="RotationVolume",
...     spacing_axial=0.5*fl.u.m,
...     spacing_circumferential=0.3*fl.u.m,
...     spacing_radial=1.5*fl.u.m,
...     entities=outer_cylinder,
...     enclosed_entities=[inner_cylinder, surface]
... )
type: Literal['RotationVolume'] = 'RotationVolume'#
name: str | None = 'Rotation Volume'#

Name to display in the GUI.

entities: EntityList[Cylinder, AxisymmetricBody] [Required]#
enclosed_entities: EntityList[Cylinder, Surface, MirroredSurface, AxisymmetricBody, Box] | None = None#

Entities enclosed by RotationVolume. Can be Surface and/or other Box

stationary_enclosed_entities: EntityList[Surface, MirroredSurface] | None = None#

Surface entities included in enclosed_entities which should remain stationary (excluded from rotation).

spacing_axial: LengthType.Positive [Required]#

Spacing along the axial direction.

Constraints:
  • func = <function _dimensioned_type_serializer at 0x76d26c7ff370>

  • return_type = PydanticUndefined

  • when_used = always

spacing_radial: LengthType.Positive [Required]#

Spacing along the radial direction.

Constraints:
  • func = <function _dimensioned_type_serializer at 0x76d26c7ff370>

  • return_type = PydanticUndefined

  • when_used = always

spacing_circumferential: LengthType.Positive [Required]#

Spacing along the circumferential direction.

Constraints:
  • func = <function _dimensioned_type_serializer at 0x76d26c7ff370>

  • return_type = PydanticUndefined

  • when_used = always