IMP  2.3.1
The Integrative Modeling Platform
IMP::isd::MolecularDynamics Class Reference

Molecular dynamics optimizer on 1-D and 3-D particles. More...

#include <IMP/isd/MolecularDynamics.h>

+ Inheritance diagram for IMP::isd::MolecularDynamics:

Detailed Description

Molecular dynamics optimizer on 1-D and 3-D particles.

The particles to be optimized must be XYZs or Nuisances, and should have a non-optimizable mass.

See Also
atom::MolecularDynamics for more details

Definition at line 25 of file isd/MolecularDynamics.h.

Public Member Functions

 MolecularDynamics (kernel::Model *m=nullptr)
 
void assign_velocities (Float temperature)
 Assign velocities representative of the given temperature. More...
 
Float get_kinetic_energy () const
 Return the current kinetic energy of the system, in kcal/mol. More...
 
- Public Member Functions inherited from IMP::atom::MolecularDynamics
 MolecularDynamics (kernel::Model *m)
 
virtual double do_step (const kernel::ParticleIndexes &sc, double dt)
 Perform a single time step. More...
 
Float get_kinetic_temperature (Float ekinetic) const
 Return the current kinetic temperature of the system. More...
 
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. More...
 
void set_velocity_cap (Float velocity_cap)
 Set maximum velocity in A/fs. More...
 
virtual void setup (const kernel::ParticleIndexes &ps)
 
- Public Member Functions inherited from IMP::atom::Simulator
 Simulator (kernel::Model *m, std::string name="Simulator %1%", double wave_factor=1.0)
 
double get_current_time () const
 
double get_kt () const
 
kernel::ParticleIndexes get_simulation_particle_indexes () const
 
kernel::ParticlesTemp get_simulation_particles () const
 Returns the set of particles used in the simulation. More...
 
double get_temperature () const
 
void set_current_time (double ct)
 Sets the current simulation time in femtoseconds to ct. More...
 
void set_temperature (double d)
 
double simulate (double time_in_fs)
 Simulate for a given time in fs. More...
 
double simulate_wave (double time_in_fs, double max_time_step_factor=10.0, double base=1.5)
 
void set_maximum_time_step (double ts)
 
double get_maximum_time_step () const
 
double get_last_time_step () const
 
void remove_particle (kernel::Particle *d)
 
void remove_particles (const kernel::Particles &d)
 
void set_particles (const kernel::Particles &ps)
 
void set_particles_order (const kernel::Particles &objs)
 
unsigned int add_particle (kernel::Particle *obj)
 
void add_particles (const kernel::Particles &objs)
 
void clear_particles ()
 
unsigned int get_number_of_particles () const
 
bool get_has_particles ()
 
kernel::Particleget_particle (unsigned int i) const
 
kernel::Particles get_particles () const
 
void reserve_particles (unsigned int sz)
 
- Public Member Functions inherited from IMP::kernel::Optimizer
 Optimizer (kernel::Model *m, std::string name="Optimizer %1%")
 
double get_last_score () const
 Return the score found in the last evaluate. More...
 
ScoringFunctionget_scoring_function () const
 Return the scoring function that is being used. More...
 
bool get_stop_on_good_score () const
 
double optimize (unsigned int max_steps)
 Optimize the model for up to max_steps iterations. More...
 
virtual void set_scoring_function (ScoringFunctionAdaptor sf)
 
void set_stop_on_good_score (bool tf)
 
void remove_optimizer_state (OptimizerState *d)
 
void remove_optimizer_states (const OptimizerStates &d)
 
void set_optimizer_states (const OptimizerStates &ps)
 
void set_optimizer_states_order (const OptimizerStates &objs)
 
unsigned int add_optimizer_state (OptimizerState *obj)
 
void add_optimizer_states (const OptimizerStates &objs)
 
void clear_optimizer_states ()
 
unsigned int get_number_of_optimizer_states () const
 
bool get_has_optimizer_states ()
 
OptimizerStateget_optimizer_state (unsigned int i) const
 
OptimizerStates get_optimizer_states () const
 
void reserve_optimizer_states (unsigned int sz)
 
- Public Member Functions inherited from IMP::kernel::ModelObject
 ModelObject (kernel::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...
 
Modelget_model () const
 
ModelObjectsTemp get_outputs () const
 
const ScoreStatesTempget_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::base::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

bool get_is_simulation_particle (kernel::ParticleIndex pi) const
 Return true if the passed particle is appropriate for the simulation. More...
 
void propagate_coordinates (const kernel::ParticleIndexes &ps, double step_size)
 First part of velocity Verlet (update coordinates and half-step velocity) More...
 
void propagate_velocities (const kernel::ParticleIndexes &ps, double step_size)
 Second part of velocity Verlet (update velocity) More...
 
void setup_degrees_of_freedom (const kernel::ParticleIndexes &ps)
 
- Protected Member Functions inherited from IMP::atom::MolecularDynamics
void cap_velocity_component (Float &vel)
 Cap a velocity component to the maximum value. More...
 
void initialize ()
 
- Protected Member Functions inherited from IMP::atom::Simulator
virtual Float do_optimize (unsigned int max_steps)
 override this function to do actual optimization More...
 
- Protected Member Functions inherited from IMP::kernel::Optimizer
virtual ModelObjectsTemp do_get_inputs () const
 
virtual ModelObjectsTemp do_get_outputs () const
 don't return anything here to avoid pointless dependencies More...
 
ModelObjectsTemp get_optimizer_state_inputs () const
 
void update_states () const
 Update optimizer states, should be called at each successful step. More...
 
- Protected Member Functions inherited from IMP::kernel::ModelObject
virtual ModelObjectsTemps do_get_interactions () const
 
virtual void handle_set_has_required_score_states (bool)
 
- Protected Member Functions inherited from IMP::base::Object
 Object (std::string name)
 Construct an object with the given name. More...
 
virtual void do_destroy ()
 

Protected Attributes

FloatKey vnuis_
 Keys of the xyz velocities. More...
 
- Protected Attributes inherited from IMP::atom::MolecularDynamics
int degrees_of_freedom_
 Number of degrees of freedom in the system. More...
 
Float velocity_cap_
 Maximum absolute value of a single velocity component. More...
 
FloatKey vs_ [3]
 Keys of the xyz velocities. More...
 

Constructor & Destructor Documentation

IMP::isd::MolecularDynamics::MolecularDynamics ( kernel::Model m = nullptr)

Score based on the provided model

Member Function Documentation

void IMP::isd::MolecularDynamics::assign_velocities ( Float  temperature)
virtual

Assign velocities representative of the given temperature.

Reimplemented from IMP::atom::MolecularDynamics.

bool IMP::isd::MolecularDynamics::get_is_simulation_particle ( kernel::ParticleIndex  p) const
protectedvirtual

Return true if the passed particle is appropriate for the simulation.

Reimplemented from IMP::atom::MolecularDynamics.

Float IMP::isd::MolecularDynamics::get_kinetic_energy ( ) const
virtual

Return the current kinetic energy of the system, in kcal/mol.

Reimplemented from IMP::atom::MolecularDynamics.

void IMP::isd::MolecularDynamics::propagate_coordinates ( const kernel::ParticleIndexes ps,
double  step_size 
)
protectedvirtual

First part of velocity Verlet (update coordinates and half-step velocity)

Reimplemented from IMP::atom::MolecularDynamics.

void IMP::isd::MolecularDynamics::propagate_velocities ( const kernel::ParticleIndexes ps,
double  step_size 
)
protectedvirtual

Second part of velocity Verlet (update velocity)

Reimplemented from IMP::atom::MolecularDynamics.

Member Data Documentation

FloatKey IMP::isd::MolecularDynamics::vnuis_
protected

Keys of the xyz velocities.

Definition at line 50 of file isd/MolecularDynamics.h.


The documentation for this class was generated from the following file: