[gmx-users] Strong egative energy drift (losing energy) in explicit water AMBER protein simulation
ms
devicerandom at gmail.com
Wed Jun 13 16:20:40 CEST 2012
Hi,
I am trying to prepare a simple system for tests with CUDA. My guinea
pig is the lysozyme system from this tutorial:
http://www.bevanlab.biochem.vt.edu/Pages/Personal/justin/gmx-tutorials/lysozyme/01_pdb2gmx.html
but I prepared it using the AMBER99sb-ildn force field and the SPCE
water model.
After extensive minimization steps, I started a (CPU) very short test
run (3 ns) to check if everything was ok before beginning to deal with CUDA.
However I found that there is a strong drift in energy and temperature:
>>>>>g_energy_d output:
Opened 1AKI_production_GPU.edr as double precision energy file
Select the terms you want from the following list by
selecting either (part of) the name or the number or a combination.
End your selection with an empty line or a zero.
-------------------------------------------------------------------
1 Bond 2 Angle 3 Proper-Dih. 4
Improper-Dih.
5 LJ-14 6 Coulomb-14 7 LJ-(SR) 8
Coulomb-(SR)
9 Coul.-recip. 10 Potential 11 Kinetic-En. 12
Total- Energy
13 Temperature 14 Pressure 15 Box-X 16
Box-Y
17 Box-Z 18 Volume 19 Density 20 pV
21 Enthalpy 22 Vir-XX 23 Vir-XY 24
Vir-XZ
25 Vir-YX 26 Vir-YY 27 Vir-YZ 28
Vir-ZX
29 Vir-ZY 30 Vir-ZZ 31 Pres-XX 32
Pres-XY
33 Pres-XZ 34 Pres-YX 35 Pres-YY 36
Pres-YZ
37 Pres-ZX 38 Pres-ZY 39 Pres-ZZ 40
#Surf*SurfTen
41 Box-Vel-XX 42 Box-Vel-YY 43 Box-Vel-ZZ 44 Mu-X
45 Mu-Y 46 Mu-Z
47 Coul-SR:Protein-Protein 48 LJ-SR:Protein-Protein
49 Coul-14:Protein-Protein 50 LJ-14:Protein-Protein
51 Coul-SR:Protein-non-Protein 52 LJ-SR:Protein-non-Protein
53 Coul-14:Protein-non-Protein 54 LJ-14:Protein-non-Protein
55 Coul-SR:non-Protein-non-Protein 56
LJ-SR:non-Protein-non-Protein
57 Coul-14:non-Protein-non-Protein 58
LJ-14:non-Protein-non-Protein
59 T-System
10
11
12
13
14
Last energy frame read 30000 time 5000.000
Statistics over 3000001 steps [ 2000.0000 through 5000.0000 ps ], 5
data sets
All statistics are over 1500001 points
Energy Average Err.Est. RMSD Tot-Drift
-------------------------------------------------------------------------------
Potential -529618 1500 3004.68 -10322.5
(kJ/mol)
Kinetic En. 86141.8 610 1295.7 -4294.67
(kJ/mol)
Total Energy -443476 2100 4220.26 -14617.1
(kJ/mol)
Temperature 292.49 2.1 4.39949 -14.5823 (K)
Pressure 1.02119 0.0046 133.601 -0.0134421
(bar)
You may want to use the -driftcorr flag in order to correct
for spurious drift in the graphs. Note that this is not
a substitute for proper equilibration and sampling!
WARNING: nmol = 1, this may not be what you want.
Temperature dependent fluctuation properties at T = 292.49.
The MDP is:
>>>>>production_GPU.mdp
; PREPROCESSING OPTIONS
title = production run 1 for GPU usage
include =
define =
; RUN CONTROL PARAMETERS
integrator = md ; for GPUs: "Option md is accepted but keep in mind
that the actual algorithm is not leap-frog."
tinit = 2000
dt = 0.001 ; 1 fs
nsteps = 3000000 ; 3 ns
init_step = 0
; CENTER OF MASS MOTION REMOVAL
nstcomm = 1
comm_mode = linear
comm_grps = protein non-protein
; OUTPUT CONTROL
nstxout = 2000 ; Doubled these because disk output is a strong
bottleneck apparently
nstvout = 2000
nstfout = 0
nstlog = 100
nstenergy = 100
nstxtcout = 100
nstcalcenergy = -1
xtcprecision = 1000
energygrps = protein non-protein
; NEIGHBOR SEARCHING PARAMETERS
nstlist = 2.
ns_type = grid
pbc = xyz
rlist = 1.0
; OPTIONS FOR ELECTROSTATICS AND VDW
coulombtype = PME ; this is OK for GPUs
rcoulomb_switch = 0.
rcoulomb = 1.0
epsilon_r = 1
vdwtype = cut-off
rvdw-switch = 0.
rvdw = 1.0
DispCorr = no
fourierspacing = 0.12
fourier_nx = 0
fourier_ny = 0
fourier_nz = 0
pme_order = 4
ewald_rtol = 1e-05
epsilon_surface = 0
optimize_fft = no
; TEMPERATURE COUPLING
tcoupl = andersen ; All values of this are equivalent to "andersen" in
GPU mode
tc_grps = system
tau_t = 0.1
ref_t = 300.00
; PRESSURE COUPLING
pcoupl = parrinello-rahman ; "OpenMM implements the Monte Carlo
barostat. All values for Pcoupl are thus accepted."
pcoupltype = isotropic
tau_p = 1.0
compressibility = 4.5e-05
ref_p = 1.0
; VELOCITY GENERATION
gen_vel = no
<<<<<<<<
Command lines are:
grompp_d -f production_GPU.mdp -c 1AKI_em4sol.gro -p topol.top -o
1AKI_production_GPU.tpr
mpirun -np 8 mdrun_d -v -deffn 1AKI_production_GPU -s
1AKI_production_GPU.tpr -g 1AKI_production_GPU.log -c
1AKI_production_GPU.gro -o 1AKI_production_GPU.trr -g
1AKI_production_GPU.log -e 1AKI_production_GPU.edr
I am using Gromacs 4.5.5 compiled in double precision.
I am very rusty with Gromacs, since I last dealt molecular dynamics more
than 1 year ago :) , so probably I am missing something obvious. Any
hint on where should I look for to solve the problem? (Also, advice on
if the .mdp is indeed correct for CUDA simulations are welcome)
cheers,
Massimo
--
Massimo Sandal, Ph.D.
http://devicerandom.org
More information about the gromacs.org_gmx-users
mailing list