Introducing Shape V2, a foundation model for 3D geometry. Read the blog →

CFD Solvers

buoyantPimpleFoam is a transient solver for compressible flows with buoyancy using the PIMPLE algorithm. Like its steady-state counterpart, it couples temperature, density, and gravity for natural convection, but resolves the solution in physical time. SIMD Agent selects it for unsteady buoyancy-driven problems.

When the agent selects this solver

  • Heat transfer is active
  • Single-phase flow at low speed
  • Gravity-driven or buoyancy-influenced flow
  • Transient solution needed (time-varying boundary conditions, startup, oscillating plumes)

Typical applications include fire smoke spread simulation, room ventilation transients, heated cavity filling, sloshing heated fluids, and building fire dynamics. For fluids not natively supported by OpenFOAM, the agent generates polynomial-fitted properties automatically. See Custom Fluid Properties.

Required files

Same file set as buoyantSimpleFoam: system/ (controlDict, fvSchemes, fvSolution), constant/ (thermophysicalProperties, turbulenceProperties, g), and 0/ (U, p_rgh, p, T, turbulence fields, alphat).

Dual pressure fields

Same dual-pressure setup as buoyantSimpleFoam: p_rgh is solved, p is calculated. All patches in 0/p must use type calculated. See the buoyantSimpleFoam dual pressure section for the full setup.

Time control

endTime and deltaT are in physical seconds. Adaptive time stepping is recommended for stability.

controlDict
application  buoyantPimpleFoam;
startTime    0;
endTime      60;       // physical seconds
deltaT       0.01;
adjustTimeStep yes;
maxCo        0.5;

PIMPLE settings

The outer correctors must be at least 2 for proper p_rgh–ρ–T coupling.

fvSolution
PIMPLE
{
    nOuterCorrectors    2;   // >= 2 required
    nCorrectors         1;
    nNonOrthogonalCorrectors 1;
}

Configuration rules

  • constant/g is required
  • fluxRequired, residualControl, and relaxation factors must reference p_rgh
  • GAMG smoother must be GaussSeidel
  • 0/T internalField must equal ambient/initial temperature
  • Generate 0/alphat when turbulence is active

Files never generated

  • 0/rho, 0/h, 0/e, computed at runtime