ESyS-Particle  2.3
pi_storage_ed.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 
13 #ifndef __PARALLEL_INTERACTION_STORAGE_ED_H
14 #define __PARALLEL_INTERACTION_STORAGE_ED_H
15 
16 //--- project includes ---
17 #include "pi_storage_e.h"
18 
19 //--- STL includes ---
20 #include <vector>
21 using std::vector;
22 
23 //--- IO includes ---
24 
29 template<typename P,typename I>
31 {
32  public:
33  // typedef I ParallelInteractionStorage_ED::interaction_type;
34 
35  protected:
37  vector<AParallelInteractionStorage*> m_exIG; //<! if an interaction is in m_exIG, it can't be in m_interactions
38 
39  bool isExcluded(const vector<int>); //<! check if a particle pair is in one of the excluding IGs
40 
41 
42  public:
43  ParallelInteractionStorage_ED(AParallelParticleArray*,const typename I::ParameterType&);
44 
45  virtual void addExIG(AParallelInteractionStorage*);
46  virtual bool update();
47  virtual void setTimeStepSize(double dt);
48 
49  virtual void saveCheckPointData(std::ostream &oStream);
50  virtual void loadCheckPointData(std::istream &iStream);
51 
52  virtual void calcHeatTrans();
53  virtual void calcHeatFrict();
54 
55  virtual bool willSave(){ return true;};
56 };
57 
58 #include "pis/pi_storage_ed.hpp"
59 
60 #endif // __PARALLEL_INTERACTION_STORAGE_ED_H
virtual void addExIG(AParallelInteractionStorage *)
Definition: pi_storage_ed.hpp:20
virtual bool update()
Definition: pi_storage_ed.hpp:84
virtual void saveCheckPointData(std::ostream &oStream)
Definition: pi_storage_ed.hpp:202
int m_update_timestamp
Definition: pi_storage_ed.h:36
virtual void calcHeatTrans()
Definition: pi_storage_ed.hpp:182
parallel storage array with exchange for dynamically created interactions (friction etc...
Definition: pi_storage_ed.h:30
vector< AParallelInteractionStorage * > m_exIG
Definition: pi_storage_ed.h:37
virtual void calcHeatFrict()
Definition: pi_storage_ed.hpp:165
abstract base class for parallel interaction storage array
Definition: pi_storage.h:44
bool isExcluded(const vector< int >)
Definition: pi_storage_ed.hpp:49
virtual bool willSave()
Definition: pi_storage_ed.h:55
virtual void setTimeStepSize(double dt)
does nothing
Definition: pi_storage_ed.hpp:63
parallel interaction storage array with exchange
Definition: pi_storage_e.h:36
ParallelInteractionStorage_ED(AParallelParticleArray *, const typename I::ParameterType &)
Definition: pi_storage_ed.hpp:14
abstract base class for parallel particle storage array
Definition: pp_array.h:41
virtual void loadCheckPointData(std::istream &iStream)
Definition: pi_storage_ed.hpp:229