IMP  2.0.0
The Integrative Modeling Platform
IMP::atom::BerendsenThermostatOptimizerState Class Reference

Maintains temperature during molecular dynamics. More...

#include <IMP/atom/BerendsenThermostatOptimizerState.h>

+ Inheritance diagram for IMP::atom::BerendsenThermostatOptimizerState:

Public Member Functions

 BerendsenThermostatOptimizerState (const Particles &pis, double temperature, double tau)
 
virtual void do_show (std::ostream &out) const
 
double get_tau ()
 
double get_temperature ()
 
void rescale_velocities () const
 Rescale the velocities now.
 
void set_particles (const Particles &pis)
 Set the particles to use.
 
void set_tau (double tau)
 
void set_temperature (double temperature)
 
virtual void update ()
 Called when the Optimizer accepts a new conformation.
 
- Public Member Functions inherited from IMP::kernel::OptimizerState
 OptimizerState (std::string name="OptimizerState %1%")
 
Optimizerget_optimizer () const
 
virtual void set_is_optimizing (bool)
 
- Public Member Functions inherited from IMP::base::Object
virtual void clear_caches ()
 
virtual IMP::base::VersionInfo get_version_info () const =0
 Get information about the module and version of the object.
 
void set_check_level (CheckLevel l)
 
void set_log_level (LogLevel l)
 Set the logging level used in this object. More...
 
void set_was_used (bool tf) const
 
void show (std::ostream &out=std::cout) const
 
const std::string & get_name () const
 
void set_name (std::string name)
 

Related Functions

(Note that these are not member functions.)

typedef IMP::base::Vector
< IMP::base::WeakPointer
< BerendsenThermostatOptimizerState > > 
BerendsenThermostatOptimizerStatesTemp
 

Additional Inherited Members

- Protected Member Functions inherited from IMP::base::Object
 Object (std::string name)
 Construct an object with the given name. More...
 
- Protected Attributes inherited from IMP::kernel::OptimizerState
UncheckedWeakPointer< Optimizeroptimizer_
 

Detailed Description

The thermostat scales velocities using the algorithm described in H. J. C. Berendsen, J. P. M. Postma, W. F. van Gunsteren, A. DiNola, and J. R. Haak "Molecular dynamics with coupling to an external bath", Journal of Chemical Physics 81 pp. 3684-3690 (1984).

At each update, velocities are rescaled by

\[ \lambda = \left[1 + \frac{\Delta t}{\tau_T} \left( \frac{T}{T_k} -1\right)\right]^{1/2} \]

where \(\Delta t\) is the molecular dynamics timestep, \(\tau_T\) is the coupling constant (in fs) of the thermostat, \(T\) is the thermostat temperature, and \(T_k\) is the instantaneous (kinetic) temperature of the dynamics. (This is equation 11 from the reference above.)

Definition at line 37 of file BerendsenThermostatOptimizerState.h.

Friends And Related Function Documentation


The documentation for this class was generated from the following file: