9 #ifndef IMPATOM_MOLECULAR_DYNAMICS_H
10 #define IMPATOM_MOLECULAR_DYNAMICS_H
12 #include "atom_config.h"
18 IMPATOM_BEGIN_NAMESPACE
41 virtual Float get_kinetic_energy()
const;
46 Float get_kinetic_temperature(
Float ekinetic)
const;
58 void set_velocity_cap(
Float velocity_cap) { velocity_cap_ = velocity_cap; }
61 virtual void assign_velocities(
Float temperature);
66 virtual void setup_degrees_of_freedom(
const ParticleIndexes &ps);
69 virtual void propagate_coordinates(
const ParticleIndexes &ps,
double
73 virtual void propagate_velocities(
const ParticleIndexes &ps,
double
77 inline void cap_velocity_component(
Float &vel) {
79 vel = std::min(vel, velocity_cap_);
81 vel = std::max(vel, -velocity_cap_);
89 int degrees_of_freedom_;