|
ergo
|
"Block" partitioning is the only one implemented now... We rename it here to Box partitioner to avoid name space conflicts. More...
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] |
| real * | rj |
| long_real * | p_kg |
| long_real * | vec |
| real * | invAtomDistances |
| a triangular array | |
| real * | atomFactors |
| a triangular array | |
| real | xpasc [HARDNESS] |
| real | apasc |
| unsigned | maxPointCnt |
| unsigned | maxAtomPointCnt |
| unsigned | maxRelevantAtoms |
| int | LDA |
Static Private Attributes | |
| static const int | HARDNESS = 11 |
"Block" partitioning is the only one implemented now... We rename it here to Box partitioner to avoid name space conflicts.
| BoxPartitioner::BoxPartitioner | ( | ) |
Initializez the BoxPartitioner object.
References apasc, atomFactors, coor, HARDNESS, invAtomDistances, maxAtomPointCnt, maxPointCnt, maxRelevantAtoms, p_kg, rj, vec, and xpasc.
| BoxPartitioner::~BoxPartitioner | ( | ) |
References atomFactors, invAtomDistances, p_kg, rj, and vec.
|
inlineprivate |
References atomFactors.
Referenced by process().
|
inlineprivate |
return distance between given pair of relevant atoms.
Arguments i and j specify the number of the atoms on the list of relevant atoms.
References invAtomDistances.
Referenced by process().
|
private |
References atomFactors, BraggRadii, BraggSize, charge, coor, invAtomDistances, LDA, maxAtomPointCnt, maxPointCnt, maxRelevantAtoms, p_kg, rj, template_blas_sqrt(), and vec.
Referenced by process().
| 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.
| 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. |
References apasc, coor, getFactor(), getInvDistanceBetweenAtoms(), HARDNESS, LDA, p_kg, prepare(), rj, vec, WEIGHT_THRESHOLD, and xpasc.
Referenced by Stream::saveAtomGridInBox().
|
private |
Referenced by BoxPartitioner(), and process().
|
private |
a triangular array
Referenced by BoxPartitioner(), getFactor(), prepare(), and ~BoxPartitioner().
|
private |
Referenced by BoxPartitioner(), prepare(), and process().
|
staticprivate |
Referenced by BoxPartitioner(), and process().
|
private |
a triangular array
Referenced by BoxPartitioner(), getInvDistanceBetweenAtoms(), prepare(), and ~BoxPartitioner().
|
private |
Referenced by BoxPartitioner(), and prepare().
|
private |
Referenced by BoxPartitioner(), and prepare().
|
private |
Referenced by BoxPartitioner(), and prepare().
|
private |
Referenced by BoxPartitioner(), prepare(), process(), and ~BoxPartitioner().
|
private |
Referenced by BoxPartitioner(), prepare(), process(), and ~BoxPartitioner().
|
private |
Referenced by BoxPartitioner(), prepare(), process(), and ~BoxPartitioner().
Referenced by BoxPartitioner(), and process().