#include <QCDCAlgo.hpp>
Inheritance diagram for QCDCAlgo:
class : QCDCAlgo
The Divide and Conquer approach solve the problem by dividing the global system in sub-domains. Some parts of a classic seems like SCF algorithm are performed on the sub-domains. At different stage of an iteration of the SCF algorithm, local matrices of different sub-domains are merged and redistributed to take into account the environment extern to the local sub-domain. The merge procedure is carried out for the overlap zones of a sud-domains. Besides, it imports data from extern matrices in its cut zone.
Definition at line 41 of file QCDCAlgo.hpp.
Public Member Functions | |
template<class TPManager> | |
void | fixPoint (TPManager &manager) |
template<class TPManager> | |
void | optimalDamping (TPManager &manager) |
QCDCAlgo (void) | |
template<class TPManager> | |
void | solve (TPManager &manager) |
virtual | ~QCDCAlgo (void) |
|
Constructor Definition at line 54 of file QCDCAlgo.cpp. |
|
Destructor Definition at line 59 of file QCDCAlgo.cpp. |
|
Solve the non linear eigenvalues problem by a fixpoint algorithm (Roothan algorithm) Definition at line 83 of file QCDCAlgo.cpp. References QCSCFBaseAlgo::convReached, QCCommon::getPidStr(), QCChrono::getvalsec(), QCSCFBaseAlgo::levelShiftingParam, QCSCFBaseAlgo::mainAlgo, QCSCFBaseAlgo::nbIter, QCSCFBaseAlgo::nbMaxIter, QCCommon::outdir, OUTPUT_SUFFIX(), PATH_SEPARATOR(), QCChrono::pause(), QC_DC_LEVEL_SHIFTING, QC_TRACE, QC_TRACE_SCF, QC_ZERO, QCAbs, QCRestrict, QCChrono::start(), and QCSCFBaseAlgo::threshold. Referenced by optimalDamping(), and solve(). Here is the call graph for this function: ![]() |
|
Compute la Homo et Lumo du sous domaine courant Definition at line 502 of file QCDCAlgo.cpp. References QCSCFBaseAlgo::convReached, fixPoint(), QCCommon::getPidStr(), QCChrono::getvalsec(), QCSCFBaseAlgo::nbIter, QCSCFBaseAlgo::nbMaxIter, QCCommon::outdir, OUTPUT_SUFFIX(), PATH_SEPARATOR(), QCChrono::pause(), QC_ONE, QC_TRACE, QC_TRACE_SCF, QC_TWO, QC_ZERO, QCAbs, QCMANAGER_METH_EXPL_INST_DIST_MD, QCMANAGER_METH_EXPL_INST_MD, QCRestrict, qctrace, solve(), QCChrono::start(), QCSCFBaseAlgo::threshold, QCTrace::traceOff(), QCTrace::traceOn(), QCTrace::writeDensityMatrix(), QCTrace::writeEigenValuesAndEigenVectors(), QCTrace::writeFockMatrix(), QCTrace::writeHamiltonMatrix(), QCTrace::writeMsg(), QCTrace::writeReducedDensityMatrix(), and QCTrace::writeVal(). Referenced by solve(). Here is the call graph for this function: ![]() |
|
Solve the non linear eigenvalues problem Definition at line 65 of file QCDCAlgo.cpp. References fixPoint(), QCSCFBaseAlgo::mainAlgo, optimalDamping(), QC_DC_LEVEL_SHIFTING, QC_DC_OPTIMAL_DAMPING, and QC_DC_SCF. Referenced by optimalDamping(). Here is the call graph for this function: ![]() |