<div dir="ltr">Hi,<div><br></div><div>Yes, that&#39;s a problem long fixed, and several orders of magnitude larger.</div><div><br></div><div>Mark</div></div><br><div class="gmail_quote"><div dir="ltr">On Wed, Jul 15, 2015 at 6:16 PM Bernhard &lt;<a href="mailto:b.reuter@uni-kassel.de">b.reuter@uni-kassel.de</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I remember some research article <a href="http://dx.doi.org/10.1063/1.2431176" rel="noreferrer" target="_blank">http://dx.doi.org/10.1063/1.2431176</a> (or<br>
<a href="https://www.deshawresearch.com/publications/A%20common,%20avoidable%20source%20of%20error%20in%20molecular%20dynamics%20integrators.pdf" rel="noreferrer" target="_blank">https://www.deshawresearch.com/publications/A%20common,%20avoidable%20source%20of%20error%20in%20molecular%20dynamics%20integrators.pdf</a>)<br>
from 2006 which showed a comparable linear energy drift for single<br>
precision GROMACS 3.3.1 due to not optimal calculation of the velocity<br>
of constrained particels.<br>
But this issue should be solved in version 4.6.7?<br>
<br>
Best,<br>
Bernhard<br>
<br>
Am 15/07/15 um 18:04 schrieb Bernhard:<br>
&gt; Indeed seems so... unfortunately I have no clue about the cause.<br>
&gt; Maybe the head of the .log file is of some use?<br>
&gt;<br>
&gt; Log file opened on Wed Jul  1 17:33:48 2015<br>
&gt; Host: theo2-pc20  pid: 15411  nodeid: 0  nnodes:  1<br>
&gt; Gromacs version:    VERSION 4.6.7<br>
&gt; Precision:          single<br>
&gt; Memory model:       64 bit<br>
&gt; MPI library:        thread_mpi<br>
&gt; OpenMP support:     enabled<br>
&gt; GPU support:        disabled<br>
&gt; invsqrt routine:    gmx_software_invsqrt(x)<br>
&gt; CPU acceleration:   AVX_256<br>
&gt; FFT library:        fftw-3.3.2-sse2<br>
&gt; Large file support: enabled<br>
&gt; RDTSCP usage:       enabled<br>
&gt; Built on:           Di 16. Jun 15:38:40 CEST 2015<br>
&gt; Built by:           berni@theo2-pc20 [CMAKE]<br>
&gt; Build OS/arch:      Linux 3.13.0-43-generic x86_64<br>
&gt; Build CPU vendor:   GenuineIntel<br>
&gt; Build CPU brand:    Intel(R) Core(TM) i7-4930K CPU @ 3.40GHz<br>
&gt; Build CPU family:   6   Model: 62   Stepping: 4<br>
&gt; Build CPU features: aes apic avx clfsh cmov cx8 cx16 f16c htt lahf_lm<br>
&gt; mmx msr nonstop_tsc pcid pclmuldq pdcm pdpe1gb popcnt pse rdrnd rdtscp<br>
&gt; sse2 sse3 sse4.1 sse4.2 ssse3 tdt x2apic<br>
&gt; C compiler:         /usr/bin/cc GNU cc (Ubuntu 4.8.2-19ubuntu1) 4.8.2<br>
&gt; C compiler flags:   -mavx    -Wextra -Wno-missing-field-initializers<br>
&gt; -Wno-sign-compare -Wall -Wno-unused -Wunused-value<br>
&gt; -Wno-unused-parameter -Wno-array-bounds -Wno-maybe-uninitialized<br>
&gt; -Wno-strict-overflow -fomit-frame-pointer -funroll-all-loops<br>
&gt; -fexcess-precision=fast -O3 -DNDEBUG<br>
&gt;<br>
&gt;<br>
&gt;                          :-)  G  R  O  M  A  C  S  (-:<br>
&gt;<br>
&gt;                       GROwing Monsters And Cloning Shrimps<br>
&gt;<br>
&gt;                             :-)  VERSION 4.6.7  (-:<br>
&gt;<br>
&gt;         Contributions from Mark Abraham, Emile Apol, Rossen Apostolov,<br>
&gt;            Herman J.C. Berendsen, Aldert van Buuren, Pär Bjelkmar,<br>
&gt;      Rudi van Drunen, Anton Feenstra, Gerrit Groenhof, Christoph<br>
&gt; Junghans,<br>
&gt;         Peter Kasson, Carsten Kutzner, Per Larsson, Pieter Meulenhoff,<br>
&gt;            Teemu Murtola, Szilard Pall, Sander Pronk, Roland Schulz,<br>
&gt;                 Michael Shirts, Alfons Sijbers, Peter Tieleman,<br>
&gt;<br>
&gt;                Berk Hess, David van der Spoel, and Erik Lindahl.<br>
&gt;<br>
&gt;        Copyright (c) 1991-2000, University of Groningen, The Netherlands.<br>
&gt;          Copyright (c) 2001-2012,2013, The GROMACS development team at<br>
&gt;         Uppsala University &amp; The Royal Institute of Technology, Sweden.<br>
&gt;             check out <a href="http://www.gromacs.org" rel="noreferrer" target="_blank">http://www.gromacs.org</a> for more information.<br>
&gt;<br>
&gt;          This program is free software; you can redistribute it and/or<br>
&gt;        modify it under the terms of the GNU Lesser General Public License<br>
&gt;         as published by the Free Software Foundation; either version 2.1<br>
&gt;              of the License, or (at your option) any later version.<br>
&gt;<br>
&gt;                                 :-)  mdrun  (-:<br>
&gt;<br>
&gt;<br>
&gt; ++++ PLEASE READ AND CITE THE FOLLOWING REFERENCE ++++<br>
&gt; B. Hess and C. Kutzner and D. van der Spoel and E. Lindahl<br>
&gt; GROMACS 4: Algorithms for highly efficient, load-balanced, and scalable<br>
&gt; molecular simulation<br>
&gt; J. Chem. Theory Comput. 4 (2008) pp. 435-447<br>
&gt; -------- -------- --- Thank You --- -------- --------<br>
&gt;<br>
&gt;<br>
&gt; ++++ PLEASE READ AND CITE THE FOLLOWING REFERENCE ++++<br>
&gt; D. van der Spoel, E. Lindahl, B. Hess, G. Groenhof, A. E. Mark and H.<br>
&gt; J. C.<br>
&gt; Berendsen<br>
&gt; GROMACS: Fast, Flexible and Free<br>
&gt; J. Comp. Chem. 26 (2005) pp. 1701-1719<br>
&gt; -------- -------- --- Thank You --- -------- --------<br>
&gt;<br>
&gt;<br>
&gt; ++++ PLEASE READ AND CITE THE FOLLOWING REFERENCE ++++<br>
&gt; E. Lindahl and B. Hess and D. van der Spoel<br>
&gt; GROMACS 3.0: A package for molecular simulation and trajectory analysis<br>
&gt; J. Mol. Mod. 7 (2001) pp. 306-317<br>
&gt; -------- -------- --- Thank You --- -------- --------<br>
&gt;<br>
&gt;<br>
&gt; ++++ PLEASE READ AND CITE THE FOLLOWING REFERENCE ++++<br>
&gt; H. J. C. Berendsen, D. van der Spoel and R. van Drunen<br>
&gt; GROMACS: A message-passing parallel molecular dynamics implementation<br>
&gt; Comp. Phys. Comm. 91 (1995) pp. 43-56<br>
&gt; -------- -------- --- Thank You --- -------- --------<br>
&gt;<br>
&gt; Input Parameters:<br>
&gt;    integrator           = md<br>
&gt;    nsteps               = 10000000<br>
&gt;    init-step            = 0<br>
&gt;    cutoff-scheme        = Verlet<br>
&gt;    ns_type              = Grid<br>
&gt;    nstlist              = 10<br>
&gt;    ndelta               = 2<br>
&gt;    nstcomm              = 100<br>
&gt;    comm-mode            = Linear<br>
&gt;    nstlog               = 5000<br>
&gt;    nstxout              = 5000<br>
&gt;    nstvout              = 5000<br>
&gt;    nstfout              = 0<br>
&gt;    nstcalcenergy        = 100<br>
&gt;    nstenergy            = 1000<br>
&gt;    nstxtcout            = 1000<br>
&gt;    init-t               = 0<br>
&gt;    delta-t              = 0.001<br>
&gt;    xtcprec              = 1000<br>
&gt;    fourierspacing       = 0.12<br>
&gt;    nkx                  = 60<br>
&gt;    nky                  = 60<br>
&gt;    nkz                  = 60<br>
&gt;    pme-order            = 4<br>
&gt;    ewald-rtol           = 1e-05<br>
&gt;    ewald-geometry       = 0<br>
&gt;    epsilon-surface      = 0<br>
&gt;    optimize-fft         = FALSE<br>
&gt;    ePBC                 = xyz<br>
&gt;    bPeriodicMols        = FALSE<br>
&gt;    bContinuation        = TRUE<br>
&gt;    bShakeSOR            = FALSE<br>
&gt;    etc                  = Nose-Hoover<br>
&gt;    bPrintNHChains       = FALSE<br>
&gt;    nsttcouple           = 10<br>
&gt;    epc                  = No<br>
&gt;    epctype              = Isotropic<br>
&gt;    nstpcouple           = -1<br>
&gt;    tau-p                = 1<br>
&gt;    ref-p (3x3):<br>
&gt;       ref-p[    0]={ 0.00000e+00,  0.00000e+00,  0.00000e+00}<br>
&gt;       ref-p[    1]={ 0.00000e+00,  0.00000e+00,  0.00000e+00}<br>
&gt;       ref-p[    2]={ 0.00000e+00,  0.00000e+00,  0.00000e+00}<br>
&gt;    compress (3x3):<br>
&gt;       compress[    0]={ 0.00000e+00,  0.00000e+00,  0.00000e+00}<br>
&gt;       compress[    1]={ 0.00000e+00,  0.00000e+00,  0.00000e+00}<br>
&gt;       compress[    2]={ 0.00000e+00,  0.00000e+00,  0.00000e+00}<br>
&gt;    refcoord-scaling     = No<br>
&gt;    posres-com (3):<br>
&gt;       posres-com[0]= 0.00000e+00<br>
&gt;       posres-com[1]= 0.00000e+00<br>
&gt;       posres-com[2]= 0.00000e+00<br>
&gt;    posres-comB (3):<br>
&gt;       posres-comB[0]= 0.00000e+00<br>
&gt;       posres-comB[1]= 0.00000e+00<br>
&gt;       posres-comB[2]= 0.00000e+00<br>
&gt;    verlet-buffer-drift  = 0.005<br>
&gt;    rlist                = 1<br>
&gt;    rlistlong            = 1<br>
&gt;    nstcalclr            = 10<br>
&gt;    rtpi                 = 0.05<br>
&gt;    coulombtype          = PME<br>
&gt;    coulomb-modifier     = Potential-shift<br>
&gt;    rcoulomb-switch      = 0<br>
&gt;    rcoulomb             = 1<br>
&gt;    vdwtype              = Cut-off<br>
&gt;    vdw-modifier         = Potential-shift<br>
&gt;    rvdw-switch          = 0<br>
&gt;    rvdw                 = 1<br>
&gt;    epsilon-r            = 1<br>
&gt;    epsilon-rf           = inf<br>
&gt;    tabext               = 1<br>
&gt;    implicit-solvent     = No<br>
&gt;    gb-algorithm         = Still<br>
&gt;    gb-epsilon-solvent   = 80<br>
&gt;    nstgbradii           = 1<br>
&gt;    rgbradii             = 1<br>
&gt;    gb-saltconc          = 0<br>
&gt;    gb-obc-alpha         = 1<br>
&gt;    gb-obc-beta          = 0.8<br>
&gt;    gb-obc-gamma         = 4.85<br>
&gt;    gb-dielectric-offset = 0.009<br>
&gt;    sa-algorithm         = Ace-approximation<br>
&gt;    sa-surface-tension   = 2.05016<br>
&gt;    DispCorr             = EnerPres<br>
&gt;    bSimTemp             = FALSE<br>
&gt;    free-energy          = no<br>
&gt;    nwall                = 0<br>
&gt;    wall-type            = 9-3<br>
&gt;    wall-atomtype[0]     = -1<br>
&gt;    wall-atomtype[1]     = -1<br>
&gt;    wall-density[0]      = 0<br>
&gt;    wall-density[1]      = 0<br>
&gt;    wall-ewald-zfac      = 3<br>
&gt;    pull                 = no<br>
&gt;    rotation             = FALSE<br>
&gt;    disre                = No<br>
&gt;    disre-weighting      = Conservative<br>
&gt;    disre-mixed          = FALSE<br>
&gt;    dr-fc                = 1000<br>
&gt;    dr-tau               = 0<br>
&gt;    nstdisreout          = 100<br>
&gt;    orires-fc            = 0<br>
&gt;    orires-tau           = 0<br>
&gt;    nstorireout          = 100<br>
&gt;    dihre-fc             = 0<br>
&gt;    em-stepsize          = 0.01<br>
&gt;    em-tol               = 10<br>
&gt;    niter                = 20<br>
&gt;    fc-stepsize          = 0<br>
&gt;    nstcgsteep           = 1000<br>
&gt;    nbfgscorr            = 10<br>
&gt;    ConstAlg             = Lincs<br>
&gt;    shake-tol            = 0.0001<br>
&gt;    lincs-order          = 4<br>
&gt;    lincs-warnangle      = 30<br>
&gt;    lincs-iter           = 1<br>
&gt;    bd-fric              = 0<br>
&gt;    ld-seed              = 1993<br>
&gt;    cos-accel            = 0<br>
&gt;    deform (3x3):<br>
&gt;       deform[    0]={ 0.00000e+00,  0.00000e+00,  0.00000e+00}<br>
&gt;       deform[    1]={ 0.00000e+00,  0.00000e+00,  0.00000e+00}<br>
&gt;       deform[    2]={ 0.00000e+00,  0.00000e+00,  0.00000e+00}<br>
&gt;    adress               = FALSE<br>
&gt;    userint1             = 0<br>
&gt;    userint2             = 0<br>
&gt;    userint3             = 0<br>
&gt;    userint4             = 0<br>
&gt;    userreal1            = 0<br>
&gt;    userreal2            = 0<br>
&gt;    userreal3            = 0<br>
&gt;    userreal4            = 0<br>
&gt; grpopts:<br>
&gt;    nrdf:      1501.9     44334.1<br>
&gt;    ref-t:         300         300<br>
&gt;    tau-t:         2.5         2.5<br>
&gt; anneal:          No          No<br>
&gt; ann-npoints:           0           0<br>
&gt;    acc:               0           0           0<br>
&gt;    nfreeze:           N           N           N<br>
&gt;    energygrp-flags[  0]: 0<br>
&gt;    efield-x:<br>
&gt;       n = 0<br>
&gt;    efield-xt:<br>
&gt;       n = 0<br>
&gt;    efield-y:<br>
&gt;       n = 0<br>
&gt;    efield-yt:<br>
&gt;       n = 0<br>
&gt;    efield-z:<br>
&gt;       n = 0<br>
&gt;    efield-zt:<br>
&gt;       n = 0<br>
&gt;    bQMMM                = FALSE<br>
&gt;    QMconstraints        = 0<br>
&gt;    QMMMscheme           = 0<br>
&gt;    scalefactor          = 1<br>
&gt; qm-opts:<br>
&gt;    ngQM                 = 0<br>
&gt; Using 1 MPI thread<br>
&gt; Using 12 OpenMP threads<br>
&gt;<br>
&gt; Detecting CPU-specific acceleration.<br>
&gt; Present hardware specification:<br>
&gt; Vendor: GenuineIntel<br>
&gt; Brand:  Intel(R) Core(TM) i7-4930K CPU @ 3.40GHz<br>
&gt; Family:  6  Model: 62  Stepping:  4<br>
&gt; Features: aes apic avx clfsh cmov cx8 cx16 f16c htt lahf_lm mmx msr<br>
&gt; nonstop_tsc pcid pclmuldq pdcm pdpe1gb popcnt pse rdrnd rdtscp sse2<br>
&gt; sse3 sse4.1 sse4.2 ssse3 tdt x2apic<br>
&gt; Acceleration most likely to fit this hardware: AVX_256<br>
&gt; Acceleration selected at GROMACS compile time: AVX_256<br>
&gt;<br>
&gt; Will do PME sum in reciprocal space.<br>
&gt;<br>
&gt; ++++ PLEASE READ AND CITE THE FOLLOWING REFERENCE ++++<br>
&gt; U. Essmann, L. Perera, M. L. Berkowitz, T. Darden, H. Lee and L. G.<br>
&gt; Pedersen<br>
&gt; A smooth particle mesh Ewald method<br>
&gt; J. Chem. Phys. 103 (1995) pp. 8577-8592<br>
&gt; -------- -------- --- Thank You --- -------- --------<br>
&gt;<br>
&gt; Will do ordinary reciprocal space Ewald sum.<br>
&gt; Using a Gaussian width (1/beta) of 0.320163 nm for Ewald<br>
&gt; Cut-off&#39;s:   NS: 1   Coulomb: 1   LJ: 1<br>
&gt; Long Range LJ corr.: &lt;C6&gt; 2.8855e-04<br>
&gt; System total charge: 0.000<br>
&gt; Generated table with 1000 data points for Ewald.<br>
&gt; Tabscale = 500 points/nm<br>
&gt; Generated table with 1000 data points for LJ6.<br>
&gt; Tabscale = 500 points/nm<br>
&gt; Generated table with 1000 data points for LJ12.<br>
&gt; Tabscale = 500 points/nm<br>
&gt; Generated table with 1000 data points for 1-4 COUL.<br>
&gt; Tabscale = 500 points/nm<br>
&gt; Generated table with 1000 data points for 1-4 LJ6.<br>
&gt; Tabscale = 500 points/nm<br>
&gt; Generated table with 1000 data points for 1-4 LJ12.<br>
&gt; Tabscale = 500 points/nm<br>
&gt;<br>
&gt; Using AVX-256 4x4 non-bonded kernels<br>
&gt;<br>
&gt; Using Lorentz-Berthelot Lennard-Jones combination rule<br>
&gt;<br>
&gt; Potential shift: LJ r^-12: 1.000 r^-6 1.000, Ewald 1.000e-05<br>
&gt; Initialized non-bonded Ewald correction tables, spacing: 6.60e-04<br>
&gt; size: 3033<br>
&gt;<br>
&gt; Pinning threads with an auto-selected logical core stride of 1<br>
&gt;<br>
&gt; Initializing LINear Constraint Solver<br>
&gt;<br>
&gt; ++++ PLEASE READ AND CITE THE FOLLOWING REFERENCE ++++<br>
&gt; B. Hess and H. Bekker and H. J. C. Berendsen and J. G. E. M. Fraaije<br>
&gt; LINCS: A Linear Constraint Solver for molecular simulations<br>
&gt; J. Comp. Chem. 18 (1997) pp. 1463-1472<br>
&gt; -------- -------- --- Thank You --- -------- --------<br>
&gt;<br>
&gt; The number of constraints is 292<br>
&gt;<br>
&gt; ++++ PLEASE READ AND CITE THE FOLLOWING REFERENCE ++++<br>
&gt; S. Miyamoto and P. A. Kollman<br>
&gt; SETTLE: An Analytical Version of the SHAKE and RATTLE Algorithms for<br>
&gt; Rigid<br>
&gt; Water Models<br>
&gt; J. Comp. Chem. 13 (1992) pp. 952-962<br>
&gt; -------- -------- --- Thank You --- -------- --------<br>
&gt;<br>
&gt; Center of mass motion removal mode is Linear<br>
&gt; We have the following groups for center of mass motion removal:<br>
&gt;   0:  rest<br>
&gt; There are: 22765 Atoms<br>
&gt; Initial temperature: 299.915 K<br>
&gt;<br>
&gt;<br>
&gt; Am 15/07/15 um 17:57 schrieb Shirts, Michael R. (mrs5pt):<br>
&gt;&gt;&gt; There I also got a linear drift (but smaller) of 0.78 kJ/mol/ps<br>
&gt;&gt;&gt; (3.436*10^-5 kJ/mol/ps per atom).<br>
&gt;&gt;&gt; For comparison reasons I also did a NVT Nose-Hoover Simulation with<br>
&gt;&gt;&gt; manually set rlist=1.012nm: There I got a comparable linear drift of<br>
&gt;&gt;&gt; 0.67<br>
&gt;&gt;&gt; kJ/mol/ps (2.94*10^-5 kJ/mol/ps per atom). So no differences between<br>
&gt;&gt;&gt; NVE<br>
&gt;&gt;&gt; and NVT so far in my opinion...<br>
&gt;&gt;<br>
&gt;&gt; So sounds like the conserved quantity drift with NVT is not due to<br>
&gt;&gt; NH, but<br>
&gt;&gt; due to something else with the underlying dynamics.<br>
&gt;&gt;<br>
&gt;&gt; Best,<br>
&gt;&gt; ~~~~~~~~~~~~<br>
&gt;&gt; Michael Shirts<br>
&gt;&gt; Associate Professor<br>
&gt;&gt; Department of Chemical Engineering<br>
&gt;&gt; University of Virginia<br>
&gt;&gt; <a href="mailto:michael.shirts@virginia.edu" target="_blank">michael.shirts@virginia.edu</a><br>
&gt;&gt; (434) 243-1821<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; On 7/15/15, 11:41 AM, &quot;Bernhard&quot; &lt;<a href="mailto:b.reuter@uni-kassel.de" target="_blank">b.reuter@uni-kassel.de</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt;&gt; I mean a drift of the total energy in NVE - while with Nose-Hoover the<br>
&gt;&gt;&gt; drift is in the Conserved-Energy quantity of g_energy (the total energy<br>
&gt;&gt;&gt; shows no drift with Noose-Hoover...).<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Am 15/07/15 um 17:38 schrieb Bernhard:<br>
&gt;&gt;&gt;&gt; I also did a NVE simulation with the same parameters, system and<br>
&gt;&gt;&gt;&gt; starting conditions but with manually set rlist=1.012nm (since<br>
&gt;&gt;&gt;&gt; verlet-buffer-drift doesnt work in NVE):<br>
&gt;&gt;&gt;&gt; There I also got a linear drift (but smaller) of 0.78 kJ/mol/ps<br>
&gt;&gt;&gt;&gt; (3.436*10^-5 kJ/mol/ps per atom).<br>
&gt;&gt;&gt;&gt; For comparison reasons I also did a NVT Nose-Hoover Simulation with<br>
&gt;&gt;&gt;&gt; manually set rlist=1.012nm:<br>
&gt;&gt;&gt;&gt; There I got a comparable linear drift of 0.67 kJ/mol/ps (2.94*10^-5<br>
&gt;&gt;&gt;&gt; kJ/mol/ps per atom).<br>
&gt;&gt;&gt;&gt; So no differences between NVE and NVT so far in my opinion...<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Best,<br>
&gt;&gt;&gt;&gt; Bernhard<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Am 15/07/15 um 17:10 schrieb Shirts, Michael R. (mrs5pt):<br>
&gt;&gt;&gt;&gt;&gt; The conserved quantity in nose-hoover is not quite as good as the<br>
&gt;&gt;&gt;&gt;&gt; conserved energy, which should have no drift at all.  For NH, the<br>
&gt;&gt;&gt;&gt;&gt; conserved quantity should drift as a random Gaussian process with<br>
&gt;&gt;&gt;&gt;&gt; mean<br>
&gt;&gt;&gt;&gt;&gt; zero (i.e. go with sqrt(N)). It shouldn&#39;t be drifting linearly.<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; I would check to see if your system conserved energy when run with<br>
&gt;&gt;&gt;&gt;&gt; NVE<br>
&gt;&gt;&gt;&gt;&gt; (use the endpoint of the NPT simulation).  It&#39;s easier to diagnose<br>
&gt;&gt;&gt;&gt;&gt; any<br>
&gt;&gt;&gt;&gt;&gt; problems with an NVE simulation, which should have virtually no<br>
&gt;&gt;&gt;&gt;&gt; drift, vs<br>
&gt;&gt;&gt;&gt;&gt; a NVT simulation, which has random noise drift.  Odds are, if<br>
&gt;&gt;&gt;&gt;&gt; there is<br>
&gt;&gt;&gt;&gt;&gt; a<br>
&gt;&gt;&gt;&gt;&gt; problem with the NVT simulation, it will also show up in the NVE<br>
&gt;&gt;&gt;&gt;&gt; simulation if only the thermostat is removed.<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; Also, consider looking at<br>
&gt;&gt;&gt;&gt;&gt; <a href="http://pubs.acs.org/doi/abs/10.1021/ct300688p" rel="noreferrer" target="_blank">http://pubs.acs.org/doi/abs/10.1021/ct300688p</a><br>
&gt;&gt;&gt;&gt;&gt; for tests of whether the ensemble generated is correct.<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; Best,<br>
&gt;&gt;&gt;&gt;&gt; ~~~~~~~~~~~~<br>
&gt;&gt;&gt;&gt;&gt; Michael Shirts<br>
&gt;&gt;&gt;&gt;&gt; Associate Professor<br>
&gt;&gt;&gt;&gt;&gt; Department of Chemical Engineering<br>
&gt;&gt;&gt;&gt;&gt; University of Virginia<br>
&gt;&gt;&gt;&gt;&gt; <a href="mailto:michael.shirts@virginia.edu" target="_blank">michael.shirts@virginia.edu</a><br>
&gt;&gt;&gt;&gt;&gt; (434) 243-1821<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; On 7/15/15, 10:58 AM, &quot;Bernhard&quot; &lt;<a href="mailto:b.reuter@uni-kassel.de" target="_blank">b.reuter@uni-kassel.de</a>&gt; wrote:<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; Dear Gromacs Users and Developers,<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; I have a problem regarding energy conservation in my 10ns NVT<br>
&gt;&gt;&gt;&gt;&gt;&gt; protein+water+ions (22765 atoms) production (minimization and<br>
&gt;&gt;&gt;&gt;&gt;&gt; equilibration for more than 15ns was carried out in NPT before)<br>
&gt;&gt;&gt;&gt;&gt;&gt; simulations using a Nose-Hoover thermostat (tau=2.5ps).<br>
&gt;&gt;&gt;&gt;&gt;&gt; On first glance everything looks fine - the potential, kinetic and<br>
&gt;&gt;&gt;&gt;&gt;&gt; total<br>
&gt;&gt;&gt;&gt;&gt;&gt; energy are nearly perfectly constant (with normal fluctuations) -<br>
&gt;&gt;&gt;&gt;&gt;&gt; but<br>
&gt;&gt;&gt;&gt;&gt;&gt; when I checked the &quot;Conserved-Energy&quot; quantity that g_energy<br>
&gt;&gt;&gt;&gt;&gt;&gt; outputs I<br>
&gt;&gt;&gt;&gt;&gt;&gt; had to recognize a significant (nearly perfectly) linear downward<br>
&gt;&gt;&gt;&gt;&gt;&gt; drift<br>
&gt;&gt;&gt;&gt;&gt;&gt; of this &quot;to-be-conserved&quot; quantity of around 1.7 kJ/mol/ps<br>
&gt;&gt;&gt;&gt;&gt;&gt; (7.48*10^-5<br>
&gt;&gt;&gt;&gt;&gt;&gt; kJ/mol/ps per atom).<br>
&gt;&gt;&gt;&gt;&gt;&gt; This appears somehow disturbing to me since I would expect that this<br>
&gt;&gt;&gt;&gt;&gt;&gt; Conserved-Energy is the conserved energy of the extended Nose-Hoover<br>
&gt;&gt;&gt;&gt;&gt;&gt; Hamiltonian - which should by definition be conserved.<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; If it would be a drift caused by normal round-off error due to<br>
&gt;&gt;&gt;&gt;&gt;&gt; single<br>
&gt;&gt;&gt;&gt;&gt;&gt; precision I would expect it to grow with Sqrt(N) and not with N<br>
&gt;&gt;&gt;&gt;&gt;&gt; (linear)<br>
&gt;&gt;&gt;&gt;&gt;&gt; (N=number of steps).<br>
&gt;&gt;&gt;&gt;&gt;&gt; So I would like to know if this is a normal behaviour and also what<br>
&gt;&gt;&gt;&gt;&gt;&gt; could cause this (buffer size, precision, constraints etc)?<br>
&gt;&gt;&gt;&gt;&gt;&gt; Also I would like to know, if I am correct with my guess that the<br>
&gt;&gt;&gt;&gt;&gt;&gt; &quot;Conserved-Energy&quot; quantity is in this case the energy of the<br>
&gt;&gt;&gt;&gt;&gt;&gt; extended<br>
&gt;&gt;&gt;&gt;&gt;&gt; Nose-Hoover Hamiltonian?<br>
&gt;&gt;&gt;&gt;&gt;&gt; The .mdp file is atatched (don&#39;t be confused about rlist=1 -<br>
&gt;&gt;&gt;&gt;&gt;&gt; since Im<br>
&gt;&gt;&gt;&gt;&gt;&gt; using the Verlet-scheme the verlet-buffer-drift option should be by<br>
&gt;&gt;&gt;&gt;&gt;&gt; default active and determine the rlist value (Verlet buffer-size)<br>
&gt;&gt;&gt;&gt;&gt;&gt; automatically).<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; Best regards,<br>
&gt;&gt;&gt;&gt;&gt;&gt; Bernhard<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; ; Run parameters<br>
&gt;&gt;&gt;&gt;&gt;&gt; integrator    = md        ; leap-frog integrator<br>
&gt;&gt;&gt;&gt;&gt;&gt; nsteps        = 10000000    ; 10000 ps = 10 ns<br>
&gt;&gt;&gt;&gt;&gt;&gt; dt        = 0.001        ; 1 fs<br>
&gt;&gt;&gt;&gt;&gt;&gt; ; Output control<br>
&gt;&gt;&gt;&gt;&gt;&gt; nstxout        = 5000        ; save coordinates every ps<br>
&gt;&gt;&gt;&gt;&gt;&gt; nstvout        = 5000        ; save velocities every ps<br>
&gt;&gt;&gt;&gt;&gt;&gt; nstxtcout    = 1000        ; xtc compressed trajectory output<br>
&gt;&gt;&gt;&gt;&gt;&gt; every ps<br>
&gt;&gt;&gt;&gt;&gt;&gt; nstenergy    = 1000        ; save energies every ps<br>
&gt;&gt;&gt;&gt;&gt;&gt; nstlog        = 5000        ; update log file every ps<br>
&gt;&gt;&gt;&gt;&gt;&gt; ; Bond parameters<br>
&gt;&gt;&gt;&gt;&gt;&gt; continuation    = yes        ; continue from NPT<br>
&gt;&gt;&gt;&gt;&gt;&gt; constraint_algorithm = lincs    ; holonomic constraints<br>
&gt;&gt;&gt;&gt;&gt;&gt; constraints    = h-bonds    ; all bonds (even heavy atom-H bonds)<br>
&gt;&gt;&gt;&gt;&gt;&gt; constrained<br>
&gt;&gt;&gt;&gt;&gt;&gt; lincs_iter    = 1        ; accuracy of LINCS<br>
&gt;&gt;&gt;&gt;&gt;&gt; lincs_order    = 4        ; also related to accuracy<br>
&gt;&gt;&gt;&gt;&gt;&gt; ; Neighborsearching<br>
&gt;&gt;&gt;&gt;&gt;&gt; cutoff-scheme    = Verlet    ; Verlet cutoff-scheme instead of<br>
&gt;&gt;&gt;&gt;&gt;&gt; group-scheme (no charge-groups used)<br>
&gt;&gt;&gt;&gt;&gt;&gt; ns_type        = grid        ; search neighboring grid cells<br>
&gt;&gt;&gt;&gt;&gt;&gt; nstlist        = 10        ; 10 fs<br>
&gt;&gt;&gt;&gt;&gt;&gt; rlist        = 1.0        ; short-range neighborlist cutoff (in nm)<br>
&gt;&gt;&gt;&gt;&gt;&gt; rcoulomb    = 1.0        ; short-range electrostatic cutoff (in nm)<br>
&gt;&gt;&gt;&gt;&gt;&gt; rvdw        = 1.0        ; short-range van der Waals cutoff (in nm)<br>
&gt;&gt;&gt;&gt;&gt;&gt; ; Electrostatics<br>
&gt;&gt;&gt;&gt;&gt;&gt; coulombtype    = PME        ; Particle Mesh Ewald for long-range<br>
&gt;&gt;&gt;&gt;&gt;&gt; electrostatics<br>
&gt;&gt;&gt;&gt;&gt;&gt; pme_order    = 4        ; cubic interpolation<br>
&gt;&gt;&gt;&gt;&gt;&gt; fourierspacing    = 0.12        ; grid spacing for FFT<br>
&gt;&gt;&gt;&gt;&gt;&gt; ; Temperature coupling is on<br>
&gt;&gt;&gt;&gt;&gt;&gt; tcoupl        = nose-hoover    ; modified Berendsen thermostat<br>
&gt;&gt;&gt;&gt;&gt;&gt; tc-grps        = Protein Non-Protein    ; two coupling groups - more<br>
&gt;&gt;&gt;&gt;&gt;&gt; accurate<br>
&gt;&gt;&gt;&gt;&gt;&gt; tau_t        = 2.5    2.5    ; time constant, in ps<br>
&gt;&gt;&gt;&gt;&gt;&gt; ref_t        = 300     300    ; reference temperature, one for each<br>
&gt;&gt;&gt;&gt;&gt;&gt; group, in K<br>
&gt;&gt;&gt;&gt;&gt;&gt; ; Pressure coupling is off<br>
&gt;&gt;&gt;&gt;&gt;&gt; pcoupl        = no         ; no pressure coupling in NVT<br>
&gt;&gt;&gt;&gt;&gt;&gt; ; Periodic boundary conditions<br>
&gt;&gt;&gt;&gt;&gt;&gt; pbc        = xyz        ; 3-D PBC<br>
&gt;&gt;&gt;&gt;&gt;&gt; ; Dispersion correction<br>
&gt;&gt;&gt;&gt;&gt;&gt; DispCorr    = EnerPres    ; account for cut-off vdW scheme<br>
&gt;&gt;&gt;&gt;&gt;&gt; ; Velocity generation<br>
&gt;&gt;&gt;&gt;&gt;&gt; gen_vel        = no        ; don¹t assign velocities from Maxwell<br>
&gt;&gt;&gt;&gt;&gt;&gt; distribution<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; --<br>
&gt;&gt;&gt;&gt;&gt;&gt; Gromacs Developers mailing list<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; * Please search the archive at<br>
&gt;&gt;&gt;&gt;&gt;&gt; <a href="http://www.gromacs.org/Support/Mailing_Lists/GMX-developers_List" rel="noreferrer" target="_blank">http://www.gromacs.org/Support/Mailing_Lists/GMX-developers_List</a><br>
&gt;&gt;&gt;&gt;&gt;&gt; before<br>
&gt;&gt;&gt;&gt;&gt;&gt; posting!<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; * Can&#39;t post? Read <a href="http://www.gromacs.org/Support/Mailing_Lists" rel="noreferrer" target="_blank">http://www.gromacs.org/Support/Mailing_Lists</a><br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; * For (un)subscribe requests visit<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; <a href="https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-developers" rel="noreferrer" target="_blank">https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-developers</a><br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; or send a mail to <a href="mailto:gmx-developers-request@gromacs.org" target="_blank">gmx-developers-request@gromacs.org</a>.<br>
&gt;&gt;&gt; --<br>
&gt;&gt;&gt; Gromacs Developers mailing list<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; * Please search the archive at<br>
&gt;&gt;&gt; <a href="http://www.gromacs.org/Support/Mailing_Lists/GMX-developers_List" rel="noreferrer" target="_blank">http://www.gromacs.org/Support/Mailing_Lists/GMX-developers_List</a> before<br>
&gt;&gt;&gt; posting!<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; * Can&#39;t post? Read <a href="http://www.gromacs.org/Support/Mailing_Lists" rel="noreferrer" target="_blank">http://www.gromacs.org/Support/Mailing_Lists</a><br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; * For (un)subscribe requests visit<br>
&gt;&gt;&gt; <a href="https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-developers" rel="noreferrer" target="_blank">https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-developers</a><br>
&gt;&gt;&gt; or send a mail to <a href="mailto:gmx-developers-request@gromacs.org" target="_blank">gmx-developers-request@gromacs.org</a>.<br>
&gt;<br>
<br>
--<br>
Gromacs Developers mailing list<br>
<br>
* Please search the archive at <a href="http://www.gromacs.org/Support/Mailing_Lists/GMX-developers_List" rel="noreferrer" target="_blank">http://www.gromacs.org/Support/Mailing_Lists/GMX-developers_List</a> before posting!<br>
<br>
* Can&#39;t post? Read <a href="http://www.gromacs.org/Support/Mailing_Lists" rel="noreferrer" target="_blank">http://www.gromacs.org/Support/Mailing_Lists</a><br>
<br>
* For (un)subscribe requests visit<br>
<a href="https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-developers" rel="noreferrer" target="_blank">https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-developers</a> or send a mail to <a href="mailto:gmx-developers-request@gromacs.org" target="_blank">gmx-developers-request@gromacs.org</a>.</blockquote></div>