# Volumes

Volume entities in Flow360 are used to set up volume zones, local refinements and 3D models. Flow360 provides two primary volume primitives: boxes and cylinders.


# Volume Primitives

Volume primitives can be used individually or combined to create complex geometric configurations.

Type Description
Box Rectangular prism defined by center, size, and orientation
Cylinder Cylindrical volume defined by axis, radius, and height

# Detailed Descriptions

# Box

A box is a rectangular prism defined by its center point and size (dimensions). Boxes can be oriented in three-dimensional space using one of two transformation methods.

  • Box Parameters

    Parameter Description
    Name Name identifier for the box (note: names are not required to be unique)
    Center Three-dimensional coordinates defining the center point
    Size Three-dimensional dimensions (length, width, height)
  • Box Orientation Methods

    • Method 1: Principal Axes

      Defines the box orientation using two orthogonal vectors. This method provides direct control over the box's principal directions.

      Parameter Description
      Axes Two orthogonal vectors defining principal directions

      Notes:

      • Axes must be orthogonal vectors
      • First axis defines the primary direction
      • Second axis defines the secondary direction
      • Third axis is automatically computed to complete the right-handed coordinate system
    • Method 2: Axis & Angle

      Defines the box orientation using a rotation axis and angle. This method is useful when you need to rotate the box around a specific axis.

      Parameter Description
      Rotation Axis Axis vector for rotation
      Rotation Angle Angle of rotation around the specified axis

      Notes:

      • Rotation angle is in degrees
      • Positive angle follows right-hand rule around the rotation axis

# Cylinder

A cylinder is a three-dimensional geometric shape with a circular or oval cross-section.

Cylinder Parameters

Parameter Description
Name Name identifier for the cylinder (note: names are not required to be unique)
Center Three-dimensional coordinates defining the center point
Axis Axis vector defining cylinder direction
Radius Distance from central axis to outer surface
Inner Radius Distance from central axis to inner surface
Height Length along central axis

Notes:

  • The cylinder axis defines the direction of the cylinder
  • Inner radius defaults to 0 for a full cylinder
  • Height is measured along the cylinder's central axis

💡 Tips

  • Choose volume type based on your specific needs:
    • Use Box for rectangular refinement zones
    • Use Cylinder for circular regions and rotating machinery
  • Consider volume placement and orientation carefully
  • Ensure proper scaling relative to your simulation domain
  • Review volume overlap implications before implementation
  • Toggle volume visibility by clicking the eye icon that appears when hovering over or selecting the volume

#

❓ Frequently Asked Questions

  • Can volumes overlap?

    Yes, volumes can overlap, but this should be done intentionally as it may affect mesh generation and simulation results.

  • How do I create a hollow cylinder?

    Set the inner radius parameter to a value greater than 0 and less than the outer radius.

  • What happens if I don't specify orientation for a box?

    The box will align with the global coordinate system axes.

  • Can I use volumes for boundary conditions?

    No, volumes are used for defining regions within the domain, not for boundary conditions.

  • How do I create a complex shape?

    Combine multiple volumes using boolean operations or by positioning them appropriately.

#

🐍 Python Example Usage

Below is python code example of how to create volumes:
import flow360 as fl

box = fl.Box(
    name="my_box",
    center=(0, 0, 0) * fl.u.m,
    size=(1, 1, 1) * fl.u.m,
    axis_of_rotation=(0, 1, 0),
    angle_of_rotation=30 * fl.u.deg
)

cylinder = fl.Cylinder(
    name="my_cylinder",
    center=(0, 0, 0) * fl.u.m,
    axis=(0, 1, 0),
    outer_radius=1.0 * fl.u.m,
    height=2.0 * fl.u.m
)