9 #ifndef IMPATOM_SIMULATOR_H 
   10 #define IMPATOM_SIMULATOR_H 
   12 #include <IMP/atom/atom_config.h> 
   16 #include <IMP/internal/units.h> 
   19 IMPATOM_BEGIN_NAMESPACE
 
   22 class SimulationParameters;
 
   49             double wave_factor = 1.0);
 
   58   double simulate(
double time_in_fs);
 
   75   double simulate_wave(
double time_in_fs, 
double max_time_step_factor = 10.0,
 
  100   void set_maximum_time_step(
double ts) { max_time_step_ = ts; }
 
  108     if (last_time_step_ < 0)
 
  109       return get_maximum_time_step();
 
  111       return last_time_step_;
 
  115   void set_time_step(
double ts) { set_maximum_time_step(ts); }
 
  188   virtual bool get_is_simulation_particle(
ParticleIndex p) 
const = 0;
 
  198   virtual double do_simulate(
double time);
 
  207   virtual double do_simulate_wave(
double time_in_fs, 
double max_time_step_factor = 10.0,
 
  212   double max_time_step_;
 
  213   double current_time_;
 
  214   double last_time_step_;
 
  221 IMPATOM_END_NAMESPACE
 
double get_kt(double T)
Return kT for a given temperature in units of [kcal/mol]. 
 
The base class for simulators. 
 
double get_current_time() const 
 
void set_temperature(double d)
Set the temperature of the simulator to d in kelvin units. 
 
double get_maximum_time_step() const 
Get the maximum allowed time step in fs. 
 
Base class for all optimizers. 
 
#define IMP_LIST(protection, Ucname, lcname, Data, PluralData)
A macro to provide a uniform interface for storing lists of objects. 
 
Class for storing model, its restraints, constraints, and particles. 
 
virtual void setup(const ParticleIndexes &)
 
virtual double do_optimize(unsigned int ns)=0
override this function to do actual optimization 
 
void set_current_time(double ct)
Sets the current simulation time in femtoseconds to ct. 
 
Base class for all optimizers. 
 
double get_last_time_step() const 
 
Classes to handle individual model particles. (Note that implementation of inline functions is in int...
 
double get_temperature() const 
Return the simulator temperature in kelvin. 
 
#define IMP_OBJECTS(Name, PluralName)
Define the types for storing lists of object pointers. 
 
double Float
Basic floating-point value (could be float, double...) 
 
Class to handle individual particles of a Model object. 
 
#define IMP_SWIG_FINAL
Have the compiler report an error if anything overrides this method.