ESyS-Particle  2.3
CheckPointer.h
Go to the documentation of this file.
1 // //
3 // Copyright (c) 2003-2014 by The University of Queensland //
4 // Centre for Geoscience Computing //
5 // http://earth.uq.edu.au/centre-geoscience-computing //
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 CHECKPOINTER_H
15 #define CHECKPOINTER_H
16 
17 // --- MPI includes ---
18 #include <mpi.h>
19 
20 //--- TML includes ---
21 #include "tml/comm/comm.h"
22 
23 #include <string>
24 #include <iostream>
25 
26 
27 namespace esys
28 {
29  namespace lsm
30  {
31  class CheckPointable;
32  }
33 }
34 
39 {
40 public:
43  CheckPointer(esys::lsm::CheckPointable &checkPointable, MPI_Comm mpiComm=MPI_COMM_WORLD);
44 
47  virtual ~CheckPointer();
48 
52  virtual void saveRestartable();
53  virtual void saveDump();
54  virtual void saveThroughMaster(TML_Comm&);
55  virtual void loadCheckPoint();
56 
60  virtual void save(std::ostream &oStream);
61 
62  MPI_Comm getMpiComm() const;
63 
64  void setMpiComm(MPI_Comm mpiComm);
65 
66 private:
68  MPI_Comm m_mpiComm;
69 };
70 
71 #endif
virtual void saveRestartable()
Definition: CheckPointer.cpp:49
virtual void loadCheckPoint()
Definition: CheckPointer.cpp:103
MPI_Comm getMpiComm() const
Definition: CheckPointer.cpp:39
esys::lsm::CheckPointable * m_pCheckPointable
Definition: CheckPointer.h:67
virtual void saveDump()
Definition: CheckPointer.cpp:68
virtual ~CheckPointer()
Definition: CheckPointer.cpp:35
Definition: CheckPointable.cpp:16
virtual void saveThroughMaster(TML_Comm &)
Definition: CheckPointer.cpp:82
CheckPointer(esys::lsm::CheckPointable &checkPointable, MPI_Comm mpiComm=MPI_COMM_WORLD)
Definition: CheckPointer.cpp:29
virtual void save(std::ostream &oStream)
Definition: CheckPointer.cpp:119
void setMpiComm(MPI_Comm mpiComm)
Definition: CheckPointer.cpp:44
abstract base class for communicator
Definition: comm.h:46
MPI_Comm m_mpiComm
Definition: CheckPointer.h:68
Definition: CheckPointer.h:38
Definition: CheckPointable.h:26