solvation free energy and coulomb-SR depend on rlist
Solvation free energy (using couple-moltype option) shows a strong dependence on the rlist value when running on GPUs (verlet-buffer-tolerance=-1 was used for the tests). Also, setting verlet-buffer-tolerance=0.05 and allowing mdrun to change rlist results in varying free energy values on GPU. CPU runs show much more stable free energy estimates.
Further investigation shows a coulomb-SR dependence on the rlist, in particular when running on GPU, but also present for CPU runs. This again seems to be triggered by the couple-intramol=no option (the issue disappears for couple-intramol=yes, bug #3403 (closed)). Below are coulomb-SR single step evaluations for the runs with and without free energy code:
with FE, rlist 1.0, CPU: -262.357819
with FE, rlist 1.5, CPU: -256.260071
with FE, rlist 1.0, GPU: -229.142914
with FE, rlist 1.5, GPU: -256.259857
intramol=yes, with FE, rlist 1.0, CPU: -256.260071
intramol=yes, with FE, rlist 1.5, CPU: -256.260071
intramol=yes, with FE, rlist 1.0, GPU: -256.259979
intramol=yes, with FE, rlist 1.5, GPU: -256.259918
no FE, rlist 1.0, CPU: -256.260071
no FE, rlist 1.5, CPU: -256.260071
no FE, rlist 1.0, GPU: -256.260132
no FE, rlist 1.5, GPU: -256.260132
Tested with the gmx2021-beta1 (the wrong free energy values were also confirmed with gmx2019.4 with the bug #3403 (closed) fixed). Attached are the inputs for single step energy evaluations.single_step_energy_evaluations.tar.gz