ESyS-Particle  2.3.4
mesh2d_pis_ne.h
Go to the documentation of this file.
1 // //
3 // Copyright (c) 2003-2017 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.apache.org/licenses/LICENSE-2.0 //
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
Mesh2D_PIS_NE::isIn
virtual bool isIn(const vector< int > &)
Definition: mesh2d_pis_ne.hpp:46
Mesh2D_PIS_NE::exchange
virtual void exchange()
Definition: mesh2d_pis_ne.h:54
Mesh2D_PIS_NE::m_corner_int_set
set< pair< int, int > > m_corner_int_set
Definition: mesh2d_pis_ne.h:35
Mesh2D
Definition: Mesh2D.h:47
Mesh2D_PIS_NE::update
virtual bool update()
Definition: mesh2d_pis_ne.hpp:90
Mesh2D_PIS_NE
Class for parallel storage of interactions between a 2D mesh and particles which doesn't require exch...
Definition: mesh2d_pis_ne.h:30
Mesh2D_PIS_NE::m_edge_interactions
vector< typename IType::EdgeIntType > m_edge_interactions
Definition: mesh2d_pis_ne.h:36
Mesh2D_PIS_NE::calcForces
virtual void calcForces()
Definition: mesh2d_pis_ne.hpp:67
ParallelParticleArray
parrallel particle storage array with neighborsearch and variable exchange
Definition: pp_array.h:75
Mesh2D_PIS_NE::rebuild
virtual void rebuild()
do nothing
Definition: mesh2d_pis_ne.h:55
Mesh2D_PIS_NE::setTimeStepSize
virtual void setTimeStepSize(double dt)
Definition: mesh2d_pis_ne.h:48
mesh2d_pis.h
Mesh2D_PIS_NE::tryInsert
virtual void tryInsert(const vector< int > &)
do nothing
Definition: mesh2d_pis_ne.h:56
Mesh2D_PIS_NE::m_param
IType::ParameterType m_param
Definition: mesh2d_pis_ne.h:32
Mesh2D_PIS_NE::m_edge_int_set
set< pair< int, int > > m_edge_int_set
Definition: mesh2d_pis_ne.h:34
Mesh2D_PIS_NE::Mesh2D_PIS_NE
Mesh2D_PIS_NE(Mesh2D *, ParallelParticleArray< ParticleType > *, typename IType::ParameterType)
Definition: mesh2d_pis_ne.hpp:22
Mesh2D_PIS_NE::~Mesh2D_PIS_NE
~Mesh2D_PIS_NE()
Definition: mesh2d_pis_ne.hpp:33
mesh2d_pis_ne.hpp
Mesh2D_PIS_NE::m_corner_interactions
vector< typename IType::CornerIntType > m_corner_interactions
Definition: mesh2d_pis_ne.h:37
Mesh2D_PIS
Abstract base class for parallel storage of interactions between a 2D mesh and particles.
Definition: mesh2d_pis.h:37