13 #ifndef __SUBLATTICECONTROLER_H
14 #define __SUBLATTICECONTROLER_H
20 #include "tml/comm/comm.h"
21 #include "tml/comm/comm_world.h"
23 #include "Parallel/SubLattice.h"
24 #include "Parallel/CheckPointable.h"
25 #include "Foundation/Timer.h"
27 #include <boost/shared_ptr.hpp>
49 MPI_Comm m_global_comm;
50 MPI_Comm m_local_comm;
57 std::string m_timingFileName;
58 typedef boost::shared_ptr<MpiWTimers> MpiWTimersPtr;
59 MpiWTimersPtr m_timersPtr;
69 void init2DTriangularLocal();
70 void init3DTriangularLocal();
71 void searchNeighbors();
73 void saveTimingData();
74 void getIdParticleData();
75 void setTimeStepSize();
76 void setTimingFileName(
const std::string &timingFileName) {m_timingFileName=timingFileName;}
77 const std::string &getTimingFileName()
const {
return m_timingFileName;}
78 void do2dCalculations();
79 void getNumParticles();
80 void findParticleNearestToPoint();
81 void getParticlePosn();
82 void moveSingleParticle();
89 virtual void saveCheckPointData(std::ostream &oStream);
90 virtual void saveSnapShotData(std::ostream &oStream);
92 virtual void loadCheckPointData(std::istream &iStream);
96 #endif //__SUBLATTICECONTROLER_H