13 #ifndef __MESH2D_PIS_EB_H
14 #define __MESH2D_PIS_EB_H
16 #include "tml/comm/cart_comm.h"
17 #include "pis/mesh2d_pis.h"
25 template<
class ParticleType,
class IType>
29 static const int m_edge_exchg_tag;
30 static const int m_corner_exchg_tag;
31 void exchange_boundary(
int,
int);
34 typename IType::ParameterType m_param;
37 std::set<pair<int,int> > m_edge_int_set;
38 std::set<pair<int,int> > m_corner_int_set;
40 std::list<typename IType::TriIntType> m_edge_interactions;
41 std::list<typename IType::CornerIntType> m_corner_interactions;
48 typedef typename IType::TriIntType Interaction;
49 typedef typename list<Interaction>::iterator Iterator;
57 int getNumRemaining();
60 bool isInner(
const Iterator &it);
72 virtual bool isIn(
const vector<int>&);
73 virtual void setTimeStepSize(
double dt);
75 virtual bool update();
76 virtual void exchange();
78 virtual void tryInsert(
const typename IType::TriIntType&);
79 virtual void tryInsert(
const typename IType::CornerIntType&);
80 virtual void tryInsert(
const vector<int>&);
84 void buildFromPPATagged(
int,
int);
87 virtual void saveCheckPointData(std::ostream&);
88 virtual void loadCheckPointData(std::istream&);
91 #include "pis/mesh2d_pis_eb.hpp"
93 #endif //__MESH2D_PIS_EB_H