Residual and convergence history

Both codes start every time step from the same pressure residual and end it at the same one. They get there with different linear solvers, which is where the time goes.

The residual

Both codes report the residual of a linear solve Ax=bA x = b with OpenFOAM's normalisation, where xˉ\bar{x} is the mean of the solution over the cells:

r=∑i∣b−Ax∣i∑i(∣Ax−Axˉ∣i+∣b−Axˉ∣i)r = \frac{\sum_i \lvert b-Ax\rvert_i}{\sum_i \bigl(\lvert Ax-A\bar{x}\rvert_i+\lvert b-A\bar{x}\rvert_i\bigr)}
(1)

A time step makes three pressure solves. The figures follow rinitialr_{\mathrm{initial}} of the first and rfinalr_{\mathrm{final}} of the last.

Pressure residual over the run

p_rgh residual (log)
brae, AMG-preconditioned PCGOpenFOAM, PCG with DIC
1e-91e-81e-71e-61e-51e-41e-31e-21e-10123456time (s)initial, first solve of the stepfinal, last solve of the step
Dam break, 398,720 cells. Each time step makes three pressure solves; the upper pair is the residual the first one starts from, the lower pair the residual the last one ends at (sum|b − Ax| over OpenFOAM's normFactor in both codes). Both start every step from the same residual. One point a 0.03 s window, the median of its steps; the files have every step.

Iterations to get there

p_rgh iterations a step (three solves)
brae, 1 GPUOpenFOAM, 26 cores
02550751001250123456time (s)
Pressure iterations of a time step, mean of each 0.03 s window. Mean over the run on the three meshes: brae 34, 41 and 47 with its AMG-preconditioned PCG; OpenFOAM 89, 113 and 144 with the case's PCG and DIC. Different solvers: this is why a step is cheaper, not a statement about accuracy.