Agreement with OpenFOAM on the dam break
brae is checked against OpenFOAM in three ways on this case. With OpenFOAM's own pressure solver, brae is the same run as serial OpenFOAM. With both codes' pressure solvers converged, the two codes give the same impact peak on all three meshes. At the case's own tolerance the two codes differ, and so does OpenFOAM from itself when only its solver or its number of ranks changes: the case stops the first pressure solve of each time step at a relative tolerance of 0.05, which is one or two solver iterations, so what is left depends on the solver and the adaptive time steps drift apart from the ninth step on.
Three checks
| Check | Result |
|---|---|
| Same solver in both codes (brae running OpenFOAM's PCG with DIC), 0.4 M cells | The same 201 time steps; P1 peak 9,409.3 Pa in both; no sensor more than 0.01 Pa apart at any step. |
| Both solvers converged to 1e-10 | P1 peak 9,410.8 Pa in both (0.4 M cells), 8,728.9 Pa in both (1.37 M cells), 11,102.2 and 11,102.4 Pa (4.89 M cells). |
| Only the solver changed, inside OpenFOAM, at the case's tolerance | OpenFOAM's own P1 peak moves by 0.13% (0.4 M cells) and 1.9% (1.37 M cells). |
Every peak on this page is the raw step value at sensor P1, with no smoothing.
At the case's own tolerance: distance of the P1 peak from the converged value
| Mesh | brae as shipped | OpenFOAM as shipped, over its runs |
|---|---|---|
| 0.4 M cells | +0.11% to +0.19% | −0.02% to +0.12% |
| 1.37 M cells | +0.03% to +0.07% | −0.69% to +1.20% |
| 4.89 M cells | +0.35% to +0.46% | −2.35% (26 ranks) |
brae's two values are two GPUs. OpenFOAM's runs are serial, 14 or 26 ranks, with PCG/DIC or with PCG and a GAMG preconditioner. The two runs timed for the speed figure, brae and 26-rank OpenFOAM at 4.89 M cells, are 2.8% apart on this peak.