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,
    ]
)