ESyS-Particle
2.2
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
InteractionGroup.h
Go to the documentation of this file.
1
2
// //
3
// Copyright (c) 2003-2013 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 __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
Model
InteractionGroup.h
Generated on Mon May 6 2013 23:26:30 for ESyS-Particle by
1.8.3.1