Boussinesq buoyancy and reference temperature
Temperature and buoyancy
Vanellus solves the energy equation during every SIMPLE iteration, regardless of the boussinesq setting. The temperature field therefore uses the developing flow field in every simulation.
The boussinesq field controls whether temperature contributes a buoyancy force to the momentum equations:
- With
boussinesq: false, coupling is one-way: flow affects temperature, but temperature does not feed back into momentum. - With
boussinesq: true, coupling is two-way: temperature and the request’sgravityvector determine a buoyancy force in the momentum equations.
Enable Boussinesq buoyancy when temperature differences should drive or alter the flow. Leave it disabled when buoyancy is negligible.
The Boussinesq approximation assumes small density changes and becomes unsuitable when temperature differences are too large for that assumption.
Reference temperature
The reference temperature has two roles: it sets the evaluation temperature for the built-in air properties, and it sets the total thermal energy in each thermally isolated region.
Fluid properties
For the built-in air model, Vanellus evaluates humid-air density at the reference temperature and calculates thermal expansion as 1 / T_ref, with T_ref in kelvin. Water uses fixed preset properties, while custom fluids use the values supplied in the request.
In a region that exchanges heat through temperature-dependent boundaries, those boundaries determine the operating temperatures. The reference primarily provides a representative temperature for evaluating the air properties. A uniform offset in the buoyancy source can be balanced by pressure; it does not itself drive circulation. Temperature variations within the fluid are what matter for buoyant motion.
Energy in isolated regions
For a thermally isolated region, the reference temperature is the uniform temperature it would settle to if all heating and cooling mechanisms were switched off.
This temperature sets the region’s total thermal energy. Vanellus initializes the fluid and conducting-solid cells at this temperature. As heat redistributes, individual cell temperatures change, but the region’s heat-capacity-weighted mean remains equal to the reference:
\[ \frac{\sum_{i \in R} \rho_i c_{p,i} V_i T_i} {\sum_{i \in R} \rho_i c_{p,i} V_i} = T_{\mathrm{ref}}. \]
Here, \(R\) is one isolated thermal region, and each cell contributes according to its density \(\rhoi\), specific heat capacity \(c{p,i}\), and volume \(V_i\). Prescribed heating and cooling must balance within that region. A single reference temperature applies to every isolated region, even when their materials and volumes differ.
Choose the reference temperature
Set the top-level reference_temperature field in °C. For example, merge this field into your request:
{
"reference_temperature": 25.0
}
The value must be finite and greater than −273.15 °C. Choose a representative air temperature for property evaluation; for an isolated region, choose the uniform temperature that represents its total thermal energy.
If any thermal region is isolated, you must supply this field, even if another region has a fixed-temperature or inlet boundary. An explicit value always takes precedence over automatic selection.
When no thermal region is isolated and reference_temperature is omitted or null, Vanellus uses the arithmetic mean of the meshed fixed-temperature and inlet-outlet boundary temperatures. The user-selectable conditions that supply these temperatures are:
fixed_temp;velocity_inlet;ambient_pressure_inlet;fan_inlet; andambient_pressure_inlet_outlet.
Each contributing meshed boundary patch counts once, regardless of its surface area or the eventual flow direction. For example, patches at 20 °C and 40 °C give an automatic reference of 30 °C even if their areas differ. This boundary-temperature average is separate from the heat-capacity-weighted mean within an isolated region.
Radiation with nonzero emissivity also provides a temperature-dependent heat-transfer path, so a region cooled this way is not isolated. However, radiative ambient_temperature does not contribute to the automatic reference. If no fixed-temperature or inlet-outlet boundary supplies a candidate, you must still set reference_temperature explicitly. A CTM junction temperature is calculated by the solver and does not supply a candidate either.
The reference is selected once and stays fixed during the solve. It also centers the solver’s temperature safeguards. Request and reported temperatures remain in °C.
Boussinesq buoyancy
With Boussinesq buoyancy enabled, Vanellus adds a momentum source proportional to:
-density × thermal_expansion × (temperature - reference_temperature) × gravity
The source points against the gravity vector for fluid above the reference temperature and with it for cooler fluid. Pressure balances the spatially uniform part; a uniform temperature field does not generate circulation by itself.
The approximation keeps density constant everywhere else. The source is determined by:
- the
gravityvector, which sets the direction and acceleration; - fluid
density; - fluid
thermal_expansion; and - temperature relative to the simulation’s reference temperature.
The built-in air model resolves density and thermal expansion from the reference temperature. Water uses fixed preset values, while custom fluids use the constant material properties supplied in the request.
The Boussinesq approximation is intended for small density changes. It does not model compressibility, phase change, or strongly temperature-dependent properties.
See also
- Material domains and properties explains density, thermal expansion, and the built-in fluid models.
- Field initialization and starting guesses explains how the reference temperature affects the initial temperature field.
- Isolated thermal regions and power balance explains the prescribed heating and cooling checks before a solve.
- What the Vanellus solver does places buoyancy within the complete steady-state model.