ESyS-Particle  4.0.1
Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
ARandomAssembly Class Reference

Abstract base class for random assemblies, to be used for initialization of random lattices. More...

#include <ARandomAssembly.h>

Inheritance diagram for ARandomAssembly:
Inheritance graph
[legend]
Collaboration diagram for ARandomAssembly:
Collaboration graph
[legend]

Public Member Functions

virtual void generate (int, unsigned int)=0
virtual void insertParticle (const SimpleParticle)=0
virtual void tagParticleClosestTo (const Vec3 &, int)=0
virtual void tagEdgeY (int, int, double)=0
virtual void tagEdgeZ (int, int, double)=0
virtual void tagSplit (int, int, double)
virtual void writeToGeoFile (const string &)=0
virtual void writeToVtkFile (const string &)
virtual double calcPorosity ()=0
virtual vector< pair< double,
double > > 
getSizeDistribution (int)=0

Protected Member Functions

double m_random (double, double)
vector< SimpleParticlegetNeighborList (const SimpleParticle &)
vector< SimpleParticleget3ClosestNeighbors (const SimpleParticle &, const vector< SimpleParticle > &)
vector< SimpleParticlegetClosestNeighbors (const SimpleParticle &, int)
SimpleParticle getClosestParticle (const SimpleParticle &, const vector< SimpleParticle > &)

Protected Attributes

ASimpleNTablem_snt
set< BasicInteraction, BILessm_iset
vector< SimpleParticlem_bpart

Static Protected Attributes

static double m_small_value = 1e-7

Detailed Description

Abstract base class for random assemblies, to be used for initialization of random lattices.

Author
Steffen Abe $Revision$ $Date$

Member Function Documentation

vector< SimpleParticle > ARandomAssembly::get3ClosestNeighbors ( const SimpleParticle Po,
const vector< SimpleParticle > &  NL 
)
protected

Get the 3 clostest neighbors of a particle (sorted)

Parameters
Pothe particle
NLthe list of neighbors
Todo:
Current implementation is lazy (NlogN), implement cN
vector< SimpleParticle > ARandomAssembly::getClosestNeighbors ( const SimpleParticle Po,
int  n 
)
protected

Get the n closest neighbors of a particle (sorted)

Parameters
Pothe particle
nmax nr. or neighbours returned

References ASimpleNTable::getNeighbors().

Referenced by ARandomAssembly3D::fillSpace(), and ARandomAssembly2D::fillSpace().

Here is the call graph for this function:

Here is the caller graph for this function:

SimpleParticle ARandomAssembly::getClosestParticle ( const SimpleParticle Po,
const vector< SimpleParticle > &  NL 
)
protected

get particle closest to a particle (on surface separation)

Parameters
Pothe particle
NLthe list of neighbors
vector< SimpleParticle > ARandomAssembly::getNeighborList ( const SimpleParticle Po)
protected

get the list of neighbors of a particle

Parameters
Pothe Particle

References ASimpleNTable::getNeighbors().

Referenced by ARandomAssembly3D::checkAFit(), and ARandomAssembly2D::checkAFit().

Here is the call graph for this function:

Here is the caller graph for this function:

double ARandomAssembly::m_random ( double  imin,
double  imax 
)
protected

The documentation for this class was generated from the following files: