BoxPartitioner Class Reference

"Block" partitioning is the only one implemented now. More...

List of all members.

Public Member Functions

 BoxPartitioner ()
 Initializez the BoxPartitioner object.
 ~BoxPartitioner ()
unsigned process (unsigned atomNumber, const std::vector< AtomicGrid > &atomGrids, int noOfRelevantAtoms, const unsigned *relevantAtoms, unsigned batchLength, real(*coor)[3], real *w)
 Applies the partitioning factors to the the grid points associated with given atom.

Private Member Functions

void prepare (const std::vector< AtomicGrid > &atoms, unsigned noOfRelevantAtoms, const unsigned *relevantAtoms, unsigned pointCnt, const real(*gridPoints)[3])
real getInvDistanceBetweenAtoms (int i, int j) const
 return distance between given pair of relevant atoms.
real getFactor (int i, int j) const

Private Attributes

const real(* coor )[3]
realrj
long_realp_kg
long_realvec
realinvAtomDistances
 a triangular array
realatomFactors
 a triangular array
real xpasc [HARDNESS]
real apasc
unsigned maxPointCnt
unsigned maxAtomPointCnt
unsigned maxRelevantAtoms
int LDA

Static Private Attributes

static const int HARDNESS = 11


Detailed Description

"Block" partitioning is the only one implemented now.

.. We rename it here to Box partitioner to avoid name space conflicts.


Constructor & Destructor Documentation

BoxPartitioner::BoxPartitioner (  ) 

Initializez the BoxPartitioner object.

BoxPartitioner::~BoxPartitioner (  ) 


Member Function Documentation

real BoxPartitioner::getFactor ( int  i,
int  j 
) const [inline, private]

real BoxPartitioner::getInvDistanceBetweenAtoms ( int  i,
int  j 
) const [inline, private]

return distance between given pair of relevant atoms.

Arguments i and j specify the number of the atoms on the list of relevant atoms.

void BoxPartitioner::prepare ( const std::vector< AtomicGrid > &  atoms,
unsigned  noOfRelevantAtoms,
const unsigned *  relevantAtoms,
unsigned  pointCnt,
const real gridPoints[3] 
) [private]

unsigned BoxPartitioner::process ( unsigned  atomNumber,
const std::vector< AtomicGrid > &  atomGrids,
int  noOfRelevantAtoms,
const unsigned *  relevantAtoms,
unsigned  batchLength,
real coor[3],
real w 
)

Applies the partitioning factors to the the grid points associated with given atom.

Parameters:
atomNumber index of the atom that the grid points are associated with, in the relevantAtoms array.
atomGrids the list of all atom grids.
noOfRelevantAtoms the number of atoms relevant for the box being processed. They need to be taken into account when computing the partitioning weights.
relevantAtoms the indices of the relevant atoms in the atomGrids vector.
batchLength number of the grid points the partitioning weights have to be computed for.
coor their cartesian coordinates. Will be modified if the grid point compression occurs.
w Their weights - they will be modified.
Returns:
new batch length after compression.


Member Data Documentation

real BoxPartitioner::apasc [private]

real* BoxPartitioner::atomFactors [private]

a triangular array

const real(* BoxPartitioner::coor)[3] [private]

const int BoxPartitioner::HARDNESS = 11 [static, private]

real* BoxPartitioner::invAtomDistances [private]

a triangular array

int BoxPartitioner::LDA [private]

unsigned BoxPartitioner::maxAtomPointCnt [private]

unsigned BoxPartitioner::maxPointCnt [private]

unsigned BoxPartitioner::maxRelevantAtoms [private]

long_real* BoxPartitioner::p_kg [private]

real* BoxPartitioner::rj [private]

long_real* BoxPartitioner::vec [private]

real BoxPartitioner::xpasc[HARDNESS] [private]


The documentation for this class was generated from the following file:
Generated on Wed Nov 21 09:32:40 2012 for ergo by  doxygen 1.4.7