26 #ifndef MANAGER_MONITORINGMANAGER_H 
   27 #define MANAGER_MONITORINGMANAGER_H 
   35 #include <MonitorIn.hxx> 
   36 #include <MonitorOut.hxx> 
   68     virtual void end() = 0;
 
   81     void reload(
bool delPml = 
true);
 
   86     void writeOutput(
const char* fileName);
 
   88     void writeCsv(
const char* fileName);
 
   90     void saveMmlIn(
const char* fileName);
 
   96     double getCurrentTime();
 
   97     double getCurrentStep();
 
   98     double getStepComputingTime();
 
   99     double getComputingTime();
 
  115     std::string getPmlFileName();
 
  116     std::string getLmlFileName();
 
  117     std::string getMmlFileName();
 
  118     std::string getmmlFileFolder();
 
  121     void getOldPosition(
double pos[3], 
unsigned int index);
 
  125     void setCurrentTime(
double time);
 
  128     void storeOldPositions();
 
  130     void updateCurrentTime();
 
  132     void updateComputingTime();
 
  137     void setDt(
double dt);
 
  139     void setRefresh(
double refresh);
 
  141     void setPmlFileName(
const char* file);
 
  143     void setLmlFileName(
const char* file);
 
  147     void addMonitor(
Monitor* monitor);
 
  149     Monitor* getMonitor(
const unsigned int i) 
const;
 
  151     void deleteMonitor(
const unsigned int i);
 
  153     unsigned int numberOfMonitor() 
const;
 
  163     std::unique_ptr<mml::MonitoringIn> 
mmlIn;
 
  190     void buildMonitors();
 
  196     void buildPmlAndSimulator(
bool delPml = 
true);
 
  198     void buildPmlAndSimulatorfromPml();
 
  200     void buildPmlAndSimulatorfromSimulator();
 
  207     double* oldPositionPointer;
 
  215     std::string pmlFileName;
 
  217     std::string lmlFileName;
 
  219     std::string mmlFileName;
 
  221     std::string mmlFileFolder;
 
#define MML_API
Definition: MMLAPI.h:43
 
This class makes it possible to manage a list of "Load".
Definition: Loads.h:71
 
A monitor calculate and store followed data (ex:calculation between current position and references) ...
Definition: Monitor.h:49
 
Manager of the benchmark tests.
Definition: MonitoringManager.h:50
 
double refresh
refreshing step
Definition: MonitoringManager.h:172
 
std::vector< mml::TimeStep * > times
Vector that contains information saved by saveMonitors method.
Definition: MonitoringManager.h:167
 
double computingTime
total computing time at current moment
Definition: MonitoringManager.h:183
 
Simulator * simul
the simulator used for simualtion
Definition: MonitoringManager.h:185
 
double currentTime
time at current moment
Definition: MonitoringManager.h:179
 
std::vector< Monitor * > monitors
Vector that contains all monitors.
Definition: MonitoringManager.h:165
 
double stepComputingTime
computing time of last step
Definition: MonitoringManager.h:181
 
std::unique_ptr< mml::MonitoringIn > mmlIn
Object representing manager in the file generated by xsdcxx, can be used for serialization.
Definition: MonitoringManager.h:163
 
int step
current step
Definition: MonitoringManager.h:177
 
double dt
integration step
Definition: MonitoringManager.h:170
 
std::string simulatorName
name of the simulator
Definition: MonitoringManager.h:174
 
virtual bool checkStop()=0
Check if simulation is finished.
 
virtual void end()=0
End manager.
 
virtual void doMove()=0
Do one step of simulation and save monitors for this step.
 
virtual bool init()=0
Initialize manager.
 
This is the main class of this project.
Definition: PhysicalModel.h:86
 
A simulator engine is used to compute the displacements of all atoms of the model.
Definition: Simulator.h:46
 
void refresh()
refresh the display