IMP
2.2.1
The Integrative Modeling Platform
|
Maintains temperature during molecular dynamics. More...
#include <IMP/atom/BerendsenThermostatOptimizerState.h>
Public Member Functions | |
BerendsenThermostatOptimizerState (const kernel::Particles &pis, double temperature, double tau) | |
double | get_tau () |
double | get_temperature () |
virtual std::string | get_type_name () const |
virtual ::IMP::base::VersionInfo | get_version_info () const |
Get information about the module and version of the object. | |
void | rescale_velocities () const |
Rescale the velocities now. | |
void | set_particles (const kernel::Particles &pis) |
Set the particles to use. | |
void | set_tau (double tau) |
void | set_temperature (double temperature) |
Public Member Functions inherited from IMP::kernel::OptimizerState | |
OptimizerState (kernel::Model *m, std::string name) | |
unsigned int | get_number_of_updates () const |
Return the number of times update has been called. | |
Optimizer * | get_optimizer () const |
unsigned int | get_period () const |
virtual void | reset () |
virtual void | set_is_optimizing (bool) |
void | set_number_of_updates (unsigned int n) |
Set the counter. | |
void | set_period (unsigned int p) |
virtual void | update () |
Called when the Optimizer accepts a new conformation. More... | |
void | update_always () |
Public Member Functions inherited from IMP::kernel::ModelObject | |
ModelObject (kernel::Model *m, std::string name) | |
bool | get_has_dependencies () const |
Return whether this object has dependencies computed. | |
bool | get_has_required_score_states () const |
ModelObjectsTemp | get_inputs () const |
ModelObjectsTemps | get_interactions () const |
Model * | get_model () const |
ModelObjectsTemp | get_outputs () const |
const ScoreStatesTemp & | get_required_score_states () const |
void | set_has_dependencies (bool tf) |
void | set_has_required_score_states (bool tf) |
Public Member Functions inherited from IMP::base::Object | |
virtual void | clear_caches () |
virtual void | do_destroy () |
CheckLevel | get_check_level () const |
LogLevel | get_log_level () const |
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) |
Protected Member Functions | |
virtual void | do_update (unsigned int) |
Protected Member Functions inherited from IMP::kernel::OptimizerState | |
virtual ModelObjectsTemp | do_get_inputs () const |
virtual ModelObjectsTemp | do_get_outputs () const |
virtual void | do_set_is_optimizing (bool) |
Protected Member Functions inherited from IMP::kernel::ModelObject | |
virtual ModelObjectsTemps | do_get_interactions () const |
virtual void | handle_set_has_required_score_states (bool) |
Protected Member Functions inherited from IMP::base::Object | |
Object (std::string name) | |
Construct an object with the given name. More... | |
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 36 of file BerendsenThermostatOptimizerState.h.
|
protectedvirtual |
This method is called every get_period() update calls. The number of times this method has been called since the last reset or start of the optimization run is passed.
Reimplemented from IMP::kernel::OptimizerState.