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
27
class
AParallelInteractionStorage
;
28
template
<
class
T>
class
ParallelParticleArray
;
29
33
template
<
class
T>
34
class
AInteractionGroup
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>
54
class
APairInteractionGroup
:
public
AInteractionGroup
<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
71
#include "
Model/InteractionGroup.hpp
"
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
Model
InteractionGroup.h
Generated by
1.8.20