Project

General

Profile

Bug #3359

PME + LJ-PME with unperturbed charges / vdW lead to zero forces from the reciprocal space

Added by Shun Sakuraba 7 months ago. Updated 6 months ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
mdrun
Target version:
Affected version - extra info:
commit 14954eb0
Affected version:
Difficulty:
uncategorized
Close

Description

In issue #2640, there was a problem when PME + LJ-PME are enabled and only charges or vdWs are perturbed, and was fixed in revision 12f01f79 . However the "fix" actually seems to nullify all the forces from the reciprocal space to the perturbed atoms.

In an attached simple system with only two atoms, the force between two atoms disappear only when PME + LJ-PME is enabled. Steps to reproduce is:

gmx_d grompp -f minimal_fep1.mdp -c minimal.gro -o minimal_fep1_out
gmx_d mdrun -deffnm minimal_fep1_out -rerun minimal.gro
gmx_d dump -f minimal_fep1_out.trr

The force along x should be like 33kJ/mol/nm, but is 4e-5 instead (as of ver. 2019.5)

The reason seems to be the confusing scaling factor of the lambda value (pme.cpp, line 1440).
The correct fix seems to be trivial (patch attached). Like the original issue, the case only rarely happens and only reciprocal part is nullified, so the affected users should be minimal.

reproduce.tar.gz (1.44 KB) reproduce.tar.gz Shun Sakuraba, 01/29/2020 09:48 AM
0001-Re-fixed-2640.patch (1.12 KB) 0001-Re-fixed-2640.patch Shun Sakuraba, 01/29/2020 09:48 AM

Associated revisions

Revision a507acbc (diff)
Added by Berk Hess 6 months ago

Actually fix PME forces with FE without perturbed q/LJ

PME would incorrectly ignore the mesh forces on perturbed atoms when
no charges or LJ atom types were actually perturbed.
This is because the "fix" in commit 12f01f79 incorrectly changed the
lambda value used for the PME forces from the actual lambda value
to 1 instead of to 0 as it should have been.

Fixes #2640
Fixes #3359

Change-Id: Ib19565bf017ddbd2fddc66c52be0ff9efc7e707c

Revision 7387a098 (diff)
Added by Berk Hess 6 months ago

Actually fix PME forces with FE without perturbed q/LJ

PME would incorrectly ignore the mesh forces on perturbed atoms when
no charges or LJ atom types were actually perturbed.
This is because the "fix" in commit 12f01f79 incorrectly changed the
lambda value used for the PME forces from the actual lambda value
to 1 instead of to 0 as it should have been.

Fixes #2640
Fixes #3359

Change-Id: Ib19565bf017ddbd2fddc66c52be0ff9efc7e707c

History

#1 Updated by Berk Hess 6 months ago

  • Category set to mdrun
  • Status changed from New to Fix uploaded
  • Assignee set to Berk Hess
  • Target version set to 2020.1

#2 Updated by Berk Hess 6 months ago

  • Status changed from Fix uploaded to Resolved

#3 Updated by Berk Hess 6 months ago

#4 Updated by Paul Bauer 6 months ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF