Repository navigation
brae v0.3.0
brae 0.3.0, transient pimpleFoam
Brae now runs transient incompressible flow, and it runs it from the same command.
One command
You always type brae. It reads the application entry your case already has in controlDict and runs the
matching solver:
cd yourTransientCase && brae # application pimpleFoam -> transientNew: transient incompressible PIMPLE
Fully device-resident, sharing its momentum, pressure and turbulence phases with the validated steady solver:
- Time schemes:
Euler,backward,CrankNicolson(with off-centring coefficient) - Implicit
fvm::ddton the turbulence transport too — true URANS, not a quasi-steady turbulence field - Turbulence: laminar; k-epsilon, realizable k-epsilon, k-omega SST, k-omega SST-LM, Spalart-Allmaras;
and the hybrid set — SA-DDES, SA-IDDES, k-omega SST-DDES, k-omega SST-IDDES, Smagorinsky LES - Seamless restart: writes and re-reads
phiand theddt0(...)state, sostartFrom latestTimecontinues
the same trajectory rather than restarting the history - PIMPLE controls:
nOuterCorrectors,nCorrectors,nNonOrthogonalCorrectors,relaxationFactors - Standard OpenFOAM time directories out (
U,p,phi, turbulence), ASCII or binary mesh in
Accuracy
pitzDaily, k-omega SST, marched to steady: velocity within 0.07% of OpenFOAM v2412 pimpleFoam on the same
case.
Speed
1× H100 80GB, pitzDaily developed then advanced at fixed deltaT, both solvers converged at the same tolerance:
| cells | brae | SPUMA (OpenFOAM-GPU, best config) | |
|---|---|---|---|
| 4.9M | 56 s | 255 s | 4.5× faster |
Zero bytes move between CPU and GPU per time step.
Also in this release
codedFixedValue/codedMixedboundary conditions, compiled onto the device at run time, on both solvers- DES/LES models (SA-DDES/IDDES, SST-DDES/IDDES, Smagorinsky) available to the steady solver's shared core
- The AMG-hierarchy cache is reused by the transient solver, so repeat runs start warm
nNonOrthogonalCorrectorsdocumented correctly forsimpleFoam, it was supported, the docs said otherwise
Upgrading
Nothing to change.
git pull && cmake --build build -j --target braeFull solver scope: docs/solvers/pimplefoam.md ·
docs/solvers/simplefoam.md. ctest 261/261 on GB10; sm_80/sm_90 compile-checked.