#include <QCPartitioner.hpp>
Inheritance diagram for QCPartitioner< TPSystem >:
class QCPartitioner
Definition at line 38 of file QCPartitioner.hpp.
Public Types | |
typedef TPSystem | TSystem |
Public Member Functions | |
int | getNbPartitions (void) const |
int | getNbParts (void) const |
QCPartitionType | getPartitionType () const |
virtual void | init (const QCGeneralData &data, const QCFiles &files, const int *load=NULL, const int sizeLoad=0) |
Initialize. | |
void | initData (const QCGeneralData &data, const QCFiles &files) |
bool | isToReadFromFile (void) const |
virtual void | partitioning (TPSystem &mdSystem) |
Virtual function which build a partition of the molecule. Virtual function which build a partition of the molecule and must be implemented in your derived class. | |
QCPartitioner (void) | |
void | readFromFile (TPSystem &system, QCGeneralData &data, const QCFiles &files, const string &path) |
Read an existing partition of a molecule from a file. Read an existing partition of a molecule from a file. The name of the partition file is build as follow : path/name.qci The format of the partition is the old format where for each atoms we specify the number of the partition where is located and its local number. | |
void | setLoad (const int *charge, const int nb) |
void | setNumberOfPartitions (const int N) |
void | setRadiusOfBuffer1 (const QCFloat R) |
void | setRadiusOfBuffer2 (const QCFloat R) |
void | writeHeader (std::ofstream &out) |
void | writeInFile (const TPSystem &system, const std::string &fileNameIn, const string &path) |
Save the current partition of the molecule in two files. Save the current partition of the molecule in two files. We save the old and the new format of the partition. The names of the file are
| |
void | writeInFile (const TPSystem &system, const QCFiles &files, const string &path) |
Save the current partition of the molecule in two files. Save the current partition of the molecule in two files. We save the old and the new format of the partition. The names of the file are
| |
virtual void | writeInFileV1 (std::ofstream &out, const TPSystem &system) |
virtual void | writeInFileV2 (std::ofstream &out, const TPSystem &system) |
virtual void | writeInFileVTK (std::ofstream &out, const TPSystem &system) |
virtual void | writeSubDomainVTK (std::ofstream &out, const QCSubDomain &domain) |
virtual | ~QCPartitioner (void) |
Protected Member Functions | |
void | updateInternalStructure (TPSystem &system) |
Protected Attributes | |
int * | _ordering |
int * | charge |
const QCFiles * | files |
bool | isReady |
int | nbPartitions |
QCPartitionType | partType |
std::string | partTypeStr |
QCFloat | radius1 |
QCFloat | radius2 |
bool | readPartFile |
bool | useFrag |
Private Member Functions | |
void | writeInFileNew (std::ofstream &out, const TPSystem &system) |
void | writeInFileOLD (std::ofstream &out, const TPSystem &system) |
|
Public methods: Definition at line 44 of file QCPartitioner.hpp. |
|
Default constructeur. Definition at line 42 of file QCPartitioner.cpp. |
|
Definition at line 51 of file QCPartitioner.cpp. References QCPartitioner< TPSystem >::charge, QCPartitioner< TPSystem >::isReady, and QC_TRACE_END. |
|
Return the number of subdomains of the molecule. Definition at line 61 of file QCPartitioner.hpp. References QCPartitioner< TPSystem >::nbPartitions. Referenced by QCMDSystem< TPSolver >::init(). |
|
Return the number of subdomains of the molecule. Definition at line 56 of file QCPartitioner.hpp. References QCPartitioner< TPSystem >::nbPartitions. |
|
Set the size of the radius of the buffer1. Definition at line 71 of file QCPartitioner.hpp. References QCPartitioner< TPSystem >::partType. Referenced by QCMDSystem< TPSolver >::init(). |
|
Initialize.
Reimplemented in QCKimikaPartitioner< TPSystem >. Definition at line 82 of file QCPartitioner.cpp. References QCPartitioner< TPSystem >::files, QCGeneralData::getBuffDiameter(), QCGeneralData::getCutRadius(), QCGeneralData::getNbPartitions(), QCGeneralData::getPartitionType(), QCGeneralData::getPartitionTypeStr(), QCGeneralData::isReadPartitionFromFile(), QCPartitioner< TPSystem >::isReady, QCPartitioner< TPSystem >::nbPartitions, QCPartitioner< TPSystem >::partType, QCPartitioner< TPSystem >::partTypeStr, QC_TRACE_INIT, QCPartitioner< TPSystem >::radius1, QCPartitioner< TPSystem >::radius2, QCPartitioner< TPSystem >::readPartFile, and QCPartitioner< TPSystem >::setLoad(). Referenced by QCMDSystem< TPSolver >::buildPartitioner(). Here is the call graph for this function: ![]() |
|
Initialize data in the class from the structures data and files Definition at line 63 of file QCPartitioner.cpp. References QCPartitioner< TPSystem >::files, QCGeneralData::getBuffDiameter(), QCGeneralData::getCutRadius(), QCGeneralData::getNbPartitions(), QCGeneralData::getPartitionType(), QCGeneralData::getPartitionTypeStr(), QCGeneralData::isReadPartitionFromFile(), QCPartitioner< TPSystem >::isReady, QCPartitioner< TPSystem >::nbPartitions, QCPartitioner< TPSystem >::partType, QCPartitioner< TPSystem >::partTypeStr, QC_TRACE_INIT, QCPartitioner< TPSystem >::radius1, QCPartitioner< TPSystem >::radius2, and QCPartitioner< TPSystem >::readPartFile. Referenced by QCMDSystem< TPSolver >::init(), QCLinearPartitioner< TPSystem >::initData(), and QCPartitioner< TPSystem >::readFromFile(). Here is the call graph for this function: ![]() |
|
Return true if we read the partition from a given file. If false, the partition is build by the program. Definition at line 87 of file QCPartitioner.hpp. References QCPartitioner< TPSystem >::readPartFile. |
|
Virtual function which build a partition of the molecule. Virtual function which build a partition of the molecule and must be implemented in your derived class.
Reimplemented in QCKimikaPartitioner< TPSystem >, and QCLinearPartitioner< TPSystem >. Definition at line 128 of file QCPartitioner.cpp. Referenced by QCMDSystem< TPSolver >::init(). |
|
Read an existing partition of a molecule from a file. Read an existing partition of a molecule from a file. The name of the partition file is build as follow : path/name.qci The format of the partition is the old format where for each atoms we specify the number of the partition where is located and its local number.
Definition at line 138 of file QCPartitioner.cpp. References QCFiles::getPartitionFile(), QCPartitioner< TPSystem >::initData(), QCPartitioner< TPSystem >::nbPartitions, QC_TRACE_INIT, and QCReader::readPartitionFile(). Referenced by QCMDSystem< TPSolver >::init(), and main(). Here is the call graph for this function: ![]() |
|
Definition at line 107 of file QCPartitioner.cpp. References QCPartitioner< TPSystem >::charge, and QC_TRACE_INIT. Referenced by QCMDSystem< TPSolver >::buildPartitioner(), and QCPartitioner< TPSystem >::init(). |
|
Set the number of subdomains of the molecule. Definition at line 66 of file QCPartitioner.hpp. References QCPartitioner< TPSystem >::nbPartitions. |
|
Set the size of the radius of the buffer1. Definition at line 76 of file QCPartitioner.hpp. References QCPartitioner< TPSystem >::radius1. |
|
Set the size of the radius of the buffer2. Definition at line 81 of file QCPartitioner.hpp. References QCPartitioner< TPSystem >::radius2. |
|
This function update the head of the internal structure overlapMap in all subdomains Definition at line 166 of file QCPartitioner.cpp. References QC_TRACE_INIT. Referenced by QCLinearPartitioner< TPSystem >::partitioning(), and QCKimikaPartitioner< TPSystem >::partitioning(). |
|
Definition at line 210 of file QCPartitioner.cpp. References QCPartitioner< TPSystem >::nbPartitions, QCPartitioner< TPSystem >::partTypeStr, QC_TRACE_OUT, QCPartitioner< TPSystem >::radius1, and QCPartitioner< TPSystem >::radius2. Referenced by QCPartitioner< TPSystem >::writeInFileNew(), and QCMDSystem< TPSolver >::writeOrbitalPartition(). |
|
Save the current partition of the molecule in two files. Save the current partition of the molecule in two files. We save the old and the new format of the partition. The names of the file are
Definition at line 182 of file QCPartitioner.cpp. References QC_TRACE_OUT, QCPartitioner< TPSystem >::writeInFileNew(), QCPartitioner< TPSystem >::writeInFileOLD(), and QCPartitioner< TPSystem >::writeInFileVTK(). Here is the call graph for this function: ![]() |
|
Save the current partition of the molecule in two files. Save the current partition of the molecule in two files. We save the old and the new format of the partition. The names of the file are
Definition at line 203 of file QCPartitioner.hpp. References QCFiles::getResultFile(), and QC_TRACE_OUT. Here is the call graph for this function: ![]() |
|
Definition at line 223 of file QCPartitioner.cpp. References QCPartitioner< TPSystem >::nbPartitions, QC_TRACE_OUT, and QCPartitioner< TPSystem >::writeHeader(). Referenced by QCPartitioner< TPSystem >::writeInFile(), and QCPartitioner< TPSystem >::writeInFileV2(). Here is the call graph for this function: ![]() |
|
Definition at line 240 of file QCPartitioner.cpp. References QCPartitioner< TPSystem >::nbPartitions, QCPartitioner< TPSystem >::partTypeStr, QC_TRACE_OUT, QCPartitioner< TPSystem >::radius1, and QCPartitioner< TPSystem >::radius2. Referenced by QCPartitioner< TPSystem >::writeInFile(), and QCPartitioner< TPSystem >::writeInFileV1(). |
|
Definition at line 132 of file QCPartitioner.hpp. References QCPartitioner< TPSystem >::writeInFileOLD(). Referenced by main(). Here is the call graph for this function: ![]() |
|
Definition at line 130 of file QCPartitioner.hpp. References QCPartitioner< TPSystem >::writeInFileNew(). Referenced by main(). Here is the call graph for this function: ![]() |
|
Definition at line 310 of file QCPartitioner.cpp. References QCSubDomain::getGlobalIdxs(), QCAtoms::getNbAtoms(), QCAtoms::getPointAt(), QCPartitioner< TPSystem >::nbPartitions, QC_CORE, QC_DIXON_PART, QC_SHELL1, and QC_TRACE_OUT. Referenced by main(), and QCPartitioner< TPSystem >::writeInFile(). Here is the call graph for this function: ![]() |
|
Definition at line 372 of file QCPartitioner.cpp. References QCAtoms::getNbAtoms(), QCAtoms::getPointAt(), QCSubDomain::getZone(), QC_CORE, QC_DIXON_PART, QC_SHELL1, and QC_TRACE_OUT. Referenced by main(). Here is the call graph for this function: ![]() |
|
New numerotation of the molecule _ordering[i] = original numeroration of atom number i. Definition at line 192 of file QCPartitioner.hpp. Referenced by QCLinearPartitioner< TPSystem >::partitioning(), and QCLinearPartitioner< TPSystem >::sortFirstAxis(). |
|
Array of loads of partition Definition at line 187 of file QCPartitioner.hpp. Referenced by QCKimikaPartitioner< TPSystem >::extractDomains(), QCKimikaPartitioner< TPSystem >::partitioning(), QCPartitioner< TPSystem >::setLoad(), QCLinearPartitioner< TPSystem >::setLoad(), QCLinearPartitioner< TPSystem >::sortFirstAxis(), and QCPartitioner< TPSystem >::~QCPartitioner(). |
|
A pointer to access of the names of the different files used by QCPP Definition at line 196 of file QCPartitioner.hpp. Referenced by QCKimikaPartitioner< TPSystem >::extractDomains(), QCPartitioner< TPSystem >::init(), QCPartitioner< TPSystem >::initData(), and QCKimikaPartitioner< TPSystem >::writeInventorFiles(). |
|
If isReady is true the class is well initialised Definition at line 157 of file QCPartitioner.hpp. Referenced by QCPartitioner< TPSystem >::init(), QCPartitioner< TPSystem >::initData(), and QCPartitioner< TPSystem >::~QCPartitioner(). |
|
|
Type of the partition (Dixon or standart) Definition at line 174 of file QCPartitioner.hpp. Referenced by QCPartitioner< TPSystem >::getPartitionType(), QCPartitioner< TPSystem >::init(), and QCPartitioner< TPSystem >::initData(). |
|
|
|
|
readPartFile is true if the partition of the molecule is read from a file Definition at line 161 of file QCPartitioner.hpp. Referenced by QCPartitioner< TPSystem >::init(), QCPartitioner< TPSystem >::initData(), and QCPartitioner< TPSystem >::isToReadFromFile(). |
|
If useFrag is true, the partitionner is based on fragment (and not on atoms) to construct the subdomains Definition at line 166 of file QCPartitioner.hpp. Referenced by QCLinearPartitioner< TPSystem >::setAtomsInBuffers(), and QCLinearPartitioner< TPSystem >::setAtomsInKernel(). |