IMP Reference Guide
develop.63b38c487d,2024/12/21
The Integrative Modeling Platform
|
Maintains temperature during molecular dynamics. More...
#include <IMP/atom/BerendsenThermostatOptimizerState.h>
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
\[ \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.
Public Member Functions | |
BerendsenThermostatOptimizerState (const Particles &pis, double temperature, double tau) | |
double | get_tau () |
double | get_temperature () |
virtual std::string | get_type_name () const override |
virtual ::IMP::VersionInfo | get_version_info () const override |
Get information about the module and version of the object. More... | |
void | rescale_velocities () const |
Rescale the velocities now. More... | |
void | set_particles (const Particles &pis) |
Set the particles to use. More... | |
void | set_tau (double tau) |
void | set_temperature (double temperature) |
Public Member Functions inherited from IMP::OptimizerState | |
OptimizerState (Model *m, std::string name) | |
Constructor. More... | |
unsigned int | get_number_of_updates () const |
Return the number of times do_update() has been called. More... | |
Optimizer * | get_optimizer () const |
unsigned int | get_period () const |
Get the periodicity of this state. More... | |
virtual void | reset () |
Reset counters, as if at the start of an optimize run. More... | |
virtual void | set_is_optimizing (bool) |
Called by an Optimizer to signal begin/end of an optimize run. More... | |
void | set_number_of_updates (unsigned int n) |
Set the counter of number of times do_update() has been called. More... | |
void | set_period (unsigned int p) |
Set the periodicity of this state. More... | |
virtual void | update () |
Called when the Optimizer accepts a new conformation. More... | |
void | update_always () |
Force the state to perform its action now, ignoring the periodicity. More... | |
Public Member Functions inherited from IMP::ModelObject | |
ModelObject (Model *m, std::string name) | |
bool | get_has_dependencies () const |
Return whether this object has dependencies computed. More... | |
bool | get_has_required_score_states () const |
Return whether score states are computed. More... | |
ModelObjectsTemp | get_inputs () const |
ModelObjectsTemps | get_interactions () const |
Get the interacting sets induced by this ModelObject. More... | |
Model * | get_model () const |
ModelObjectsTemp | get_outputs () const |
const ScoreStatesTemp & | get_required_score_states () const |
Get the score states that are ancestors of this in the dependency graph. More... | |
void | set_has_dependencies (bool tf) |
Either invalidate the dependencies or ensure they are correct. More... | |
void | set_has_required_score_states (bool tf) |
Compute the required score states. More... | |
Public Member Functions inherited from IMP::Object | |
virtual void | clear_caches () |
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) override |
Protected Member Functions inherited from IMP::OptimizerState | |
virtual ModelObjectsTemp | do_get_inputs () const override |
virtual ModelObjectsTemp | do_get_outputs () const override |
virtual void | do_set_is_optimizing (bool) |
Protected Member Functions inherited from IMP::ModelObject | |
virtual ModelObjectsTemps | do_get_interactions () const |
virtual void | handle_set_has_required_score_states (bool) |
Protected Member Functions inherited from IMP::Object | |
Object (std::string name) | |
Construct an object with the given name. More... | |
virtual void | do_destroy () |
|
overrideprotectedvirtual |
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::OptimizerState.
|
overridevirtual |
Get information about the module and version of the object.
Reimplemented from IMP::Object.
Definition at line 55 of file BerendsenThermostatOptimizerState.h.
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.
Definition at line 42 of file BerendsenThermostatOptimizerState.h.