26 #ifndef MANAGER_MONITORINGMANAGER_H 27 #define MANAGER_MONITORINGMANAGER_H 35 #include <MonitorIn.hxx> 36 #include <MonitorOut.hxx> 66 virtual bool init() = 0;
68 virtual void end() = 0;
73 virtual void doMove() = 0;
75 virtual bool checkStop() = 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();
225 #endif // MANAGER_MONITORINGMANAGERF_H
double dt
integration step
Definition: MonitoringManager.h:170
double currentTime
time at current moment
Definition: MonitoringManager.h:179
Loads * lml
Loads applied to pml.
Definition: MonitoringManager.h:211
int step
current step
Definition: MonitoringManager.h:177
double refresh
refreshing step
Definition: MonitoringManager.h:172
A simulator engine is used to compute the displacements of all atoms of the model.
Definition: Simulator.h:46
std::string mmlFileName
name of the mml in file (complete path from working directory)
Definition: MonitoringManager.h:219
std::string pmlFileName
name of the pml file (complete path from working directory)
Definition: MonitoringManager.h:215
bool ownPml
is the pml "own" by this instance, which is the normal case when there are no visual representation...
Definition: MonitoringManager.h:205
This class makes it possible to manage a list of "Load".
Definition: Loads.h:71
PhysicalModel * initPml
initial pml
Definition: MonitoringManager.h:209
std::string mmlFileFolder
folder of mml file (complete path from working directory)
Definition: MonitoringManager.h:221
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
std::unique_ptr< mml::MonitoringIn > mmlIn
Object representing manager in the file generated by xsdcxx, can be used for serialization.
Definition: MonitoringManager.h:163
double stepComputingTime
computing time of last step
Definition: MonitoringManager.h:181
std::string simulatorName
name of the simulator
Definition: MonitoringManager.h:174
This is the main class of this project.
Definition: PhysicalModel.h:86
std::string lmlFileName
name of the lml file (complete path from working directory)
Definition: MonitoringManager.h:217
PhysicalModel * pml
pml at current moment
Definition: MonitoringManager.h:203
std::vector< mml::TimeStep * > times
Vector that contains information saved by saveMonitors method.
Definition: MonitoringManager.h:167
Simulator * simul
the simulator used for simualtion
Definition: MonitoringManager.h:185
double computingTime
total computing time at current moment
Definition: MonitoringManager.h:183
#define MML_API
Definition: MMLAPI.h:43
std::vector< Monitor * > monitors
Vector that contains all monitors.
Definition: MonitoringManager.h:165
bool ownLml
is the lml "own" by this is instance, which is the normal case when there are not visual representati...
Definition: MonitoringManager.h:213
double * oldPositionPointer
old position pointer
Definition: MonitoringManager.h:207