# 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 | Unit |
---|---|---|
Name | Name identifier for the box (note: names are not required to be unique) | - |
Center | Three-dimensional coordinates defining the center point | length (e.g. m) |
Size | Three-dimensional dimensions (length, width, height) | length (e.g. m) |
# 📋 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 | Unit |
---|---|---|
Axes | Two orthogonal vectors defining principal directions | dimensionless |
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 | Unit |
---|---|---|
Rotation Axis | Axis vector for rotation | dimensionless |
Rotation Angle | Angle of rotation around the specified axis | degrees |
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 | Unit |
---|---|---|
Name | Name identifier for the cylinder (note: names are not required to be unique) | |
Center | Three-dimensional coordinates defining the center point | length (e.g. m) |
Axis | Axis vector defining cylinder direction | dimensionless |
Radius | Distance from central axis to outer surface | length (e.g. m) |
Inner Radius | Distance from central axis to inner surface | length (e.g. m) |
Height | Length along central axis | length (e.g. m) |
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
)
← Boundaries Points →