#include <QCLinearPartitioner.hpp>
Inheritance diagram for QCLinearPartitioner< TPSystem >:
Definition at line 40 of file QCLinearPartitioner.hpp.
Public Member Functions | |
const std::vector< QCAtomIn > & | getAtomsInZone (int i) const |
QCPartSubDomain & | getDomain (int i) |
virtual void | initData (const QCGeneralData &data, const QCFiles &files, const int *load, const int sizeLoad) |
virtual void | partitioning (TPSystem &mdsystem) |
QCLinearPartitioner (void) | |
virtual | ~QCLinearPartitioner (void) |
Protected Member Functions | |
void | computeInnerReference (const QCSystem &system) |
bool | equilibrateAOs (QCFloat buffer1, QCFloat buffer2) |
void | extractDomains (TPSystem &system) |
void | projectOnInnerReference (QCSystem &system) |
void | resetData (void) |
void | setAtomsInBuffers (const QCSystem &system) |
void | setAtomsInKernel (const QCSystem &system) |
void | setAtomZones (int nbAtoms) |
void | setLoad (const QCSystem &system) |
void | setNeighbors (void) |
void | setToZero (void) |
void | setXMinXMax (const QCSystem &root) |
void | sortEigenVects (QCFloat *eigenVals, QCFloat **eigenVects, int dim) |
void | sortFirstAxis (QCSystem &system) |
Protected Attributes | |
std::vector< QCAtomIn > * | atomsInZone |
QCPartSubDomain * | domains |
QCPoint3D | gravityCenter |
QCFloat | inertiaMatrix [DIM][DIM] |
int | partitionGrid [DIM] |
QCPoint3D | xAxis |
QCPoint3D | yAxis |
QCPoint3D | zAxis |
Static Protected Attributes | |
static const int | DIM = QCAtoms::DIMENSION |
|
Definition at line 41 of file QCLinearPartitioner.cpp. References QCLinearPartitioner< TPSystem >::DIM, QCLinearPartitioner< TPSystem >::inertiaMatrix, QCLinearPartitioner< TPSystem >::partitionGrid, and QC_ZERO. |
|
Definition at line 61 of file QCLinearPartitioner.cpp. References QCLinearPartitioner< TPSystem >::atomsInZone, and QCLinearPartitioner< TPSystem >::domains. |
|
Calcul des valeurs/vecteurs propres Preparation des structures fortran Retour aux structures C/C++ trie des valeurs/vecteurs propres Les axes Liberation memoire Rapport Definition at line 468 of file QCLinearPartitioner.cpp. References QCAtoms::buildGravityCenter(), COORDX, COORDY, COORDZ, QCLinearPartitioner< TPSystem >::DIM, QCAtoms::getCoordsAt(), QCAtoms::getNbAtoms(), QCLinearPartitioner< TPSystem >::gravityCenter, QCLinearPartitioner< TPSystem >::inertiaMatrix, QC_TRACE_PART, QCLapack, QCLinearPartitioner< TPSystem >::sortEigenVects(), QCPoint< dim >::vect(), QCLinearPartitioner< TPSystem >::xAxis, QCLinearPartitioner< TPSystem >::yAxis, and QCLinearPartitioner< TPSystem >::zAxis. Referenced by QCLinearPartitioner< TPSystem >::partitioning(). Here is the call graph for this function: ![]() |
|
Calcul des nouveaux wideSD[i] : Nouveaux wideSD[i] temporaires : Convergence si on a une erreur de 5% sur la charge Move xmin and xmax Definition at line 809 of file QCLinearPartitioner.cpp. References COORDX, COORDY, COORDZ, QCLinearPartitioner< TPSystem >::domains, FQCAbs(), FQCMax(), QCPartSubDomain::getLoad(), QCPartSubDomain::getNbNeighbors(), QCPartSubDomain::getXLength(), QCPartSubDomain::getXMax(), QCPartSubDomain::getXMin(), QCPartitioner< TPSystem >::nbPartitions, QCLinearPartitioner< TPSystem >::partitionGrid, QC_TRACE_PART, QCPartSubDomain::setXMax(), and QCPartSubDomain::setXMin(). Referenced by QCLinearPartitioner< TPSystem >::partitioning(). Here is the call graph for this function: ![]() |
|
Build subdomain of QC++ with sub domain of the partitionner Definition at line 376 of file QCLinearPartitioner.cpp. References QCLinearPartitioner< TPSystem >::getAtomsInZone(), QCLinearPartitioner< TPSystem >::getDomain(), QCPartitioner< TPSystem >::nbPartitions, and QC_TRACE_PART. Referenced by QCLinearPartitioner< TPSystem >::partitioning(). Here is the call graph for this function: ![]() |
|
Definition at line 93 of file QCLinearPartitioner.hpp. References QCLinearPartitioner< TPSystem >::atomsInZone. Referenced by QCLinearPartitioner< TPSystem >::extractDomains(). |
|
Definition at line 66 of file QCLinearPartitioner.hpp. References QCLinearPartitioner< TPSystem >::domains. Referenced by QCLinearPartitioner< TPSystem >::extractDomains(). |
|
Initialize the internal data data : data read fron the configuration files files : Object that contains all files needed by QC++ Definition at line 77 of file QCLinearPartitioner.cpp. References COORDX, COORDY, COORDZ, QCLinearPartitioner< TPSystem >::domains, QCPartitioner< TPSystem >::initData(), QCPartitioner< TPSystem >::nbPartitions, QCLinearPartitioner< TPSystem >::partitionGrid, and QC_TRACE_INIT. Here is the call graph for this function: ![]() |
|
|
Definition at line 597 of file QCLinearPartitioner.cpp. References COORDX, COORDY, COORDZ, QCLinearPartitioner< TPSystem >::DIM, QCPoint< dim >::dot(), QCAtoms::getNbAtoms(), QCAtoms::getPointAt(), QCLinearPartitioner< TPSystem >::gravityCenter, QC_TRACE_PART, QCAtoms::setPointAt(), QCLinearPartitioner< TPSystem >::xAxis, QCLinearPartitioner< TPSystem >::yAxis, and QCLinearPartitioner< TPSystem >::zAxis. Referenced by QCLinearPartitioner< TPSystem >::partitioning(). Here is the call graph for this function: ![]() |
|
reset internal data of all the subdomains Definition at line 451 of file QCLinearPartitioner.cpp. References QCLinearPartitioner< TPSystem >::domains, QCPartitioner< TPSystem >::nbPartitions, and QCPartSubDomain::resetData(). Referenced by QCLinearPartitioner< TPSystem >::partitioning(). Here is the call graph for this function: ![]() |
|
Definition at line 785 of file QCLinearPartitioner.cpp. References QCPartSubDomain::addAtomsInBuffers(), QCLinearPartitioner< TPSystem >::domains, QCAtoms::getAtoms(), QCPartSubDomain::getNeighborIdx(), QCPartitioner< TPSystem >::nbPartitions, QC_TRACE_PART, QCPartitioner< TPSystem >::radius1, QCPartitioner< TPSystem >::radius2, and QCPartitioner< TPSystem >::useFrag. Referenced by QCLinearPartitioner< TPSystem >::partitioning(). Here is the call graph for this function: ![]() |
|
Definition at line 751 of file QCLinearPartitioner.cpp. References QCPartSubDomain::addAtomsInKernel(), QCLinearPartitioner< TPSystem >::domains, QCAtoms::getAtoms(), QCAtoms::getNbAtoms(), QCPartSubDomain::getNbAtomsKernel(), QCPartitioner< TPSystem >::nbPartitions, QC_TRACE_PART, and QCPartitioner< TPSystem >::useFrag. Referenced by QCLinearPartitioner< TPSystem >::partitioning(). Here is the call graph for this function: ![]() |
|
Definition at line 183 of file QCLinearPartitioner.cpp. References QCLinearPartitioner< TPSystem >::atomsInZone, QCLinearPartitioner< TPSystem >::domains, QCPartSubDomain::getAtomsInKernel(), QCPartSubDomain::getAtomsInShell1(), QCPartSubDomain::getAtomsInShell2(), QCPartSubDomain::getNbOverlp(), QCPartSubDomain::getSharedAtomsVect(), QCAtomIn::localNum, QCPartitioner< TPSystem >::nbPartitions, QCAtomIn::numDomain, QC_CORE, QC_SHELL1, QC_SHELL2, QC_TRACE_PART, and QCAtomIn::typeZone. Referenced by QCLinearPartitioner< TPSystem >::partitioning(). Here is the call graph for this function: ![]() |
|
Definition at line 294 of file QCLinearPartitioner.cpp. References QCPartitioner< TPSystem >::charge, QCLinearPartitioner< TPSystem >::domains, QCPartSubDomain::getAtomsInKernel(), QCPartSubDomain::getAtomsInShell1(), QCPartSubDomain::getAtomsInShell2(), QCAtoms::getNbAtoms(), QCAtoms::getType(), QCPartitioner< TPSystem >::nbPartitions, QC_TRACE_PART, QCPartSubDomain::setLoadInKernel(), QCPartSubDomain::setLoadInShell1(), QCPartSubDomain::setLoadInShell2(), and table. Referenced by QCLinearPartitioner< TPSystem >::partitioning(). Here is the call graph for this function: ![]() |
|
Definition at line 629 of file QCLinearPartitioner.cpp. References QCPartSubDomain::addNeighbor(), QCLinearPartitioner< TPSystem >::domains, QCPartSubDomain::initNbOverlapDomain(), QCPartitioner< TPSystem >::nbPartitions, QC_TRACE_PART, and QCPartSubDomain::setIds(). Referenced by QCLinearPartitioner< TPSystem >::partitioning(). Here is the call graph for this function: ![]() |
|
|
Definition at line 669 of file QCLinearPartitioner.cpp. References COORDX, COORDY, COORDZ, QCLinearPartitioner< TPSystem >::DIM, QCLinearPartitioner< TPSystem >::domains, QCAtoms::findMinMax(), QCLinearPartitioner< TPSystem >::partitionGrid, QC_TRACE_PART, QCPartSubDomain::setXMax(), and QCPartSubDomain::setXMin(). Referenced by QCLinearPartitioner< TPSystem >::partitioning(). Here is the call graph for this function: ![]() |
|
Definition at line 971 of file QCLinearPartitioner.cpp. References FQCAbs(), QC_TRACE, and QC_TRACE_PART. Referenced by QCLinearPartitioner< TPSystem >::computeInnerReference(). Here is the call graph for this function: ![]() |
|
Sort atoms by the fisrt coordonate in the internal reper Definition at line 937 of file QCLinearPartitioner.cpp. References QCPartitioner< TPSystem >::_ordering, QCPartitioner< TPSystem >::charge, COORDX, QCAtoms::getCoordsAt(), QCAtoms::getNbAtoms(), QC_TRACE_PART, and QCAtoms::swap(). Referenced by QCLinearPartitioner< TPSystem >::partitioning(). Here is the call graph for this function: ![]() |
|
Definition at line 202 of file QCLinearPartitioner.hpp. Referenced by QCLinearPartitioner< TPSystem >::getAtomsInZone(), QCLinearPartitioner< TPSystem >::setAtomZones(), and QCLinearPartitioner< TPSystem >::~QCLinearPartitioner(). |
|
|
|
Definition at line 194 of file QCLinearPartitioner.hpp. Referenced by QCLinearPartitioner< TPSystem >::computeInnerReference(), QCLinearPartitioner< TPSystem >::projectOnInnerReference(), and QCLinearPartitioner< TPSystem >::setToZero(). |
|
Definition at line 199 of file QCLinearPartitioner.hpp. Referenced by QCLinearPartitioner< TPSystem >::computeInnerReference(), QCLinearPartitioner< TPSystem >::QCLinearPartitioner(), and QCLinearPartitioner< TPSystem >::setToZero(). |
|
|
Definition at line 196 of file QCLinearPartitioner.hpp. Referenced by QCLinearPartitioner< TPSystem >::computeInnerReference(), QCLinearPartitioner< TPSystem >::projectOnInnerReference(), and QCLinearPartitioner< TPSystem >::setToZero(). |
|
Definition at line 197 of file QCLinearPartitioner.hpp. Referenced by QCLinearPartitioner< TPSystem >::computeInnerReference(), QCLinearPartitioner< TPSystem >::projectOnInnerReference(), and QCLinearPartitioner< TPSystem >::setToZero(). |
|
Definition at line 198 of file QCLinearPartitioner.hpp. Referenced by QCLinearPartitioner< TPSystem >::computeInnerReference(), QCLinearPartitioner< TPSystem >::projectOnInnerReference(), and QCLinearPartitioner< TPSystem >::setToZero(). |