ESyS-Particle
2.2
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
EWallInteractionGroup.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 __EWALLINTERACTIONGROUP_H
14
#define __EWALLINTERACTIONGROUP_H
15
16
//--- project includes ---
17
#include "
Model/EWallInteraction.h
"
18
#include "
Model/WallIG.h
"
19
#include "
Model/ElasticInteractionGroup.h
"
20
#include "
Model/IGParam.h
"
21
22
template
<
class
T>
class
ParallelParticleArray
;
23
24
//--- STL includes ---
25
#include <map>
26
27
using
std::map;
28
32
class
CEWallIGP
:
public
CElasticIGP
33
{
34
protected
:
35
std::string
m_wallname
;
36
public
:
37
38
CEWallIGP
(
const
std::string&,
const
std::string&,
double
);
39
virtual
void
packInto
(
CVarMPIBuffer
*)
const
;
40
std::string
getWallName
()
const
{
return
m_wallname
;};
41
friend
ostream&
operator<<
(ostream&,
const
CEWallIGP
&);
42
};
43
44
CEWallIGP
*
extractEWallIGP
(
AMPIBuffer
*);
45
46
47
// --- Forward decl ---
48
template
<
class
T>
class
CEWallInteractionGroup
;
49
template
<
class
T> ostream& operator<< (ostream &, const CEWallInteractionGroup<T> &);
50
54
template
<
class
T>
55
class
CEWallInteractionGroup
:
public
AWallInteractionGroup
<T>
56
{
57
protected
:
58
vector<CElasticWallInteraction<T> >
m_interactions
;
59
double
m_k
;
60
double
m_k_global
;
61
double
k_local
;
62
63
public
:
64
CEWallInteractionGroup
(
TML_Comm
*);
65
CEWallInteractionGroup
(
TML_Comm
*,
CWall
*,
const
CEWallIGP
*);
66
virtual
~CEWallInteractionGroup
(){}
67
71
virtual
void
setTimeStepSize
(
double
dt)
72
{
73
}
74
75
virtual
void
calcForces
();
76
virtual
void
applyForce
(
const
Vec3
&);
77
virtual
void
Update
(
ParallelParticleArray<T>
*);
78
79
friend
ostream& operator<< <>(ostream &,
const
CEWallInteractionGroup
&);
80
};
81
82
#include "
EWallInteractionGroup.hpp
"
83
84
#endif //__EWALLINTERACTIONGROUP_H
Model
EWallInteractionGroup.h
Generated on Mon May 6 2013 23:26:30 for ESyS-Particle by
1.8.3.1