<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:'times new roman', 'new york', times, serif;font-size:12pt"><div>Hi,</div><div>&nbsp; I am trying to calculate the solvation free energy using thermodynamic integration(TI) method . I am using gromacs 4.0.7 . But, I am having a problem in getting accurate average temperature .</div><div>The following is what I did:</div><div>&nbsp; &nbsp;I found that when doing TI, grompp recommends using 'sd' ( stochastic dynamics ) as integrator ( provides an warning that for decoupled system, it is better to use sd in stead of md ).</div><div>Also I went through Justin Lemkul's tutorial which also recommends using 'sd' for TI method. &nbsp; So, I tried to use sd integrator.&nbsp;</div><div><br></div><div>I wanted to run NVT simulation at 300 K.</div><div>I also&nbsp;found from manual and also from Justin's website on FEP, sd integrator implicitly controls
 temperature and so there is no need to specify a thermostat. So, I did not specify any thermostat ( I wrote tcoupl = No ). But, unfortunately, I found that after a long simulation &nbsp;, the average temperature actually goes to 303 K in stead of 300 K( the desired temperature). This happened for all Lambda values where the average temperature turned out to be 303 K. The .mdp file is pasted at the end of the email and I felt I am using reasonable cutoffs and PME as electrostatics.</div><div><br></div><div>Here is the output from g_energy command to get the temperature.&nbsp;</div><div>&nbsp;</div><div>&nbsp;Statistics over 4000001 steps [ 0.0000 thru 8000.0005 ps ], 1 data sets</div><div>All averages are exact over 4000001 steps</div><div><br></div><div>Energy &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Average &nbsp; &nbsp; &nbsp; RMSD &nbsp; &nbsp; Fluct. &nbsp; &nbsp; &nbsp;Drift
 &nbsp;Tot-Drift</div><div>-------------------------------------------------------------------------------</div><div>Temperature &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 303.333 &nbsp; &nbsp;4.78084 &nbsp; &nbsp;4.78082 5.46937e-06 &nbsp; 0.043755</div><div>Heat Capacity Cv: &nbsp; &nbsp; &nbsp;12.4764 J/mol K (factor = 0.00024841)</div><div><br></div><div><br></div><div>I tried three &nbsp;further tests:</div><div>a) I removed tcoupl = No option . But, it is giving same 303K as average temperature when using sd.</div><div><br></div><div>a) &nbsp;I tried to specify the Nose-Hoover thermostat along with sd. But still, I found that when using sd, the average &nbsp;temperature is going to 303 K in stead of 300 K.</div><div><br></div><div>c) &nbsp;Finally, I tried to overlook grompp warning and went ahead and used 'md' along with Nose-Hoover thermostat. This time I found the right average temperature 300 K is being achieved.B</div><div>But, I
 understand that for a decoupled system like here, I need to use a method like stochastic dynamics.&nbsp;</div><div><br></div><div>&nbsp;But , I was wondering why it is reaching 303 K in stead of 300 K when using sd &nbsp;but 300K is achieved when using md. I looked at the mailing list where people had issues with sd and temperature control. But, I could not find a good solution. So, any help on the right protocol will be really appreciated.</div><div><br></div><div><br></div><div>Here is my .mdp file.</div><div><br></div><div><div>; RUN CONTROL PARAMETERS</div><div>integrator &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = sd</div><div>; Start time and timestep in ps</div><div>tinit &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= 0.0</div><div>dt &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = 0.002</div><div>nsteps &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =
 4000000</div><div>; For exact run continuation or redoing part of a run</div><div>; Part index is updated automatically on checkpointing (keeps files separate)</div><div>simulation_part &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= 1</div><div>init_step &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= 0</div><div>; mode for center of mass motion removal</div><div>comm-mode &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= Linear</div><div>; number of steps for center of mass motion removal</div><div>nstcomm &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= 1</div><div>; group(s) for center of mass motion removal</div><div>comm-grps &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;=</div></div><div><div>; LANGEVIN DYNAMICS OPTIONS</div><div>; Friction coefficient (amu/ps) and random seed</div><div>bd-fric &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= 0</div><div>ld-seed &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
 &nbsp; &nbsp; &nbsp;= 1993</div><div><br></div><div><br></div><div><br></div><div>; OUTPUT CONTROL OPTIONS</div></div><div><div>; OUTPUT CONTROL OPTIONS</div><div>; Output frequency for coords (x), velocities (v) and forces (f)</div><div>nstxout &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= 10000</div><div>nstvout &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= 10000</div><div>nstfout &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= 0</div><div>; Output frequency for energies to log file and energy file</div><div>nstlog &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = 1000</div><div>nstenergy &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= 10</div><div>; Output frequency and precision for xtc file</div><div>nstxtcout &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= 1000</div><div>xtc-precision &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= 1000</div><div>; This selects the
 subset of atoms for the xtc file. You can</div><div>; select multiple groups. By default all atoms will be written.</div><div>xtc-grps &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =</div><div>; Selection of energy groups</div><div>energygrps &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =</div><div><br></div><div>; NEIGHBORSEARCHING PARAMETERS</div><div>; nblist update frequency</div><div>nstlist &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= 10</div><div>; ns algorithm (simple or grid)</div><div>ns_type &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= grid</div></div><div><div>; Periodic boundary conditions: xyz, no, xy</div><div>pbc &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= xyz</div><div>periodic_molecules &nbsp; &nbsp; &nbsp; = no</div><div>; nblist cut-off</div><div>rlist &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;=
 1.4</div><div><br></div><div>; OPTIONS FOR ELECTROSTATICS AND VDW</div><div>; Method for doing electrostatics</div><div>coulombtype &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= pme</div><div>rcoulomb-switch &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= 0</div><div>rcoulomb &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = 1.4</div><div>; Relative dielectric constant for the medium and the reaction field</div><div>epsilon_r &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= 1</div><div>epsilon_rf &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = 1</div><div>; Method for doing Van der Waals</div></div><div><div>epsilon_rf &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = 1</div><div>; Method for doing Van der Waals</div><div>vdw-type &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = shift</div><div>; cut-off lengths</div><div>rvdw-switch &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= 1.0</div><div>rvdw &nbsp; &nbsp; &nbsp; &nbsp;
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = 1.4</div><div>; Apply long range dispersion corrections for Energy and Pressure</div><div>DispCorr &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = EnerPres</div><div>; Extension of the potential lookup tables beyond the cut-off</div><div>table-extension &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= 1</div><div>; Seperate tables between energy group pairs</div><div>energygrp_table &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;=</div><div>; Spacing for the PME/PPPM FFT grid</div><div>fourierspacing &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = 0.12</div><div>; FFT grid size, when a value is 0 fourierspacing will be used</div><div>fourier_nx &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = 0</div><div>fourier_ny &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = 0</div><div>fourier_nz &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = 0</div><div>; EWALD/PME/PPPM parameters</div><div>pme_order &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
 &nbsp; &nbsp; &nbsp;= 6</div><div>ewald_rtol &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = 1e-6</div><div>ewald_geometry &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = 3d</div><div>epsilon_surface &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= 0</div></div><div><div>; OPTIONS FOR WEAK COUPLING ALGORITHMS</div><div>; Temperature coupling</div><div>tcoupl &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = No</div><div>; Groups to couple separately</div><div>tc_grps &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= System</div><div>; Time constant (ps) and reference temperature (K)</div><div>tau_t &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= 1.0</div><div>ref_t &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= 300</div><div>; Pressure coupling</div><div>Pcoupl &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = no</div><div>Pcoupltype &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =
 isotropic</div><div>; Time constant (ps), compressibility (1/bar) and reference P (bar)</div><div>tau-p &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= 1.0</div><div>compressibility &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= 4.5e-5</div><div>ref-p &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= 1</div><div>; Scaling of reference coordinates, No, All or COM</div><div>refcoord_scaling &nbsp; &nbsp; &nbsp; &nbsp; = No</div><div>; Random seed for Andersen thermostat</div><div>andersen_seed &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= 124821</div></div><div><br></div><div><div>gen-vel &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= no</div><div>gen-temp &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = 300</div><div>gen-seed &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = -1</div><div><br></div><div>; OPTIONS FOR BONDS</div><div>constraints &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
 &nbsp;= hbonds</div><div>; Type of constraint algorithm</div><div>constraint-algorithm &nbsp; &nbsp; = Lincs</div><div>; Do not constrain the start configuration</div><div>continuation &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = yes</div><div>; Use successive overrelaxation to reduce the number of shake iterations</div><div>Shake-SOR &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= no</div><div>; Relative tolerance of shake</div><div>shake-tol &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= 1e-04</div><div>; Highest order in the expansion of the constraint coupling matrix</div><div>lincs-order &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= 12</div><div>; Number of iterations in the final step of LINCS. 1 is fine for</div><div>; normal simulations, but use 2 to conserve energy in NVE runs.</div><div>; For energy minimization with constraints it should be 4 to 8.</div><div>lincs-iter &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =
 1</div><div>; Lincs will write a warning to the stderr if in one step a bond</div><div>; rotates over more degrees than</div><div>lincs-warnangle &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= 30</div></div><div><br></div><div><div>; Free energy control stuff</div><div>free-energy &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= yes</div><div>init-lambda &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= .05</div><div>delta-lambda &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = 0</div><div>sc-alpha &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = 0.0</div><div>sc-power &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = 0</div><div>sc-sigma &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = 0.0</div><div>couple-moltype &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Protein</div><div>couple-lambda0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = vdw</div><div>couple-lambda1 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = vdw-q</div><div>couple-intramol &nbsp; &nbsp; &nbsp;
 &nbsp; &nbsp;= no</div></div><div><br></div><div style="position:fixed"></div>


</div></body></html>