1 #ifndef DDMD_INTEGRATOR_H 2 #define DDMD_INTEGRATOR_H 4 #include <util/param/ParamComposite.h> 5 #include <ddMd/simulation/SimulationAccess.h> 6 #include <ddMd/misc/DdTimer.h> 49 void readParameters(std::istream& in);
70 virtual void run(
int nStep) = 0;
95 void computeStatistics();
104 virtual void outputStatistics(std::ostream& out);
119 enum TimeId {ANALYZER, INTEGRATE1, CHECK, ALLREDUCE, TRANSFORM_F,
120 EXCHANGE, CELLLIST, TRANSFORM_R, PAIRLIST, UPDATE,
121 ZERO_FORCE, PAIR_FORCE, BOND_FORCE, ANGLE_FORCE,
122 DIHEDRAL_FORCE, EXTERNAL_FORCE, INTEGRATE2,
123 MODIFIER, DEBUG, SIGNAL, MISC, NTime};
132 virtual void initDynamicalState();
141 virtual void setup() = 0;
153 bool isSetup()
const;
171 void computeForces();
181 void computeForcesAndVirial();
189 bool isExchangeNeeded(
double skin);
194 const std::string& saveFileName()
const;
199 int saveInterval()
const;
218 std::string saveFileName_;
235 {
return isSetup_ ; }
253 inline DdTimer& Integrator::timer()
260 {
return saveFileName_; }
266 {
return saveInterval_; }
int iStep_
Current step number.
Provides access to members of Simulation object.
virtual void initDynamicalState()
Set any internal dynamical to default initial values.
void setIsSetup()
Mark the integrator as having been setup at least once.
int iStep() const
Get current time step index.
Parallel domain decomposition (DD) MD simulation.
Main object for a domain-decomposition MD simulation.
Saving / output archive for binary ostream.
An Integrator numerically integrates the equations of motion.
Utility classes for scientific computation.
int saveInterval() const
Get interval for writing a restart file.
bool isSetup() const
Has the setup() method been called at least once previously?
Saving archive for binary istream.
TimeId
Timestamps for loop timing.
Class for measuring time intervals.
An object that can read multiple parameters from file.
const std::string & saveFileName() const
Get restart file base name.