ESyS-Particle
4.0.1
Main Page
Related Pages
Namespaces
Classes
Files
File List
pis
trimesh_pis_eb.h
1
2
// //
3
// Copyright (c) 2003-2011 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 __TRIMESH_PIS_EB_H
14
#define __TRIMESH_PIS_EB_H
15
16
// --- STL includes ---
17
#include <vector>
18
19
// --- project includes ---
20
#include "tml/comm/cart_comm.h"
21
#include "pis/trimesh_pis.h"
22
28
template
<
class
ParticleType,
class
IType>
29
class
TriMesh_PIS_EB
:
public
TriMesh_PIS
<ParticleType>
30
{
31
private
:
32
static
const
int
m_exchg_tag;
33
void
exchange_boundary(
int
,
int
);
34
35
protected
:
36
typename
IType::ParameterType m_param;
37
38
TML_CartComm
m_comm;
39
set<pair<int,int> > m_tri_int_set;
// for isIn, <TID,PID> pairs
40
list<typename IType::TriIntType> m_triangle_interactions;
41
42
public
:
43
TriMesh_PIS_EB
(
TriMesh
*,
ParallelParticleArray<ParticleType>
*,
typename
IType::ParameterType);
44
45
virtual
bool
isIn
(
const
vector<int>&);
46
virtual
void
setTimeStepSize(
double
dt);
47
virtual
void
calcForces
();
48
virtual
bool
update();
49
virtual
void
exchange();
50
virtual
void
rebuild
();
51
virtual
void
tryInsert(
const
typename
IType::TriIntType&);
52
virtual
void
tryInsert(
const
vector<int>&);
53
54
virtual
void
saveSnapShotData
(std::ostream&);
55
56
void
buildFromPPATagged(
int
,
int
);
57
void
buildFromPPAByGap(
double
);
58
};
59
60
#include "pis/trimesh_pis_eb.hpp"
61
62
#endif // __TRIMESH_PIS_EB_H
Generated on Sat Mar 22 2014 08:30:43 for ESyS-Particle by
1.8.1.2