IMP
2.0.0
The Integrative Modeling Platform
|
The base class for simulators.
#include <IMP/atom/Simulator.h>
Public Member Functions | |
Simulator (Model *m, std::string name="Simulator %1%") | |
Create the optimizer. More... | |
double | get_current_time () const |
double | get_kt () const |
ParticleIndexes | get_simulation_particle_indexes () const |
ParticlesTemp | get_simulation_particles () const |
double | get_temperature () const |
IMP_OPTIMIZER (Simulator) | |
void | set_temperature (double d) |
double | simulate (double time_in_fs) |
Simulate until the given time in fs. | |
Public Member Functions inherited from IMP::kernel::Optimizer | |
Optimizer (Model *m, std::string name="Optimizer %1%") | |
double | get_last_score () const |
Return the score found in the last evaluate. | |
Model * | get_model () const |
Get the model being optimized. | |
ScoringFunction * | get_scoring_function () const |
Return the scoring function that is being used. | |
bool | get_stop_on_good_score () const |
double | optimize (unsigned int max_steps) |
Optimize the model for up to max_steps iterations. More... | |
void | set_model (Model *m) |
Set the model being optimized. More... | |
virtual void | set_scoring_function (ScoringFunctionAdaptor sf) |
void | set_stop_on_good_score (bool tf) |
virtual void | show (std::ostream &out=std::cout) const |
Print info about the optimizer state. More... | |
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::base::Object | |
virtual void | clear_caches () |
virtual IMP::base::VersionInfo | get_version_info () const =0 |
Get information about the module and version of the object. | |
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 | |
virtual double | do_step (const ParticleIndexes &sc, double dt)=0 |
virtual bool | get_is_simulation_particle (ParticleIndex p) const =0 |
virtual void | setup (const ParticleIndexes &) |
Protected Member Functions inherited from IMP::kernel::Optimizer | |
virtual double | do_optimize (unsigned int ns)=0 |
override this function to do actual optimization | |
void | update_states () const |
Update optimizer states, should be called at each successful step. More... | |
double | width (FloatKey k) const |
FloatIndexes | get_optimized_attributes () const |
void | set_value (FloatIndex fi, double v) const |
Float | get_value (FloatIndex fi) const |
Float | get_derivative (FloatIndex fi) const |
void | set_scaled_value (FloatIndex fi, Float v) const |
double | get_scaled_value (FloatIndex fi) const |
double | get_scaled_derivative (FloatIndex fi) const |
void | clear_range_cache () |
Clear the cache of range information. Do this at the start of optimization. | |
Protected Member Functions inherited from IMP::base::Object | |
Object (std::string name) | |
Construct an object with the given name. More... | |
Related Functions | |
(Note that these are not member functions.) | |
void | set_current_time (double ct) |
typedef IMP::base::Vector < IMP::base::WeakPointer < Simulator > > | SimulatorsTemp |
Related Functions inherited from IMP::kernel::Optimizer | |
typedef IMP::base::Vector < IMP::base::WeakPointer < Optimizer > > | OptimizersTemp |
Related Functions inherited from IMP::base::Object | |
typedef IMP::base::Vector < IMP::base::WeakPointer < Object > > | ObjectsTemp |
Explicitly specifying particles | |
One can explicitly specify which particles should be used for molecular dynamics. Each particle must be a Mass and core::XYZ particle. If none are specified, the model is searched for appropriate particles. | |
void | remove_particle (Particle *d) |
void | remove_particles (const Particles &d) |
void | set_particles (const Particles &ps) |
void | set_particles_order (const Particles &objs) |
unsigned int | add_particle (Particle *obj) |
void | add_particles (const Particles &objs) |
void | clear_particles () |
unsigned int | get_number_of_particles () const |
bool | get_has_particles () |
Particle * | get_particle (unsigned int i) const |
Particles | get_particles () const |
void | reserve_particles (unsigned int sz) |
Definition at line 25 of file Simulator.h.
IMP::atom::Simulator::Simulator | ( | Model * | m, |
std::string | name = "Simulator %1%" |
||
) |
If sc is not null, that container will be used to find particles to move, otherwise the model will be searched.
|
protectedpure virtual |
Perform a single time step and return the amount that time should be advanced. A maximum time step value is passed.
double IMP::atom::Simulator::get_current_time | ( | ) | const |
returns the simulation time in femtoseconds that was performed by this simulator since it was constructed
Definition at line 74 of file Simulator.h.
|
protectedpure virtual |
Return true if the passed particle is appropriate for the simulation.
Implemented in IMP::isd::MolecularDynamics.
ParticlesTemp IMP::atom::Simulator::get_simulation_particles | ( | ) | const |
Get the set of particles used in the simulation. This may be different then the stored set, eg if no particles are stored, the Model is searched for appropriate particles.
|
protectedvirtual |
A Simulator class can perform setup operations before a series of simulation steps is taken.
Definition at line 106 of file Simulator.h.
|
related |
Sets the current simulation time in femtoseconds to ct ()
Definition at line 82 of file Simulator.h.
|
related |
Pass a set of objects.
Definition at line 125 of file Simulator.h.