# 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.
# Available Options
| Option | Description | Applicable |
|---|---|---|
| Name | Identifier for the box | always |
| Center | Three-dimensional coordinates of the center point | always |
| Size | Dimensions of the box (length, width, height) | always |
| Transform methods | Method of defining the box orientation | always |
| Axes | Two orthogonal vectors defining orientation | Transform methods is Principal Axes |
| Axis of rotation | Rotation axis vector | Transform methods is Axis & Angle |
| Angle of rotation | Rotation angle around the axis | Transform methods is Axis & Angle |
# Detailed Descriptions
# Name
Identifier for the box volume entity.
- Required
Note: Names are not required to be unique, but using descriptive unique names is recommended for clarity.
# Center
Three-dimensional coordinates (X, Y, Z) defining the center point of the box.
- Required
- Units: Length
# Size
Three-dimensional dimensions (length, width, height) of the box along its principal axes.
- Required
- Units: Length
Note: The size corresponds to the full extent along each axis, not half-lengths.
# Transform methods
Boxes can be oriented in three-dimensional space using one of two methods:
# Axes
Defines the box orientation using two orthogonal vectors.
- Required (when using this method)
Notes:
- The two axes must be orthogonal (perpendicular) to each other
- First axis (row 1) defines the primary direction (aligns with size X)
- Second axis (row 2) defines the secondary direction (aligns with size Y)
- Third axis is automatically computed to complete the right-handed coordinate system
# Axis & Angle
Defines the box orientation using a rotation axis and angle from the default orientation.
# Axis of rotation
The axis vector (X, Y, Z) around which the box is rotated.
- Default:
(0, 0, 1)
Note: The axis is normalized internally.
# Angle of rotation
The angle of rotation around the specified axis.
- Default:
0 degrees - Units: Angle
Note: Positive angles follow the right-hand rule around the rotation axis.
💡 Tips
- Use boxes for rectangular refinement zones in wakes or regions of interest
- Align the box with the expected flow direction for wake capture
- For rotated boxes, the Principal Axes method provides more intuitive control
- Consider using multiple overlapping boxes for complex L-shaped or T-shaped regions
❓ Frequently Asked Questions
What happens if I don't specify orientation?
The box will align with the global coordinate system axes (no rotation).
Can I resize a box after creation?
Yes, you can modify the size parameters at any time before meshing.
How do the axes relate to the size dimensions?
The first axis corresponds to size[0], the second axis to size[1], and the computed third axis to size[2].
🐍 Python Example Usage
import flow360 as fl
# Box using axis and angle rotation
box = fl.Box(
name="wake_region",
center=(2, 0, 0) * fl.u.m,
size=(4, 1, 1) * fl.u.m,
axis_of_rotation=(0, 1, 0),
angle_of_rotation=15 * fl.u.deg
)
# Box using principal axes
box_axes = fl.Box.from_principal_axes(
name="refinement_box",
center=(0, 0, 0) * fl.u.m,
size=(2, 1, 0.5) * fl.u.m,
axes=[(1, 0, 0), (0, 1, 0)]
)