ESyS-Particle  2.3.4
pi_storage_ed.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 __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
ParallelInteractionStorage_ED::update
virtual bool update()
Definition: pi_storage_ed.hpp:84
ParallelInteractionStorage_ED::m_exIG
vector< AParallelInteractionStorage * > m_exIG
Definition: pi_storage_ed.h:37
ParallelInteractionStorage_ED::calcHeatFrict
virtual void calcHeatFrict()
Definition: pi_storage_ed.hpp:165
ParallelInteractionStorage_ED::setTimeStepSize
virtual void setTimeStepSize(double dt)
does nothing
Definition: pi_storage_ed.hpp:63
ParallelInteractionStorage_E
parallel interaction storage array with exchange
Definition: pi_storage_e.h:37
AParallelInteractionStorage
abstract base class for parallel interaction storage array
Definition: pi_storage.h:45
ParallelInteractionStorage_ED::saveCheckPointData
virtual void saveCheckPointData(std::ostream &oStream)
Definition: pi_storage_ed.hpp:202
pi_storage_ed.hpp
AParallelParticleArray
abstract base class for parallel particle storage array
Definition: pp_array.h:42
ParallelInteractionStorage_ED::willSave
virtual bool willSave()
Definition: pi_storage_ed.h:55
ParallelInteractionStorage_ED::ParallelInteractionStorage_ED
ParallelInteractionStorage_ED(AParallelParticleArray *, const typename I::ParameterType &)
Definition: pi_storage_ed.hpp:14
ParallelInteractionStorage_ED::m_update_timestamp
int m_update_timestamp
Definition: pi_storage_ed.h:36
ParallelInteractionStorage_ED::calcHeatTrans
virtual void calcHeatTrans()
Definition: pi_storage_ed.hpp:182
ParallelInteractionStorage_ED::loadCheckPointData
virtual void loadCheckPointData(std::istream &iStream)
Definition: pi_storage_ed.hpp:229
pi_storage_e.h
ParallelInteractionStorage_ED::addExIG
virtual void addExIG(AParallelInteractionStorage *)
Definition: pi_storage_ed.hpp:20
ParallelInteractionStorage_ED::isExcluded
bool isExcluded(const vector< int >)
Definition: pi_storage_ed.hpp:49
ParallelInteractionStorage_ED
parallel storage array with exchange for dynamically created interactions (friction etc....
Definition: pi_storage_ed.h:31