IMP
2.4.0
The Integrative Modeling Platform
|
Molecular dynamics optimizer on 1-D and 3-D particles. More...
#include <IMP/isd/MolecularDynamics.h>
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.
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::Particle * | get_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... | |
ScoringFunction * | get_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 () |
OptimizerState * | get_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... | |
Model * | get_model () const |
ModelObjectsTemp | get_outputs () const |
const ScoreStatesTemp & | get_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... | |
IMP::isd::MolecularDynamics::MolecularDynamics | ( | kernel::Model * | m = nullptr | ) |
Score based on the provided model
|
virtual |
Assign velocities representative of the given temperature.
Reimplemented from IMP::atom::MolecularDynamics.
|
protectedvirtual |
Return true if the passed particle is appropriate for the simulation.
Reimplemented from IMP::atom::MolecularDynamics.
|
virtual |
Return the current kinetic energy of the system, in kcal/mol.
Reimplemented from IMP::atom::MolecularDynamics.
|
protectedvirtual |
First part of velocity Verlet (update coordinates and half-step velocity)
Reimplemented from IMP::atom::MolecularDynamics.
|
protectedvirtual |
Second part of velocity Verlet (update velocity)
Reimplemented from IMP::atom::MolecularDynamics.
|
protected |
Keys of the xyz velocities.
Definition at line 50 of file isd/MolecularDynamics.h.