Severe double precision/virtual sites bug (?)
We observed a very strange problem.
We are trying to establish a more physical method to FEP multiple atoms (e.g. a
residue into another). This we do by placing real atoms for the B-State with
full VdW and electrostatics into the topology.
Therefore we added so called X-atoms (cause they are named e.g. oplXX000) to the
nb.itp-file. These we exclude with all original atoms to get rid of VdW
interactions with the system. To get rid of the qq-interaction, we placed
virtual sites with opposing charges on the perturbed atoms. This looks like:
opls_001 Atom1 Charge1 Mass1 oplXX001 Atom1 Charge1 Mass1
virtual Virt1 Charge0 virtual Virt1 Charge-1
oplXX002 Atom2 Charge2 Mass2 opls_002 Atom2 Charge2 Mass2
virtual Virt2 Charge-2 virtual Virt2 Charge0
Due to the VdW-exclusions and the opposing charges on the virtuals, the A-state
is in vacuum at lambda=1 and the B-state is in vacuum at lambda=0.
We checked the interaction energies with a system, using the amberFF-port and
they were fine. The system ran properly.
Now with our other test system and the oplsaaFF, things behave strange.
The SR-Coul between the B-state virtuals and solvent, as well as between their
according atoms and the solvent don't cancel out. The number is pretty small,
We tried to figure out, where this may come from and tried double precision
calculations. With double precision, the system, which ran stable in the (single
precision) equilibration run, instantaniously collapsed.
We assume, there is bug, but we don't have an idea, where to search. We use
GROMACS 3.3.1. The system is attached to this report.
#1 Updated by Maik Goette over 13 years ago
Created an attachment (id=99)
System with modified forcefield and structure/topology file
There is no tpr inside, cause we don't really know, if grompp generates the
problem. A single-precision tpr also generated a crash with a double-pre mdrun,
so it may be the mdrun, but still...
There are multiple mdps inside, which contain differen settings for fep runs.
equilibrated_starting_structure.gro together with ener_equi.mdp should show the
difference between running stable in single and crashing in double precision.
At least it did here.
#2 Updated by Berk Hess over 13 years ago
Sorry, but this is no way to file a bug report.
You should tell us exactly which files to use in grompp
to produce a tpr which should produce the error.
Also mdrun stops with a too many graphs edges error.
Accidentally I heard from Gerrit that you are using
a modified mdrun to run this system.
Could you try to run the system with pbc=full
to see if the error still occurs?
I tried with feprf.mdp and both single and double precision
run but give lincs warnings every step.