ESyS-Particle
2.3.4
pi_storage_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
13
#ifndef __PARALLEL_INTERACTION_STORAGE_NE_H
14
#define __PARALLEL_INTERACTION_STORAGE_NE_H
15
16
//--- project includes ---
17
#include "
pis/pi_storage.h
"
18
19
//--- STL includes ---
20
#include <vector>
21
22
//--- IO includes ---
23
27
template
<
typename
P,
typename
I>
28
class
ParallelInteractionStorage_NE
:
public
TParallelInteractionStorage
<I>
29
{
30
protected
:
31
int
m_update_timestamp
;
32
vector<AParallelInteractionStorage*>
m_exIG
;
//<! if an interaction is in m_exIG, it can't be in m_interactions
33
34
set<pair<int,int> >
m_set
;
// evil hack, should be vector<int>, not pair<int,int>
35
typename
I::ParameterType
m_param
;
36
37
bool
isExcluded
(
const
vector<int>);
//<! check if a particle pair is in one of the excluding IGs
38
39
public
:
40
ParallelInteractionStorage_NE
(
AParallelParticleArray
*,
const
typename
I::ParameterType&);
41
42
virtual
void
addExIG
(
AParallelInteractionStorage
*);
43
virtual
bool
update
();
44
virtual
void
exchange
(){};
45
virtual
void
rebuild
(){};
46
virtual
void
tryInsert
(
const
vector<int>&){};
47
virtual
bool
isIn
(
const
vector<int>&);
48
virtual
void
calcForces
();
49
virtual
void
setTimeStepSize
(
double
dt)
50
{
51
}
52
virtual
void
calcHeatTrans
();
53
};
54
55
#include "
pis/pi_storage_ne.hpp
"
56
57
#endif // __PARALLEL_INTERACTION_STORAGE_NE_H
pi_storage.h
ParallelInteractionStorage_NE::rebuild
virtual void rebuild()
do nothing
Definition:
pi_storage_ne.h:45
pi_storage_ne.hpp
ParallelInteractionStorage_NE::exchange
virtual void exchange()
Definition:
pi_storage_ne.h:44
ParallelInteractionStorage_NE::tryInsert
virtual void tryInsert(const vector< int > &)
do nothing
Definition:
pi_storage_ne.h:46
ParallelInteractionStorage_NE::isIn
virtual bool isIn(const vector< int > &)
do nothing
Definition:
pi_storage_ne.hpp:109
ParallelInteractionStorage_NE::ParallelInteractionStorage_NE
ParallelInteractionStorage_NE(AParallelParticleArray *, const typename I::ParameterType &)
Definition:
pi_storage_ne.hpp:14
AParallelInteractionStorage
abstract base class for parallel interaction storage array
Definition:
pi_storage.h:45
ParallelInteractionStorage_NE::m_exIG
vector< AParallelInteractionStorage * > m_exIG
Definition:
pi_storage_ne.h:32
ParallelInteractionStorage_NE::m_param
I::ParameterType m_param
Definition:
pi_storage_ne.h:35
ParallelInteractionStorage_NE::update
virtual bool update()
Definition:
pi_storage_ne.hpp:49
ParallelInteractionStorage_NE::calcForces
virtual void calcForces()
Definition:
pi_storage_ne.hpp:122
AParallelParticleArray
abstract base class for parallel particle storage array
Definition:
pp_array.h:42
ParallelInteractionStorage_NE
parallel storage array without exchange for dynamically created interactions (elastic)
Definition:
pi_storage_ne.h:29
ParallelInteractionStorage_NE::setTimeStepSize
virtual void setTimeStepSize(double dt)
Definition:
pi_storage_ne.h:49
TParallelInteractionStorage
templated abstract base class for parallel interaction storage array. Adds the vector of interactions...
Definition:
pi_storage.h:91
ParallelInteractionStorage_NE::m_update_timestamp
int m_update_timestamp
Definition:
pi_storage_ne.h:31
ParallelInteractionStorage_NE::calcHeatTrans
virtual void calcHeatTrans()
Definition:
pi_storage_ne.hpp:139
ParallelInteractionStorage_NE::m_set
set< pair< int, int > > m_set
Definition:
pi_storage_ne.h:34
ParallelInteractionStorage_NE::isExcluded
bool isExcluded(const vector< int >)
Definition:
pi_storage_ne.hpp:32
ParallelInteractionStorage_NE::addExIG
virtual void addExIG(AParallelInteractionStorage *)
Definition:
pi_storage_ne.hpp:21
pis
pi_storage_ne.h
Generated by
1.8.20