ESyS-Particle
4.0.1
Main Page
Related Pages
Namespaces
Classes
Files
File List
Geometry
RandomBlock.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 __RANDOMBLOCK_H
14
#define __RANDOMBLOCK_H
15
16
//-- project includes --
17
#include "Geometry/SimpleParticle.h"
18
#include "Geometry/SimpleNTable.h"
19
#include "Geometry/Sphere2d.h"
20
#include "Geometry/Line.h"
21
#include "Geometry/RandomAssembly2D.h"
22
23
//-- STL includes --
24
#include <vector>
25
#include <string>
26
#include <utility>
27
28
using
std::vector;
29
using
std::string;
30
using
std::pair;
31
40
class
CRandomBlock2D
:
public
ARandomAssembly2D
41
{
42
protected
:
43
virtual
Vec3
getAPoint
();
44
virtual
int
getNParts()
const
{
return
m_bpart.size();};
45
double
m_maxConnDist;
46
47
public
:
48
CRandomBlock2D
(
double
,
double
,
double
,
double
,
double
,
double
,
double
,
bool
circ_x=
false
);
49
virtual
~
CRandomBlock2D
();
50
51
virtual
void
generate
(
int
,
unsigned
int
);
52
virtual
void
insertParticle
(
const
SimpleParticle
);
53
virtual
void
tagParticleClosestTo
(
const
Vec3
&,
int
);
54
virtual
void
tagEdgeY
(
int
,
int
,
double
);
55
virtual
void
tagEdgeZ(
int
,
int
,
double
){};
// do nothing
56
57
virtual
void
writeToGeoFile
(
const
string
&);
58
virtual
double
calcPorosity
();
59
virtual
vector<pair<double,double> >
getSizeDistribution
(
int
);
60
};
61
62
#endif // __RANDOMBLOCK_H
Generated on Sat Mar 22 2014 08:30:43 for ESyS-Particle by
1.8.1.2