# Custom volume
A custom volume is a volume zone defined by its enclosing boundary surfaces rather than by geometric primitives. This allows creation of arbitrarily shaped volume zones that conform to existing geometry surfaces, commonly used for porous media regions or user-defined volume zones.
# Available Options
| Option | Description | Applicable |
|---|---|---|
| Name | Identifier for the custom volume | always |
| Enclosed surfaces | Surfaces that define the boundaries of the volume | always |
| Axes | Two orthogonal vectors defining principal directions | always |
# Detailed Descriptions
# Name
Identifier for the custom volume entity.
- Required
Note: Names must be unique across all custom volumes
# Enclosed surfaces
The boundary surfaces that fully enclose and define the custom volume region.
- Required
Notes:
- Select surfaces from the 3D scene or entity list using the
+button- The selected surfaces must form a closed region (watertight boundary)
- All boundary surface names within a custom volume must be unique
- Can include geometry surfaces or wind tunnel ghost surfaces
# Axes
Two orthogonal vectors defining the principal directions for the custom volume.
- Optional
- Default: Not specified
Notes:
- Required when using the volume with porous media models
- The two axes must be orthogonal (perpendicular) to each other
- Third axis is automatically computed to complete the right-handed coordinate system
- Defines the directional properties for anisotropic porous media
💡 Tips
- Use custom volumes when your region shape doesn't match standard primitives (box, cylinder)
- Ensure the enclosing surfaces form a completely closed (watertight) boundary
- Custom volumes are ideal for porous media zones like heat exchangers or radiators
- The volume zone name in the solver will match the custom volume name
- Only available when using the beta mesher with user-defined farfield
❓ Frequently Asked Questions
What surfaces can I use to define a custom volume?
You can use any geometry surfaces that form a closed region, as well as wind tunnel ghost surfaces (inlet, outlet, walls, etc.).
Do the surfaces need to form a watertight boundary?
Yes, the enclosed surfaces must completely bound the region without gaps for the volume mesher to properly identify the zone.
When do I need to specify the Axes?
Axes are only needed when using the custom volume with porous media models that have directional (anisotropic) properties.
Why can't I create a custom volume?
Custom volumes require the beta mesher and user-defined farfield to be enabled. Check your meshing settings.
🐍 Python Example Usage
import flow360 as fl
# Custom volume for a porous media zone (e.g., radiator)
radiator_volume = fl.CustomVolume(
name="radiator_zone",
boundaries=[
geometry["radiator_inlet"],
geometry["radiator_outlet"],
geometry["radiator_sides"],
],
axes=[(1, 0, 0), (0, 1, 0)] # For anisotropic porous media
)
# Custom volume using wind tunnel surfaces
tunnel_section = fl.CustomVolume(
name="test_section",
boundaries=[
geometry["model_surface"],
fl.WindTunnelFarfield.inlet,
fl.WindTunnelFarfield.outlet,
fl.WindTunnelFarfield.floor,
fl.WindTunnelFarfield.ceiling,
fl.WindTunnelFarfield.left,
fl.WindTunnelFarfield.right,
]
)