Skip to content

brae v0.3.0

Choose a tag to compare

@github-actions github-actions released this 29 Jul 04:05
· 1032 commits to main since this release

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  -> transient

New: 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::ddt on 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 phi and the ddt0(...) state, so startFrom latestTime continues
    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 / codedMixed boundary 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
  • nNonOrthogonalCorrectors documented correctly for simpleFoam, it was supported, the docs said otherwise

Upgrading

Nothing to change.

git pull && cmake --build build -j --target brae

Full solver scope: docs/solvers/pimplefoam.md ·
docs/solvers/simplefoam.md. ctest 261/261 on GB10; sm_80/sm_90 compile-checked.