ESyS-Particle
2.2
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
CheckPointController.h
Go to the documentation of this file.
1
2
// //
3
// Copyright (c) 2003-2013 by The University of Queensland //
4
// Earth Systems Science Computational Centre (ESSCC) //
5
// http://www.uq.edu.au/esscc //
6
// //
7
// Primary Business: Brisbane, Queensland, Australia //
8
// Licensed under the Open Software License version 3.0 //
9
// http://www.opensource.org/licenses/osl-3.0.php //
10
// //
12
13
14
#ifndef CHECKPOINTCONTROLLER_H
15
#define CHECKPOINTCONTROLLER_H
16
17
// --- MPI includes ---
18
#include <mpi.h>
19
20
// --- Project includes ---
21
#include "
Geometry/GeometryInfo.h
"
22
#include "
Foundation/StringUtil.h
"
23
#include "
Foundation/BoundingBox.h
"
24
25
// --- STL includes ---
26
#include <string>
27
31
class
CheckPointController
32
{
33
public
:
39
CheckPointController
();
40
47
CheckPointController
(
48
const
std::string &fileNamePrefix,
49
int
beginTime,
50
int
endTime,
51
int
timeInterval,
52
bool
writeThroughMaster
53
);
54
58
virtual
~CheckPointController
();
59
68
virtual
void
performCheckPoint
(
int
currentTime);
69
virtual
void
performSnapShot
(
int
currentTime);
70
76
virtual
void
issueCheckPointCmd
(
int
currentTime);
77
virtual
void
issueCheckPointCmdWTM
(
int
currentTime);
78
virtual
void
issueSnapShotCmd
(
int
currentTime);
79
virtual
void
issueCheckPointLoadingCmd
(
const
std::string&);
80
87
bool
isCheckPoint
(
int
time);
88
92
void
setCheckPointParams
(
93
const
std::string &fileNamePrefix,
94
int
beginTime,
95
int
endTime,
96
int
timeInterval,
97
bool
writeThroughMaster,
98
int
precision=12
99
);
100
101
std::string
getLatticeDataFileName
(
const
std::string &fileNamePrefix,
int
timeStep,
int
rank,
bool
bin=
false
);
102
103
esys::lsm::StringVector
getLatticeDataFiles
(
int
timeStep,
int
size);
104
105
esys::lsm::StringVector
getLatticeDataFiles
(
int
timeStep);
106
111
void
set_is2d
(
bool
do2d);
112
116
void
setLsmGeoVersion
(
float
version);
117
121
void
setPeriodicDimensions
(
esys::lsm::BoolVector
periodicDimensions);
122
126
void
setGeometryInfo
(
const
esys::lsm::GeometryInfo
&geoInfo);
127
131
void
setSpatialDomain
(
const
esys::lsm::BoundingBox
&bBox);
132
136
esys::lsm::GeometryInfo
getGeometryInfo
()
const
;
137
141
int
getNumTimeSteps
()
const
;
142
146
void
setNumTimeSteps
(
int
numTimeSteps);
147
151
double
getTimeStepSize
()
const
;
152
156
void
setTimeStepSize
(
double
timeStepSize);
157
158
void
setPrecision
(
int
precision){
m_precision
=precision;};
159
160
bool
spatialDomainHasBeenSet
()
const
;
161
162
163
MPI_Comm
getMpiComm
()
const
;
164
165
void
setMpiComm
(MPI_Comm mpiComm);
166
167
168
protected
:
172
MPI_Comm
m_mpiComm
;
173
174
178
std::string
m_fileNamePrefix
;
179
183
int
m_beginTime
;
184
188
int
m_endTime
;
189
193
int
m_timeInterval
;
194
198
esys::lsm::GeometryInfo
m_geoInfo
;
199
203
int
m_numTimeSteps
;
204
208
double
m_timeStepSize
;
209
210
bool
m_spatialDomainHasBeenSet
;
211
216
bool
m_writeThroughMaster
;
217
int
m_precision
;
218
};
219
220
#endif
Parallel
CheckPointController.h
Generated on Mon May 6 2013 23:26:30 for ESyS-Particle by
1.8.3.1