ESyS-Particle
4.0.1
Main Page
Related Pages
Namespaces
Classes
Files
File List
Geometry
GranularGougeBlock3D.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 __ESYS_LSM_GRANULARGOUGEBLOCK3D_H
14
#define __ESYS_LSM_GRANULARGOUGEBLOCK3D_H
15
16
// --- project includes --
17
#include "Geometry/GougeBlock3D.h"
18
19
namespace
esys {
20
namespace
lsm {
21
31
class
GranularGougeBlock3D
:
public
GougeBlock3D
32
{
33
private
:
34
vector<Vec3> m_grain_seeds;
35
36
void
generateSeeds(
double
,
double
,
double
,
double
,
double
,
double
);
37
38
public
:
39
GranularGougeBlock3D
(
const
GougeBlockPrms
&prms);
40
virtual
~GranularGougeBlock3D
();
41
42
virtual
void
createInteractionSet
();
43
virtual
void
generate();
44
virtual
void
generateGrains
(
double
,
double
,
double
,
double
,
double
,
double
,
int
,
int
rm_threshold=0);
45
};
46
55
class
GranularInteractionValidator
56
{
57
private
:
58
const
GranularGougeBlock3D
*m_pGougeBlock;
59
double
m_tolerance;
60
61
public
:
62
GranularInteractionValidator
(
const
GranularGougeBlock3D
&,
double
);
63
bool
isValid(
const
SimpleParticle
&,
const
SimpleParticle
&)
const
;
64
};
65
}
66
}
67
68
#endif // __ESYS_LSM_GRANULARGOUGEBLOCK3D_H
Generated on Sun Apr 13 2014 05:18:50 for ESyS-Particle by
1.8.1.2