Maintains temperature during molecular dynamics.
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
where
is the molecular dynamics timestep,
is the coupling constant (in fs) of the thermostat,
is the thermostat temperature, and
is the instantaneous (kinetic) temperature of the dynamics. (This is equation 11 from the reference above.)
Inheritance diagram for IMP::atom::BerendsenThermostatOptimizerState:Public Member Functions | |
| BerendsenThermostatOptimizerState (const Particles &pis, double temperature, double tau) | |
| 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::OptimizerState | |
| OptimizerState (std::string name="OptimizerState %1%") | |
| Optimizer * | get_optimizer () const |
| virtual void | set_is_optimizing (bool) |
Public Member Functions inherited from IMP::base::Object | |
| std::size_t | __hash__ () const |
| virtual std::string | get_type_name () const =0 |
| Return a string identifying the type of the object. | |
| 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. | |
| 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) |
Static Public Member Functions | |
|
static BerendsenThermostatOptimizerState * | get_from (IMP::base::Object *o) |
Additional Inherited Members | |
Protected Attributes inherited from IMP::OptimizerState | |
| UncheckedWeakPointer< Optimizer > | optimizer_ |
| void IMP::atom::BerendsenThermostatOptimizerState::rescale_velocities | ( | ) | const |
Rescale the velocities now.
| void IMP::atom::BerendsenThermostatOptimizerState::set_particles | ( | const Particles & | pis | ) |
Set the particles to use.
|
virtual |
Called when the Optimizer accepts a new conformation.
Implements IMP::OptimizerState.