Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Flow boundary conditions

A flow boundary condition supplies conditions for several solver fields. A single API object can therefore prescribe velocity, pressure, temperature, and, when \(k\)-\(\omega\) SST is enabled, the turbulence fields.

Fan boundaries follow the same field-level pattern but add a pressure rise from a fan curve. They are described in Fan and linked-fan boundaries.

velocity_inlet

FieldCondition
VelocityDirichlet: uniform inward-normal speed
PressureNeumann: zero normal gradient
TemperatureDirichlet: temperature
TurbulenceDirichlet: tke and sdr derived from turbulent_intensity and viscosity_ratio

velocity_inlet applies speed normal to the selected patch and directed into the domain. It does not represent a developed profile or preserve tangential velocity. The requested speed therefore fixes the volumetric flow through the meshed opening area.

ambient_pressure_inlet

FieldCondition
VelocityDirichlet: inward-normal value updated from the current face flux
PressureDirichlet: ambient_pressure minus inflow dynamic pressure
TemperatureDirichlet: temperature
TurbulenceDirichlet: tke and sdr updated from the current inflow speed

Only pressure differences affect the incompressible flow solution, so pressure values are normally supplied relative to a consistent datum.

At an ambient_pressure_inlet, Vanellus treats ambient_pressure as the pressure available upstream of the opening. On inflow it sets the boundary static pressure to

\[ p_b = p_{\mathrm{ambient}} - \frac{1}{2}\rho U_n^2. \]

The boundary velocity is normal to the opening and follows the flow produced by the pressure field. Vanellus deliberately omits gravitational potential from this condition. Equal ambient pressures at openings of different heights therefore do not create a pressure difference solely from their elevation when Boussinesq buoyancy is enabled.

static_pressure_outlet

FieldCondition
VelocityNeumann: zero normal gradient
PressureDirichlet: pressure
TemperatureNeumann: zero normal gradient
TurbulenceNeumann: zero normal gradient for tke and sdr

This condition is intended for outflow. If recirculation reaches it, the zero-gradient treatment does not provide temperature or turbulence data for incoming fluid.

flow_rate_outlet

FieldCondition
VelocityNeumann: zero normal gradient
PressureDirichlet: updated to reach target_flow_rate
TemperatureNeumann: zero normal gradient
TurbulenceNeumann: zero normal gradient for tke and sdr

Vanellus integrates the current volumetric flow over the complete selected patch and adjusts the outlet pressure toward target_flow_rate. It does not impose a uniform outlet velocity.

Its relaxation_factor damps the pressure-controller update. It is separate from the pressure relaxation in numerics: one controls the boundary target and the other controls the SIMPLE pressure field.

ambient_pressure_inlet_outlet

FieldCondition
VelocityInflow — Dirichlet: inward-normal value from the face flux.
Outflow — Neumann: zero normal gradient.
PressureInflow — Dirichlet: ambient minus dynamic pressure.
Outflow — Dirichlet: ambient_pressure.
TemperatureInflow — Dirichlet: temperature.
Outflow — Neumann: zero normal gradient.
TurbulenceInflow — Dirichlet: tke and sdr from the inlet inputs.
Outflow — Neumann: zero normal gradient.

The treatment is chosen independently on every meshed face and can change as the solution develops, so one patch can contain inlet and outlet faces at the same time. This is more suitable than static_pressure_outlet where backflow is physically plausible, but an unintended flow direction can become self-sustaining. Inspect the final velocity direction near the boundary rather than relying on its name.

See also