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

CheckResult
Same solver in both codes (brae running OpenFOAM's PCG with DIC), 0.4 M cellsThe 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-10P1 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 toleranceOpenFOAM'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

Meshbrae as shippedOpenFOAM 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.

P1 through the first impact, 1.37 M cells

pressure at P1 (Pa)
brae, tolerance 1e-10OpenFOAM, tolerance 1e-10OpenFOAM, as shipped (14 ranks)OpenFOAM, as shipped (26 ranks, published)OpenFOAM, solver swapped to AMG-PCG (14 ranks)brae as shipped (AMG-PCG)
6,5007,0007,5008,0008,5009,0000.420.430.440.45time (s)
Pressure at sensor P1 on a 0.1 ms grid. The two full lines are the converged runs, brae solid and OpenFOAM dashed, and they lie on each other. The thin lines are the runs at the case's own tolerance: OpenFOAM on 14 and on 26 ranks, OpenFOAM with only its solver changed, and brae as shipped.

P1 through the first impact, 4.89 M cells

pressure at P1 (Pa)
brae, tolerance 1e-10OpenFOAM, tolerance 1e-10OpenFOAM, as shipped (26 ranks, published)brae, OpenFOAM's solverbrae as shipped (published)
03,0006,0009,00012,0000.4050.410.4150.420.4250.430.435time (s)
The same at 4,894,216 cells. The converged runs lie on each other again; the thin lines are the two runs timed for the speed figure and brae running OpenFOAM's solver. The grid of 0.1 ms passes a few pascals under the raw step values of the tables.