#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(). |
1.4.4