![]() |
IMP
2.1.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) |
![]() | |
OptimizerState (kernel::Model *m, std::string name) | |
OptimizerState (std::string name="OptimizerState %1%") | |
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 () |
![]() | |
ModelObject (kernel::Model *m, std::string name) | |
ModelObject (std::string name) | |
virtual void | do_set_model (kernel::Model *) |
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 |
bool | get_is_part_of_model () 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) |
virtual void | set_model (kernel::Model *m) |
![]() | |
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) |
![]() | |
virtual ModelObjectsTemp | do_get_inputs () const |
virtual ModelObjectsTemp | do_get_outputs () const |
virtual void | do_set_is_optimizing (bool) |
![]() | |
virtual ModelObjectsTemps | do_get_interactions () const |
virtual void | handle_set_has_required_score_states (bool) |
![]() | |
Object (std::string name) | |
Construct an object with the given name. More... | |
Object () | |
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.
|
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.