Conservation

The tank's water volume and kinetic energy at the same 120 instants in both codes. The top of the tank is open, so both lose the water that the jet throws out of it, and they lose the same amount.

What is measured

With αi\alpha_i the water fraction of cell ii and ViV_i its volume, the water in the tank and its change since the start are

Vw(t)=∑iαi(t) Vi,ΔVw(t)=Vw(t)−Vw(0)Vw(0)V_w(t)=\sum_i \alpha_i(t)\,V_i,\qquad \Delta V_w(t)=\frac{V_w(t)-V_w(0)}{V_w(0)}
(1)

The two runs' water regions, W={ i:αi>0.5 }W=\{\,i : \alpha_i>0.5\,\}, are compared at the same instants by their intersection over union:

IoU(t)=∣Wbrae∩WOF∣∣Wbrae∪WOF∣\mathrm{IoU}(t)=\frac{\lvert W_{\mathrm{brae}}\cap W_{\mathrm{OF}}\rvert}{\lvert W_{\mathrm{brae}}\cup W_{\mathrm{OF}}\rvert}
(2)

Water volume

water volume, change since t = 0
brae, 1 GPUOpenFOAM, 26 cores
-1%-0.75%-0.5%-0.25%0%0123456time (s)the jet leaves by the open top
398,720 cells. The tank's top is open and the jet leaves through it. Both codes lose the same water by 6 s: 0.96% (brae) and 0.91% (OpenFOAM); 0.90% and 0.89% at 1.37 M cells. Before the jet reaches the top the volume changes by 1e-06 to 5e-06 in both. Continuity error of a step, mean over the run: brae 5.0e-08, OpenFOAM 1.2e-07.

Kinetic energy

kinetic energy (J)
brae, 1 GPUOpenFOAM, 26 cores
02004006008000123456time (s)
The same two runs at the same 120 instants. After the impact the two splashes no longer coincide cell for cell (the water regions overlap 0.9999 before it and 0.86 at the lowest), while the tank's energy, like its volume and momentum, stays together.