ESyS-Particle  4.0.1
mesh2d_pis.h
1 
2 // //
3 // Copyright (c) 2003-2011 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 #ifndef __MESH2D_PIS_H
14 #define __MESH2D_PIS_H
15 
16 // --- project includes ---
17 #include "pi_storage.h"
18 
19 // --- STL includes ---
20 #include <set>
21 #include <list>
22 
23 using std::set;
24 using std::list;
25 
35 template<class ParticleType>
37 {
38  protected:
39  int m_update_timestamp;
40  Mesh2D* m_mesh;
41  AParallelInteractionStorage* m_exIG; //<! if an interaction is in m_exIG, it can't be in m_interactions
42 
43  public:
45  virtual ~Mesh2D_PIS();
46 
47  virtual void addExIG(AParallelInteractionStorage*);
48  virtual AFieldSlave* generateNewScalarFieldSlave(TML_Comm*,const string&,int,int,int,int);
49  virtual AFieldSlave* generateNewVectorFieldSlave(TML_Comm*,const string&,int,int,int,int);
50 
51  virtual void saveCheckPointData(std::ostream&);
52  virtual void loadCheckPointData(std::istream&);
53 };
54 
55 #include "mesh2d_pis.hpp"
56 
57 #endif //__MESH2D_PIS_H