[gmx-users] gromacs energies very different from other MD engine for the very same system and conditions

chris.neale at utoronto.ca chris.neale at utoronto.ca
Tue Jul 27 16:43:30 CEST 2010

Dear Alan:

I don't have a solution for you, but I do have a simpler test case: a  
single spc water molecule. I have not addressed your noted energy  
difference between programs because I am not familiar with them  
(although you should try gromacs compiled in double precision).

I can reproduce the non-zero kinetic energy with a single spc water,
as long as I add define=-DFLEXIBLE to the .mdp file. The output .gro
contains all zeroes for velocities (as long as the input .gro does not  
contain any velocities!):

      1SOL     OW    1   0.230   0.628   0.113  0.0000  0.0000  0.0000
      1SOL    HW1    2   0.137   0.626   0.150  0.0000  0.0000  0.0000
      1SOL    HW2    3   0.231   0.589   0.021  0.0000  0.0000  0.0000
    10.00000  10.00000  10.00000

but the run indicates a non-zero kinetic energy (log and .edr file, gromacs
4.0.5 and 3.3.3).

The reported kinetic energy is small though, 1.16470e-03, with a
reported temperature of 9.33871e-02.

I added unconstrainted_start=yes to your .mdp file but that did not help.

I tried in double precision, and I get the same reported kinetic  
energy (1.16473e-03)


-- original message --

Hi there,

I have a very simple case of a tri alanine (AAA). You can use tleap from
ambertools to create such peptide and save the pdb and amber's parameters.

Then I do a single point calculation to get the potential energy. I am using
mdin (amber input file) like:

cat << EOF >| mdin
Single point
imin=0, maxcyc=0,

Then I test the same input parameters with Namd2, using namd.conf (Amber is
not freely available, but AmberTools and Namd are):

cat << EOF >| AAAamb_namd.conf
outputEnergies 1  # Energy output frequency
DCDfreq        1  # Trajectory file frequency
timestep       2  # in unit of fs
temperature    300  # Initial temp for velocity assignment
cutoff         999
switching      off  # Turn off the switching functions
PME            off  # Use PME for electrostatic calculation
amber          on  # Specify this is AMBER force field
parmfile       AAAamb.prmtop  # Input PARM file
ambercoor      AAAamb.inpcrd  # Input coordinate file
outputname     AAAamb  # Prefix of output files
exclude        scaled1-4
1-4scaling     0.833333  # =1/1.2, default is 1.0
minimize       0

I have only a 0.001 kcal/mol absolute diff (or relative 0.0037%) for the
Elec term, everything else is absolutely the same.

Then comes gromacs. I convert my prmtop and inpcrd to gromacs top and gro
with either acpype or amb2gmx and then doing a single point with file:

cat << EOF >| SPE.mdp
integrator               = md
nsteps                   = 0
dt                       = 0.001
constraints              = none
emtol                    = 10.0
emstep                   = 0.01
nstcomm                  = 1
ns_type                  = simple
nstlist                  = 0
rlist                    = 0
rcoulomb                 = 0
rvdw                     = 0
Tcoupl                   = no
Pcoupl                   = no
gen_vel                  = no
nstxout                  = 1
pbc                      = no
nstlog = 1
nstenergy = 1
nstvout = 1
nstfout = 1
nstxtcout = 1
comm_mode = ANGULAR

I got something like:
     Energies (kJ/mol)
             Bond          Angle Ryckaert-Bell.          LJ-14     Coulomb-14
      1.77662e+02    3.19281e+01    4.55707e+01    2.48926e+01    9.40060e+02
          LJ (SR)   Coulomb (SR)      Potential    Kinetic En.   Total Energy
     -9.21735e+00   -1.05005e+03    1.60848e+02    8.84934e+00    1.69697e+02
      Temperature Pressure (bar)
      2.28887e+01    0.00000e+00

First question, why I have temperature and kinetic energy? Remember, it's a
single point energy calculation, without any sort of coupling, 0 velocities
and and gen_vel = no.

Secondly, converting gromacs energies (kJ/mol) by dividing the terms by
4.184 and they don't match amber/namd results. See relative diffs

Bond:    5.87%
Angle:   3.49%
Dihe:    0.14%
vdW:     0.52%
Elec:    0.17%
Pot.Tot: 5.90%

I am very surprised to find this difference, in special for Bond since it's
for this term essentially the same equation and parameters. Any ideas of
what could be missing here?

Many thanks,


More information about the gromacs.org_gmx-users mailing list