ESyS-Particle  2.3
mesh2d_pis_ne.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 #ifndef __MESH2D_PIS_NE_H
13 #define __MESH2D_PIS_NE_H
14 
15 // --- project includes ---
16 #include "pis/mesh2d_pis.h"
17 
28 template<class ParticleType,class IType>
29 class Mesh2D_PIS_NE : public Mesh2D_PIS<ParticleType>
30 {
31  protected:
32  typename IType::ParameterType m_param;
33 
34  set<pair<int,int> > m_edge_int_set; // for isIn
35  set<pair<int,int> > m_corner_int_set; // for isIn
36  vector<typename IType::EdgeIntType> m_edge_interactions;
37  vector<typename IType::CornerIntType> m_corner_interactions;
38 
39  public:
40  Mesh2D_PIS_NE(Mesh2D*,ParallelParticleArray<ParticleType>*,typename IType::ParameterType);
42 
43  virtual bool isIn(const vector<int>&);
44 
48  virtual void setTimeStepSize(double dt)
49  {
50  }
51 
52  virtual void calcForces();
53  virtual bool update();
54  virtual void exchange(){};
55  virtual void rebuild(){};
56  virtual void tryInsert(const vector<int>&){};
57 };
58 
59 #include "mesh2d_pis_ne.hpp"
60 
61 #endif // __MESH2D_PIS_NE_H
parrallel particle storage array with neighborsearch and variable exchange
Definition: SubLattice.h:61
Abstract base class for parallel storage of interactions between a 2D mesh and particles.
Definition: mesh2d_pis.h:36
virtual bool isIn(const vector< int > &)
Definition: mesh2d_pis_ne.hpp:46
Class for parallel storage of interactions between a 2D mesh and particles which doesn't require exch...
Definition: mesh2d_pis_ne.h:29
set< pair< int, int > > m_corner_int_set
Definition: mesh2d_pis_ne.h:35
~Mesh2D_PIS_NE()
Definition: mesh2d_pis_ne.hpp:33
virtual void rebuild()
do nothing
Definition: mesh2d_pis_ne.h:55
virtual bool update()
Definition: mesh2d_pis_ne.hpp:90
vector< typename IType::EdgeIntType > m_edge_interactions
Definition: mesh2d_pis_ne.h:36
virtual void calcForces()
Definition: mesh2d_pis_ne.hpp:67
IType::ParameterType m_param
Definition: mesh2d_pis_ne.h:32
set< pair< int, int > > m_edge_int_set
Definition: mesh2d_pis_ne.h:34
virtual void setTimeStepSize(double dt)
Definition: mesh2d_pis_ne.h:48
Mesh2D_PIS_NE(Mesh2D *, ParallelParticleArray< ParticleType > *, typename IType::ParameterType)
Definition: mesh2d_pis_ne.hpp:22
Definition: Mesh2D.h:46
virtual void tryInsert(const vector< int > &)
do nothing
Definition: mesh2d_pis_ne.h:56
virtual void exchange()
Definition: mesh2d_pis_ne.h:54
vector< typename IType::CornerIntType > m_corner_interactions
Definition: mesh2d_pis_ne.h:37