freeSurface examples faulty when executed via GPU (v1.8.0 & v1.8.1)

A user mentioned on a forum post that the freeSurface examples produce wrong results when the simulation is being run on the GPU (for OpenLB v1.8.1).

I looked into it and tested different versions on two machines with GPU and without GPU support. The results are as follows:

freeSurfaceErrorTable

The error must have slipped in at some point when going from v1.7.0 to v1.8.0. This has probably been missed since the test most likely did the testing only on CPU.

In breakingDam2d and rayleighInstability, the liquid did not move at all. fallingDrop2d and fallingDrop3d showed movement of the liquid, but the behaviour of the simulation is wrong:

fallingDrop2dCurlUp Visualization of fallingDrop2d in OpenLB v1.8.0 and v.1.8.1 with GPU_CUDA.

fallingDrop3dCurlUp Visualization of fallingDrop3d in OpenLB v1.8.0 and v.1.8.1 with GPU_CUDA. The slice filter was used in ParaView to make it more easily visible. Once again the behaviour is wrong: The liquid should not curl up like that.

Assignee Loading
Time tracking Loading