Page 1 of 1

How best to regulate temperature during aMD?

Posted: Tue Jul 17, 2018 11:15 pm
by lewiso1
Hi all,
I noticed that with the same system (4x4x4nm of water), same boost parameters (both E and alpha), that NAMD and OpenMM give different temperatures. Specifically, the AMDIntegrator results in a temp of about 325K, whereas NAMD stays at 300K. Adding an Andersen thermostat (since i wasn't sure if the AMDIntegrator will regulate temperature by itself) doesn't help, if anything it introduces more temperature fluctuations. For NAMD I used langevin dynamics with a damping coefficient of 1/ps (same damping as the Andersen thermostat in openmm but I realise this is different thermostating).

Should boosting the total potential energy in aMD actually increase the temperature? And should this be rectified with a thermostat?

I have attached a picture of 100ps of aMD in either NAMD or OpenMM-with or without the Anderson thermostat.
Thanks for your time!
lewis

Re: How best to regulate temperature during aMD?

Posted: Tue Jul 17, 2018 11:27 pm
by lewiso1
HBonds, timestep, parameters/forcefield, cutoff are the same. Pressure control is necessarily different as NAMD has no montecarlo barostat.

NAMD, which I believe uses kcal/mol:

Code: Select all

accelMD         on
accelMDdihe     off
accelMDE        -19120.459
accelMDalpha    23.9006
accelMDFirstStep 0
accelMDOutFreq   1000

OpenMM:

Code: Select all

integrator = AMDIntegrator(0.001*picoseconds, 100*kilojoules/mole, -80000*kilojoules/mole)
...
totalPE = simulation.context.getState(getEnergy=True).getPotentialEnergy()
print("Potential energy: ", totalPE, "Boosted PE: ", integrator.getEffectiveEnergy(totalPE), "Boost only: ", integrator.getEffectiveEnergy(totalPE) - totalPE)
and out of interest, the potential energy (namd output was adjusted to kj/mole). It is higher for OpenMM.

Re: How best to regulate temperature during aMD?

Posted: Mon Jul 23, 2018 2:46 pm
by peastman
AMDIntegrator doesn't do any temperature regulation, so on its own it won't give a thermal distribution. AndersenThermostat ought to work fine with it. Can you provide a complete example (including input files) that reproduces the problem? Something that runs a simulation with AMDIntegrator and AndersenThermostat and has the temperature come out wrong.