IMP
2.2.0
The Integrative Modeling Platform
IMP Mainpage
All IMP Modules
Related Pages
Modules
Namespaces
Classes
Files
Examples
Indexes
File List
File Members
IMP
All IMP Modules
All IMP Modules and Applications
Argument Index
Class Examples
Design example
Developer Guide
Factory Index
Function Examples
Installation
Introduction
For IMP 2.2
Tools
Dependencies
EMageFit protocol
EMageFit scripts and tools
Integrative docking utility programs
Deprecated List
Modules
Namespaces
Classes
Files
File List
File Members
Examples
Indexes
Class Usage
Class Examples
Class Factories
Function Examples
isd/MolecularDynamics.h
Go to the documentation of this file.
1
/**
2
* \file IMP/isd/MolecularDynamics.h
3
* \brief Simple molecular dynamics optimizer.
4
*
5
* Copyright 2007-2014 IMP Inventors. All rights reserved.
6
*
7
*/
8
9
#ifndef IMPISD_MOLECULAR_DYNAMICS_H
10
#define IMPISD_MOLECULAR_DYNAMICS_H
11
12
#include <IMP/isd/isd_config.h>
13
#include <
IMP/kernel/Particle.h
>
14
#include <
IMP/Optimizer.h
>
15
#include <
IMP/atom/MolecularDynamics.h
>
16
#include <
IMP/isd/Nuisance.h
>
17
18
IMPISD_BEGIN_NAMESPACE
19
20
//! Molecular dynamics optimizer on 1-D and 3-D particles
21
/** The particles to be optimized must be XYZs or Nuisances, and should have a
22
* non-optimizable mass.
23
* \see MolecularDynamics in the atom module for more details
24
*/
25
class
IMPISDEXPORT
MolecularDynamics
:
public
atom::MolecularDynamics
{
26
public
:
27
/** Score based on the provided model */
28
MolecularDynamics
(
kernel::Model
*m =
nullptr
);
29
30
//! \return the current kinetic energy of the system, in kcal/mol
31
Float
get_kinetic_energy
()
const
;
32
33
//! Assign velocities representative of the given temperature
34
void
assign_velocities
(
Float
temperature);
35
36
protected
:
37
bool
get_is_simulation_particle
(
kernel::ParticleIndex
pi)
const
;
38
39
void
setup_degrees_of_freedom(
const
kernel::ParticleIndexes
&ps);
40
41
//! First part of velocity Verlet (update coordinates and half-step velocity)
42
void
propagate_coordinates
(
const
kernel::ParticleIndexes
&ps,
43
double
step_size);
44
45
//! Second part of velocity Verlet (update velocity)
46
void
propagate_velocities
(
const
kernel::ParticleIndexes
&ps,
47
double
step_size);
48
49
//! Keys of the xyz velocities
50
FloatKey
vnuis_
;
51
};
52
53
IMPISD_END_NAMESPACE
54
55
#endif
/* IMPISD_MOLECULAR_DYNAMICS_H */
IMP::kernel::Key< 0, true >
IMP::atom::MolecularDynamics::MolecularDynamics
MolecularDynamics(kernel::Model *m)
MolecularDynamics.h
Simple molecular dynamics optimizer.
Nuisance.h
A decorator for nuisance parameters particles.
IMP::atom::MolecularDynamics::propagate_velocities
virtual void propagate_velocities(const kernel::ParticleIndexes &ps, double step_size)
Second part of velocity Verlet (update velocity)
IMP::base::Vector< ParticleIndex >
Optimizer.h
Import IMP/kernel/Optimizer.h in the namespace.
IMP::isd::MolecularDynamics::vnuis_
FloatKey vnuis_
Keys of the xyz velocities.
Definition:
isd/MolecularDynamics.h:50
IMP::atom::MolecularDynamics
Simple molecular dynamics optimizer.
Definition:
atom/MolecularDynamics.h:34
IMP::base::Index< ParticleIndexTag >
Particle.h
Classes to handle individual model particles.
IMP::atom::MolecularDynamics::get_kinetic_energy
virtual Float get_kinetic_energy() const
IMP::atom::MolecularDynamics::propagate_coordinates
virtual void propagate_coordinates(const kernel::ParticleIndexes &ps, double step_size)
First part of velocity Verlet (update coordinates and half-step velocity)
IMP::atom::MolecularDynamics::assign_velocities
virtual void assign_velocities(Float temperature)
Assign velocities representative of the given temperature.
IMP::Float
double Float
Basic floating-point value (could be float, double...)
Definition:
base/types.h:20
IMP::atom::MolecularDynamics::get_is_simulation_particle
virtual bool get_is_simulation_particle(kernel::ParticleIndex p) const
IMP::isd::MolecularDynamics
Molecular dynamics optimizer on 1-D and 3-D particles.
Definition:
isd/MolecularDynamics.h:25
IMP::kernel::Model
Class for storing model, its restraints, constraints, and particles.
Definition:
kernel/Model.h:72