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