ESyS-Particle  2.3.4
InteractionGroup.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 
13 #ifndef __INTERACTIONGROUP_H
14 #define __INTERACTIONGROUP_H
15 
16 // -- project includes --
17 #include "Model/IGParam.h"
18 #include "Model/InteractionParam.h"
19 
20 // -- STL includes --
21 #include <set>
22 #include <utility>
23 
24 using std::set;
25 using std::pair;
26 
28 template <class T> class ParallelParticleArray;
29 
33 template <class T>
35 {
36 public:
37  virtual ~AInteractionGroup(){};
38 
39  virtual void Update(ParallelParticleArray<T>*)=0;
40  virtual void calcForces()=0;
41 
42  virtual void setTimeStepSize(double dt) = 0;
43 };
44 
53 template<class T>
55 {
56  protected:
63  set<pair<int,int> > m_set;
64  unsigned int m_update_timestamp;
65 
66  public:
67  bool isIn(int,int);
68  virtual void setExIG(AParallelInteractionStorage* eg){};
69 };
70 
72 
73 #endif //__INTERACTIONGROUP_H
AInteractionGroup::setTimeStepSize
virtual void setTimeStepSize(double dt)=0
InteractionParam.h
APairInteractionGroup::isIn
bool isIn(int, int)
Definition: InteractionGroup.hpp:14
AInteractionGroup::calcForces
virtual void calcForces()=0
AParallelInteractionStorage
abstract base class for parallel interaction storage array
Definition: pi_storage.h:45
AInteractionGroup
Abstract base class for a group of interactions.
Definition: InteractionGroup.h:35
ParallelParticleArray
parrallel particle storage array with neighborsearch and variable exchange
Definition: pp_array.h:75
APairInteractionGroup::m_update_timestamp
unsigned int m_update_timestamp
Definition: InteractionGroup.h:64
AInteractionGroup::~AInteractionGroup
virtual ~AInteractionGroup()
Definition: InteractionGroup.h:37
APairInteractionGroup::setExIG
virtual void setExIG(AParallelInteractionStorage *eg)
Definition: InteractionGroup.h:68
APairInteractionGroup::m_set
set< pair< int, int > > m_set
Definition: InteractionGroup.h:63
APairInteractionGroup
Abstract base class for a group of pair interactions.
Definition: InteractionGroup.h:55
AInteractionGroup::Update
virtual void Update(ParallelParticleArray< T > *)=0
InteractionGroup.hpp
IGParam.h