votca 2024.2-dev
Loading...
Searching...
No Matches
votca::xtp::ConvergenceAcc Class Reference

#include <convergenceacc.h>

Collaboration diagram for votca::xtp::ConvergenceAcc:

Classes

struct  options
 

Public Types

enum  KSmode { closed , open , fractional }
 

Public Member Functions

void Configure (const ConvergenceAcc::options &opt)
 
void setLogger (Logger *log)
 
void PrintConfigOptions () const
 
bool isConverged () const
 
double getDeltaE () const
 
void setOverlap (AOOverlap &S, double etol)
 
double getDIIsError () const
 
bool getUseMixing () const
 
Eigen::MatrixXd Iterate (const Eigen::MatrixXd &dmat, Eigen::MatrixXd &H, tools::EigenSystem &MOs, double totE)
 
tools::EigenSystem SolveFockmatrix (const Eigen::MatrixXd &H) const
 
void Levelshift (Eigen::MatrixXd &H, const Eigen::MatrixXd &MOs_old) const
 
Eigen::MatrixXd DensityMatrix (const tools::EigenSystem &MOs) const
 

Private Member Functions

Eigen::MatrixXd DensityMatrixGroundState (const Eigen::MatrixXd &MOs) const
 
Eigen::MatrixXd DensityMatrixGroundState_unres (const Eigen::MatrixXd &MOs) const
 
Eigen::MatrixXd DensityMatrixGroundState_frac (const tools::EigenSystem &MOs) const
 

Private Attributes

options opt_
 
bool usedmixing_ = true
 
double diiserror_ = std::numeric_limits<double>::max()
 
Loggerlog_
 
const AOOverlapS_
 
Eigen::MatrixXd Sminusahalf
 
std::vector< Eigen::MatrixXd > mathist_
 
std::vector< Eigen::MatrixXd > dmatHist_
 
std::vector< double > totE_
 
Index nocclevels_
 
Index maxerrorindex_ = 0
 
double maxerror_ = 0.0
 
ADIIS adiis_
 
DIIS diis_
 

Detailed Description

Definition at line 36 of file convergenceacc.h.

Member Enumeration Documentation

◆ KSmode

Enumerator
closed 
open 
fractional 

Definition at line 38 of file convergenceacc.h.

Member Function Documentation

◆ Configure()

void votca::xtp::ConvergenceAcc::Configure ( const ConvergenceAcc::options & opt)
inline

Definition at line 56 of file convergenceacc.h.

◆ DensityMatrix()

Eigen::MatrixXd votca::xtp::ConvergenceAcc::DensityMatrix ( const tools::EigenSystem & MOs) const

Definition at line 200 of file convergenceacc.cc.

◆ DensityMatrixGroundState()

Eigen::MatrixXd votca::xtp::ConvergenceAcc::DensityMatrixGroundState ( const Eigen::MatrixXd & MOs) const
private

Definition at line 213 of file convergenceacc.cc.

◆ DensityMatrixGroundState_frac()

Eigen::MatrixXd votca::xtp::ConvergenceAcc::DensityMatrixGroundState_frac ( const tools::EigenSystem & MOs) const
private

Definition at line 230 of file convergenceacc.cc.

◆ DensityMatrixGroundState_unres()

Eigen::MatrixXd votca::xtp::ConvergenceAcc::DensityMatrixGroundState_unres ( const Eigen::MatrixXd & MOs) const
private

Definition at line 220 of file convergenceacc.cc.

◆ getDeltaE()

double votca::xtp::ConvergenceAcc::getDeltaE ( ) const
inline

Definition at line 80 of file convergenceacc.h.

◆ getDIIsError()

double votca::xtp::ConvergenceAcc::getDIIsError ( ) const
inline

Definition at line 89 of file convergenceacc.h.

◆ getUseMixing()

bool votca::xtp::ConvergenceAcc::getUseMixing ( ) const
inline

Definition at line 91 of file convergenceacc.h.

◆ isConverged()

bool votca::xtp::ConvergenceAcc::isConverged ( ) const
inline

Definition at line 71 of file convergenceacc.h.

◆ Iterate()

Eigen::MatrixXd votca::xtp::ConvergenceAcc::Iterate ( const Eigen::MatrixXd & dmat,
Eigen::MatrixXd & H,
tools::EigenSystem & MOs,
double totE )

Definition at line 38 of file convergenceacc.cc.

◆ Levelshift()

void votca::xtp::ConvergenceAcc::Levelshift ( Eigen::MatrixXd & H,
const Eigen::MatrixXd & MOs_old ) const

Definition at line 181 of file convergenceacc.cc.

◆ PrintConfigOptions()

void votca::xtp::ConvergenceAcc::PrintConfigOptions ( ) const

Definition at line 134 of file convergenceacc.cc.

◆ setLogger()

void votca::xtp::ConvergenceAcc::setLogger ( Logger * log)
inline

Definition at line 67 of file convergenceacc.h.

◆ setOverlap()

void votca::xtp::ConvergenceAcc::setOverlap ( AOOverlap & S,
double etol )

Definition at line 26 of file convergenceacc.cc.

◆ SolveFockmatrix()

tools::EigenSystem votca::xtp::ConvergenceAcc::SolveFockmatrix ( const Eigen::MatrixXd & H) const

Definition at line 163 of file convergenceacc.cc.

Member Data Documentation

◆ adiis_

ADIIS votca::xtp::ConvergenceAcc::adiis_
private

Definition at line 122 of file convergenceacc.h.

◆ diis_

DIIS votca::xtp::ConvergenceAcc::diis_
private

Definition at line 123 of file convergenceacc.h.

◆ diiserror_

double votca::xtp::ConvergenceAcc::diiserror_ = std::numeric_limits<double>::max()
private

Definition at line 110 of file convergenceacc.h.

◆ dmatHist_

std::vector<Eigen::MatrixXd> votca::xtp::ConvergenceAcc::dmatHist_
private

Definition at line 116 of file convergenceacc.h.

◆ log_

Logger* votca::xtp::ConvergenceAcc::log_
private

Definition at line 111 of file convergenceacc.h.

◆ mathist_

std::vector<Eigen::MatrixXd> votca::xtp::ConvergenceAcc::mathist_
private

Definition at line 115 of file convergenceacc.h.

◆ maxerror_

double votca::xtp::ConvergenceAcc::maxerror_ = 0.0
private

Definition at line 121 of file convergenceacc.h.

◆ maxerrorindex_

Index votca::xtp::ConvergenceAcc::maxerrorindex_ = 0
private

Definition at line 120 of file convergenceacc.h.

◆ nocclevels_

Index votca::xtp::ConvergenceAcc::nocclevels_
private

Definition at line 119 of file convergenceacc.h.

◆ opt_

options votca::xtp::ConvergenceAcc::opt_
private

Definition at line 101 of file convergenceacc.h.

◆ S_

const AOOverlap* votca::xtp::ConvergenceAcc::S_
private

Definition at line 112 of file convergenceacc.h.

◆ Sminusahalf

Eigen::MatrixXd votca::xtp::ConvergenceAcc::Sminusahalf
private

Definition at line 114 of file convergenceacc.h.

◆ totE_

std::vector<double> votca::xtp::ConvergenceAcc::totE_
private

Definition at line 117 of file convergenceacc.h.

◆ usedmixing_

bool votca::xtp::ConvergenceAcc::usedmixing_ = true
private

Definition at line 109 of file convergenceacc.h.


The documentation for this class was generated from the following files: