The particles to be optimized must have optimizable x,y,z attributes and a non-optimizable mass attribute; this optimizer assumes the score to be energy in kcal/mol, the xyz coordinates to be in angstroms, and the mass to be in AMU (g/mol).
Particles without optimized x,y,z and nonoptimized mass are skipped.
Public Member Functions | |
void | assign_velocities (Float temperature) |
Assign velocities representative of the given temperature. | |
Float | get_kinetic_energy () const |
Float | get_kinetic_temperature (Float ekinetic) const |
virtual std::string | get_type_name () const |
virtual ::IMP::VersionInfo | get_version_info () const |
MolecularDynamics () | |
virtual Float | optimize (unsigned int max_steps) |
void | set_time_step (Float t) |
Set time step in fs. | |
void | set_velocity_cap (Float velocity_cap) |
Set maximum velocity in A/fs. | |
Friends | |
template<class T > | |
void | IMP::internal::unref (T *) |
IMP::atom::MolecularDynamics::MolecularDynamics | ( | ) |
Float IMP::atom::MolecularDynamics::get_kinetic_energy | ( | ) | const |
[in] | ekinetic | kinetic energy, e.g. from get_kinetic_energy() |
void IMP::atom::MolecularDynamics::set_velocity_cap | ( | Float | velocity_cap | ) |
Set maximum velocity in A/fs.
At each dynamics time step, the absolute value of each velocity component is capped at this value. This prevents spurious strong forces (occasionally encountered with frustrated conformations) from causing large oscillations in the system.