home
about
news
download
doc
source
systems
tests
bugs
contact
IMP Reference Guide
2.16.0
The Integrative Modeling Platform
IMP Manual
Reference Guide
Tutorial Index
Modules
Classes
Examples
include
IMP
atom
version 2.16.0
LangevinThermostatOptimizerState.h
Go to the documentation of this file.
1
/**
2
* \file IMP/atom/LangevinThermostatOptimizerState.h
3
* \brief Maintains temperature during molecular dynamics using
4
* a Langevin thermostat.
5
*
6
* Copyright 2007-2021 IMP Inventors. All rights reserved.
7
*
8
*/
9
10
#ifndef IMPATOM_LANGEVIN_THERMOSTAT_OPTIMIZER_STATE_H
11
#define IMPATOM_LANGEVIN_THERMOSTAT_OPTIMIZER_STATE_H
12
13
#include <IMP/atom/atom_config.h>
14
#include <
IMP/Particle.h
>
15
#include <
IMP/base_types.h
>
16
#include <
IMP/OptimizerState.h
>
17
18
IMPATOM_BEGIN_NAMESPACE
19
20
//! Maintains temperature during molecular dynamics.
21
/** The thermostat scales velocities using the algorithm described in
22
G. Bussi and M. Parrinello "Accurate sampling using Langevin dynamics",
23
Phys. Rev. E 75, 056707 (2007)
24
*/
25
class
IMPATOMEXPORT
LangevinThermostatOptimizerState
:
public
OptimizerState
{
26
public
:
27
LangevinThermostatOptimizerState
(
Model
*m,
ParticleIndexesAdaptor
pis,
28
double
temperature,
double
gamma);
29
30
//! Set the particles to use.
31
void
set_particles
(
const
Particles
&pis) { pis_ = pis; }
32
33
double
get_temperature() {
return
temperature_; }
34
35
double
get_gamma() {
return
gamma_; }
36
37
void
set_temperature(
double
temperature) { temperature_ = temperature; }
38
39
void
set_gamma(
double
gamma) { gamma_ = gamma; }
40
41
//! Rescale the velocities now
42
void
rescale_velocities()
const
;
43
44
IMP_OBJECT_METHODS
(
LangevinThermostatOptimizerState
);
45
46
protected
:
47
virtual
void
do_update
(
unsigned
int
)
IMP_OVERRIDE
;
48
49
private
:
50
Particles
pis_;
51
double
temperature_;
52
double
gamma_;
53
};
54
55
IMP_OBJECTS
(
LangevinThermostatOptimizerState
,
56
LangevinThermostatOptimizerStates
);
57
58
IMPATOM_END_NAMESPACE
59
60
#endif
/* IMPATOM_LANGEVIN_THERMOSTAT_OPTIMIZER_STATE_H */
IMP::atom::LangevinThermostatOptimizerState::set_particles
void set_particles(const Particles &pis)
Set the particles to use.
Definition:
LangevinThermostatOptimizerState.h:31
IMP::atom::LangevinThermostatOptimizerState
Maintains temperature during molecular dynamics.
Definition:
LangevinThermostatOptimizerState.h:25
base_types.h
Basic types used by IMP.
IMP_OBJECT_METHODS
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Definition:
object_macros.h:25
IMP::OptimizerState::do_update
virtual void do_update(unsigned int)
Definition:
OptimizerState.h:120
IMP::Vector< Pointer< Particle > >
IMP::ParticleIndexesAdaptor
Take Decorator, Particle or ParticleIndex.
Definition:
particle_index.h:50
IMP::Model
Class for storing model, its restraints, constraints, and particles.
Definition:
Model.h:73
Particle.h
Classes to handle individual model particles. (Note that implementation of inline functions is in int...
IMP_OBJECTS
#define IMP_OBJECTS(Name, PluralName)
Define the types for storing lists of object pointers.
Definition:
object_macros.h:44
IMP::OptimizerState
Shared optimizer state that is invoked upon commitment of new coordinates.
Definition:
OptimizerState.h:43
OptimizerState.h
Shared optimizer state.
IMP_OVERRIDE
#define IMP_OVERRIDE
Cause a compile error if this method does not override a parent method.
Definition:
compiler_macros.h:78