[gmx-developers] pressure calculation in GROMACS CVS

Mareike Zink mzink at gwdg.de
Wed May 14 16:06:50 CEST 2008


Dear GROMACS developers,

I may found a bug in the pressure calculation of the current GROMACS CVS 
version:

My system (protein in water, approx. 320,000 particles) is equilibrated in an 
NPT ensemble and I want to run it with CVS version from 2007-07-04 or the 
current version from 2008-04-15 with a constant pressure of 1bar. The 
following pressure and box volumes are given as an output:

    Time(ps)    Pressure(bar)
    0.000000  1519.933594
    0.200000    1.404368
    0.400000   53.713745
    0.600000  -16.645607
    0.800000  -40.373356
    1.000000   64.932564

    Time(ps)   Volume(nm³)
    0.000000  2458.407227
    0.200000  2458.920166
    0.400000  2458.617188
    0.600000  2459.025146
    0.800000  2459.828613
    1.000000  2459.592285

When I did the preprocessing with a CVS version from 2007-06-21 or 
GROMACS-3.3.1 but run the simulation with the CVS version from 2007-07-04 or 
2008-04-15, the pressure and volume look much different:
   
    Time(ps)   Pressure(bar)   
    0.000000   95.616234
    0.200000    4.654475
    0.400000   59.303020
    0.600000   -7.656351
    0.800000   -1.787814
    1.000000   -9.527036

    Time(ps)   Volume
    0.000000  2458.407227
    0.200000  2458.871582
    0.400000  2458.587158
    0.600000  2458.832031
    0.800000  2459.606445
    1.000000  2459.485107


Maybe there is a problem with the preprocessor. The problem with the much too 
high pressure only occures if grompp was done with a CVS version from 
2007-07-04 or later.

Furthermore, the system I was using here, is just a subsystem of my complete 
simulation system which contains 4,5 Million atoms. Here I have the same 
problem but the pressure is much too small (-2000bar). Due to the wrong 
pressure, the pressure coupling rescales the box size within 1ps (my tau_p) 
and compresses the box to a much too small volume. Maybe the pressure 
calculation is buggy? 
Do you kno anything about this problem?

My mdp-files for grompp with gromacs331 and cvs are below.

If you need more information or files, please contact me.

Thanx,

Mareike


GROMACS 331:

;
;	File 'mdout.mdp' was generated
;	By user: mzink (37571)
;	On host: beany
;	At date: Mon Dec 18 12:45:54 2006
;

; VARIOUS PREPROCESSING OPTIONS
title                    = 
; Preprocessor - specify a full path if necessary.
cpp                      = /lib/cpp
include                  = 
define                   = 

; RUN CONTROL PARAMETERS
integrator               = md
; Start time and timestep in ps
tinit                    = 0
dt                       = 0.002
nsteps                   = 5000
; For exact run continuation or redoing part of a run
init_step                = 0
; mode for center of mass motion removal
comm-mode                = Linear
; number of steps for center of mass motion removal
nstcomm                  = 1
; group(s) for center of mass motion removal
comm-grps                = 

; LANGEVIN DYNAMICS OPTIONS
; Friction coefficient (amu/ps) and random seed
bd-fric                  = 0
ld_seed                  = 1993

; ENERGY MINIMIZATION OPTIONS
; Force tolerance and initial step-size
emtol                    = 0.000001
emstep                   = 0.01
; Max number of iterations in relax_shells
niter                    = 100
; Step size (ps^2) for minimization of flexible constraints
fcstep                   = 0
; Frequency of steepest descents steps when doing CG
nstcgsteep               = 1000
nbfgscorr                = 10

; OUTPUT CONTROL OPTIONS
; Output frequency for coords (x), velocities (v) and forces (f)
nstxout                  = 5000
nstvout                  = 5000
nstfout                  = 5000
; Checkpointing helps you continue after crashes
nstcheckpoint            = 5000
; Output frequency for energies to log file and energy file
nstlog                   = 100
nstenergy                = 100
; Output frequency and precision for xtc file
nstxtcout                = 500
xtc_precision            = 1000
; This selects the subset of atoms for the xtc file. You can
; select multiple groups. By default all atoms will be written.
xtc-grps                 = Protein CA
; Selection of energy groups
energygrps               = Protein CA SOL

; NEIGHBORSEARCHING PARAMETERS
; nblist update frequency
nstlist                  = 10
; ns algorithm (simple or grid)
ns_type                  = grid
; Periodic boundary conditions: xyz (default), no (vacuum)
; or full (infinite systems only)
pbc                      = xyz
; nblist cut-off        
rlist                    = 0.9
domain-decomposition     = no

; OPTIONS FOR ELECTROSTATICS AND VDW
; Method for doing electrostatics
coulombtype              = PME
rcoulomb_switch          = 0
rcoulomb                 = 0.9
; Relative dielectric constant for the medium and the reaction field
epsilon_r                = 1
epsilon_rf               = 1
; Method for doing Van der Waals
vdw-type                 = Cut-off
; cut-off lengths       
rvdw_switch              = 0
rvdw                     = 0.9
; Apply long range dispersion corrections for Energy and Pressure
DispCorr                 = No
; Extension of the potential lookup tables beyond the cut-off
table-extension          = 1
; Seperate tables between energy group pairs
energygrp_table          = 
; Spacing for the PME/PPPM FFT grid
fourierspacing           = 0.12
; FFT grid size, when a value is 0 fourierspacing will be used
fourier_nx               = 0
fourier_ny               = 0
fourier_nz               = 0
; EWALD/PME/PPPM parameters
pme_order                = 4
ewald_rtol               = 1e-05
ewald_geometry           = 3d
epsilon_surface          = 0
optimize_fft             = no

; GENERALIZED BORN ELECTROSTATICS
; Algorithm for calculating Born radii
gb_algorithm             = Still
; Frequency of calculating the Born radii inside rlist
nstgbradii               = 1
; Cutoff for Born radii calculation; the contribution from atoms
; between rlist and rgbradii is updated every nstlist steps
rgbradii                 = 2
; Salt concentration in M for Generalized Born models
gb_saltconc              = 0

; IMPLICIT SOLVENT (for use with Generalized Born electrostatics)
implicit_solvent         = No

; OPTIONS FOR WEAK COUPLING ALGORITHMS
; Temperature coupling  
Tcoupl                   = berendsen
; Groups to couple separately
tc_grps                  = Protein Other
; Time constant (ps) and reference temperature (K)
tau_t                    = 0.1 0.1
ref_t                    = 300 300
; Pressure coupling     
Pcoupl                   = berendsen
Pcoupltype               = isotropic
; Time constant (ps), compressibility (1/bar) and reference P (bar)
tau_p                    = 1.0
compressibility          = 4.5e-5
ref_p                    = 1.0
; Random seed for Andersen thermostat
andersen_seed            = 815131

; OPTIONS FOR QMMM calculations
QMMM                     = no
; Groups treated Quantum Mechanically
QMMM-grps                = 
; QM method             
QMmethod                 = 
; QMMM scheme           
QMMMscheme               = normal
; QM basisset           
QMbasis                  = 
; QM charge             
QMcharge                 = 
; QM multiplicity       
QMmult                   = 
; Surface Hopping       
SH                       = 
; CAS space options     
CASorbitals              = 
CASelectrons             = 
SAon                     = 
SAoff                    = 
SAsteps                  = 
; Scale factor for MM charges
MMChargeScaleFactor      = 1
; Optimization of QM subsystem
bOPT                     = 
bTS                      = 

; SIMULATED ANNEALING  
; Type of annealing for each temperature group (no/single/periodic)
annealing                = no no
; Number of time points to use for specifying annealing in each group
annealing_npoints        = 
; List of times at the annealing points for each group
annealing_time           = 
; Temp. at each annealing point, for each group.
annealing_temp           = 

; GENERATE VELOCITIES FOR STARTUP RUN
gen_vel                  = yes
gen_temp                 = 300
gen_seed                 = 173529

; OPTIONS FOR BONDS    
constraints              = all-bonds
; Type of constraint algorithm
constraint-algorithm     = Lincs
; Do not constrain the start configuration
unconstrained_start      = no
; Use successive overrelaxation to reduce the number of shake iterations
Shake-SOR                = no
; Relative tolerance of shake
shake_tol                = 1e-04
; Highest order in the expansion of the constraint coupling matrix
lincs-order              = 4
; Number of iterations in the final step of LINCS. 1 is fine for
; normal simulations, but use 2 to conserve energy in NVE runs.
; For energy minimization with constraints it should be 4 to 8.
lincs-iter               = 1
; Lincs will write a warning to the stderr if in one step a bond
; rotates over more degrees than
lincs-warnangle          = 30
; Convert harmonic bonds to morse potentials
morse                    = no

; ENERGY GROUP EXCLUSIONS
; Pairs of energy groups for which all non-bonded interactions are excluded
energygrp_excl           = 

; NMR refinement stuff 
; Distance restraints type: No, Simple or Ensemble
disre                    = No
; Force weighting of pairs in one distance restraint: Conservative or Equal
disre_weighting          = Equal
; Use sqrt of the time averaged times the instantaneous violation
disre_mixed              = no
disre_fc                 = 1000
disre_tau                = 1.25
; Output frequency for pair distances to energy file
nstdisreout              = 100
; Orientation restraints: No or Yes
orire                    = no
; Orientation restraints force constant and tau for time averaging
orire-fc                 = 0
orire-tau                = 0
orire-fitgrp             = 
; Output frequency for trace(SD) and S to energy file
nstorireout              = 100
; Dihedral angle restraints: No, Simple or Ensemble
dihre                    = No
dihre-fc                 = 1000
dihre-tau                = 0
; Output frequency for dihedral values to energy file
nstdihreout              = 100

; Free energy control stuff
free_energy              = no
init_lambda              = 0
delta_lambda             = 0
sc-alpha                 = 0
sc-power                 = 0
sc-sigma                 = 0.3

; Non-equilibrium MD stuff
acc-grps                 = 
accelerate               = 
freezegrps               = 
freezedim                = 
cos-acceleration         = 0
deform                   = 

; Electric fields      
; Format is number of terms (int) and for all terms an amplitude (real)
; and a phase angle (real)
E-x                      = 
E-xt                     = 
E-y                      = 
E-yt                     = 
E-z                      = 
E-zt                     = 

; User defined thingies
user1-grps               = 
user2-grps               = 
userint1                 = 0
userint2                 = 0
userint3                 = 0
userint4                 = 0
userreal1                = 0
userreal2                = 0
userreal3                = 0
userreal4                = 0


GROMACS CVS from 2007-04-07
;
;	File 'mdout.mdp' was generated
;	By user: mzink (37571)
;	On host: beany
;	At date: Mon Mar 17 20:14:43 2008
;

; VARIOUS PREPROCESSING OPTIONS
title                    = 
; Preprocessor - specify a full path if necessary.
cpp                      = /lib/cpp
include                  = 
define                   = 

; RUN CONTROL PARAMETERS
integrator               = md
; Start time and timestep in ps
tinit                    = 0
dt                       = 0.002
nsteps                   = 5000
; For exact run continuation or redoing part of a run
init_step                = 0
; mode for center of mass motion removal
comm-mode                = Linear
; number of steps for center of mass motion removal
nstcomm                  = 1
; group(s) for center of mass motion removal
comm-grps                = 

; LANGEVIN DYNAMICS OPTIONS
; Friction coefficient (amu/ps) and random seed
bd-fric                  = 0
ld_seed                  = 1993

; ENERGY MINIMIZATION OPTIONS
; Force tolerance and initial step-size
emtol                    = 0.000001
emstep                   = 0.01
; Max number of iterations in relax_shells
niter                    = 100
; Step size (ps^2) for minimization of flexible constraints
fcstep                   = 0
; Frequency of steepest descents steps when doing CG
nstcgsteep               = 1000
nbfgscorr                = 10

; TEST PARTICLE INSERTION OPTIONS
rtpi                     = 0.05

; OUTPUT CONTROL OPTIONS
; Output frequency for coords (x), velocities (v) and forces (f)
nstxout                  = 5000
nstvout                  = 5000
nstfout                  = 5000
; Checkpointing helps you continue after crashes
nstcheckpoint            = 5000
; Output frequency for energies to log file and energy file
nstlog                   = 100
nstenergy                = 100
; Output frequency and precision for xtc file
nstxtcout                = 500
xtc_precision            = 1000
; This selects the subset of atoms for the xtc file. You can
; select multiple groups. By default all atoms will be written.
xtc-grps                 = Protein CA
; Selection of energy groups
energygrps               = Protein CA SOL

; NEIGHBORSEARCHING PARAMETERS
; nblist update frequency
nstlist                  = 10
; ns algorithm (simple or grid)
ns_type                  = grid
; Periodic boundary conditions: xyz, no, xy
pbc                      = xyz
periodic_molecules       = no
; nblist cut-off        
rlist                    = 0.9

; OPTIONS FOR ELECTROSTATICS AND VDW
; Method for doing electrostatics
coulombtype              = PME
rcoulomb_switch          = 0
rcoulomb                 = 0.9
; Relative dielectric constant for the medium and the reaction field
epsilon_r                = 1
epsilon_rf               = 1
; Method for doing Van der Waals
vdw-type                 = Cut-off
; cut-off lengths       
rvdw_switch              = 0
rvdw                     = 0.9
; Apply long range dispersion corrections for Energy and Pressure
DispCorr                 = No
; Extension of the potential lookup tables beyond the cut-off
table-extension          = 1
; Seperate tables between energy group pairs
energygrp_table          = 
; Spacing for the PME/PPPM FFT grid
;fourierspacing           = 0.12
; FFT grid size, when a value is 0 fourierspacing will be used
fourier_nx               = 120
fourier_ny               = 120
fourier_nz               = 120
; EWALD/PME/PPPM parameters
pme_order                = 4
ewald_rtol               = 1e-05
ewald_geometry           = 3d
epsilon_surface          = 0
optimize_fft             = no

; GENERALIZED BORN ELECTROSTATICS
; Algorithm for calculating Born radii
gb_algorithm             = Still
; Frequency of calculating the Born radii inside rlist
nstgbradii               = 1
; Cutoff for Born radii calculation; the contribution from atoms
; between rlist and rgbradii is updated every nstlist steps
rgbradii                 = 2
; Salt concentration in M for Generalized Born models
gb_saltconc              = 0

; IMPLICIT SOLVENT (for use with Generalized Born electrostatics)
implicit_solvent         = No

; OPTIONS FOR WEAK COUPLING ALGORITHMS
; Temperature coupling  
Tcoupl                   = berendsen
; Groups to couple separately
tc_grps                  = Protein Other
; Time constant (ps) and reference temperature (K)
tau_t                    = 0.1 0.1
ref_t                    = 300 300
; Pressure coupling     
Pcoupl                   = berendsen
Pcoupltype               = isotropic
; Time constant (ps), compressibility (1/bar) and reference P (bar)
tau_p                    = 1.0
compressibility          = 4.5e-5
ref_p                    = 1.0
; Scaling of reference coordinates, No, All or COM
refcoord_scaling         = No
; Random seed for Andersen thermostat
andersen_seed            = 815131

; OPTIONS FOR QMMM calculations
QMMM                     = no
; Groups treated Quantum Mechanically
QMMM-grps                = 
; QM method             
QMmethod                 = 
; QMMM scheme           
QMMMscheme               = normal
; QM basisset           
QMbasis                  = 
; QM charge             
QMcharge                 = 
; QM multiplicity       
QMmult                   = 
; Surface Hopping       
SH                       = 
; CAS space options     
CASorbitals              = 
CASelectrons             = 
SAon                     = 
SAoff                    = 
SAsteps                  = 
; Scale factor for MM charges
MMChargeScaleFactor      = 1
; Optimization of QM subsystem
bOPT                     = 
bTS                      = 

; SIMULATED ANNEALING  
; Type of annealing for each temperature group (no/single/periodic)
annealing                = no no
; Number of time points to use for specifying annealing in each group
annealing_npoints        = 
; List of times at the annealing points for each group
annealing_time           = 
; Temp. at each annealing point, for each group.
annealing_temp           = 

; GENERATE VELOCITIES FOR STARTUP RUN
gen_vel                  = yes
gen_temp                 = 300
gen_seed                 = 173529

; OPTIONS FOR BONDS    
constraints              = all-bonds
; Type of constraint algorithm
constraint-algorithm     = Lincs
; Do not constrain the start configuration
continuation             = yes
; Use successive overrelaxation to reduce the number of shake iterations
Shake-SOR                = no
; Relative tolerance of shake
shake_tol                = 1e-04
; Highest order in the expansion of the constraint coupling matrix
lincs-order              = 4
; Number of iterations in the final step of LINCS. 1 is fine for
; normal simulations, but use 2 to conserve energy in NVE runs.
; For energy minimization with constraints it should be 4 to 8.
lincs-iter               = 1
; Lincs will write a warning to the stderr if in one step a bond
; rotates over more degrees than
lincs-warnangle          = 30
; Convert harmonic bonds to morse potentials
morse                    = no

; ENERGY GROUP EXCLUSIONS
; Pairs of energy groups for which all non-bonded interactions are excluded
energygrp_excl           = 

; WALLS                
; Number of walls, type, atom types, densities and box-z scale factor for 
Ewald
nwall                    = 0
wall_type                = 9-3
wall_atomtype            = 
wall_density             = 
wall_ewald_zfac          = 3

; COM PULLING          
; Pull type: no, umbrella, constraint, constant_force
pull                     = no

; NMR refinement stuff 
; Distance restraints type: No, Simple or Ensemble
disre                    = No
; Force weighting of pairs in one distance restraint: Conservative or Equal
disre_weighting          = Equal
; Use sqrt of the time averaged times the instantaneous violation
disre_mixed              = no
disre_fc                 = 1000
disre_tau                = 1.25
; Output frequency for pair distances to energy file
nstdisreout              = 100
; Orientation restraints: No or Yes
orire                    = no
; Orientation restraints force constant and tau for time averaging
orire-fc                 = 0
orire-tau                = 0
orire-fitgrp             = 
; Output frequency for trace(SD) and S to energy file
nstorireout              = 100
; Dihedral angle restraints: No, Simple or Ensemble
dihre                    = No
dihre-fc                 = 1000
dihre-tau                = 0
; Output frequency for dihedral values to energy file
nstdihreout              = 100

; Free energy control stuff
free_energy              = no
init_lambda              = 0
delta_lambda             = 0
sc-alpha                 = 0
sc-power                 = 0
sc-sigma                 = 0.3

; Non-equilibrium MD stuff
acc-grps                 = 
accelerate               = 
freezegrps               = 
freezedim                = 
cos-acceleration         = 0
deform                   = 

; Electric fields      
; Format is number of terms (int) and for all terms an amplitude (real)
; and a phase angle (real)
E-x                      = 
E-xt                     = 
E-y                      = 
E-yt                     = 
E-z                      = 
E-zt                     = 

; User defined thingies
user1-grps               = 
user2-grps               = 
userint1                 = 0
userint2                 = 0
userint3                 = 0
userint4                 = 0
userreal1                = 0
userreal2                = 0
userreal3                = 0
userreal4                = 0






More information about the gromacs.org_gmx-developers mailing list