9 #ifndef IMPATOM_SIMULATOR_H
10 #define IMPATOM_SIMULATOR_H
12 #include <IMP/atom/atom_config.h>
16 #include <IMP/kernel/internal/units.h>
19 IMPATOM_BEGIN_NAMESPACE
22 class SimulationParameters;
49 double wave_factor = 1.0);
58 double simulate(
double time_in_fs);
77 double simulate_wave(
double time_in_fs,
double max_time_step_factor = 10.0,
80 double get_temperature()
const {
return temperature_; }
81 void set_temperature(
double d) { temperature_ = d; }
89 void set_maximum_time_step(
double ts) { max_time_step_ = ts; }
90 double get_maximum_time_step()
const {
return max_time_step_; }
91 double get_last_time_step()
const {
92 if (last_time_step_ < 0)
93 return get_maximum_time_step();
95 return last_time_step_;
99 void set_time_step(
double ts) { set_maximum_time_step(ts); }
155 double do_simulate(
double time);
157 double do_simulate_wave(
double time_in_fs,
double max_time_step_factor = 10.0,
160 double max_time_step_;
161 double current_time_;
162 double last_time_step_;
174 IMPATOMEXPORT
double get_energy_in_femto_joules(
double energy_in_kcal_per_mol);
175 IMPATOMEXPORT
double get_force_in_femto_newtons(
176 double force_in_kcal_per_mol_per_angstrom);
178 IMPATOMEXPORT
double get_spring_constant_in_femto_newtons_per_angstrom(
179 double k_in_kcal_per_mol_per_angstrom_square);
183 IMPATOM_END_NAMESPACE
The base class for simulators.
double get_current_time() const
Import IMP/kernel/Optimizer.h in the namespace.
void set_current_time(double ct)
Class to handle individual model particles.
Base class for all optimizers.
Classes to handle individual model particles.
#define IMP_OBJECTS(Name, PluralName)
Define the types for storing sets of objects.
virtual void setup(const kernel::ParticleIndexes &)
double Float
Basic floating-point value (could be float, double...)
#define IMP_LIST(protection, Ucname, lcname, Data, PluralData)
A macro to provide a uniform interface for storing lists of objects.
virtual double do_optimize(unsigned int ns)=0
override this function to do actual optimization
Class for storing model, its restraints, constraints, and particles.