ESyS-Particle  4.0.1
pi_storage_ed.h
1 
2 // //
3 // Copyright (c) 2003-2011 by The University of Queensland //
4 // Earth Systems Science Computational Centre (ESSCC) //
5 // http://www.uq.edu.au/esscc //
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:
36  int m_update_timestamp;
37  AParallelInteractionStorage* m_exIG; //<! if an interaction is in m_exIG, it can't be in m_interactions
38 
39  public:
40  ParallelInteractionStorage_ED(AParallelParticleArray*,const typename I::ParameterType&);
41 
42  virtual void addExIG(AParallelInteractionStorage*);
43  virtual bool update();
44  virtual void setTimeStepSize(double dt);
45 
46  virtual void saveCheckPointData(std::ostream &oStream);
47  virtual void loadCheckPointData(std::istream &iStream);
48 
49  virtual void calcHeatTrans();
50  virtual void calcHeatFrict();
51 
52  virtual bool willSave(){ return true;};
53 };
54 
55 #include "pis/pi_storage_ed.hpp"
56 
57 #endif // __PARALLEL_INTERACTION_STORAGE_ED_H