votca 2026-dev
Loading...
Searching...
No Matches
votca::xtp::UKSConvergenceAcc Class Reference

#include <uks_convergenceacc.h>

Collaboration diagram for votca::xtp::UKSConvergenceAcc:

Classes

struct  SpinDensity
struct  SpinFock

Public Types

using options = ConvergenceAcc::options
using KSmode = ConvergenceAcc::KSmode

Public Member Functions

void Configure (const options &opt_alpha, const options &opt_beta)
void setLogger (Logger *log)
void setOverlap (AOOverlap &S, double etol)
SpinDensity DensityMatrix (const tools::EigenSystem &MOs_alpha, const tools::EigenSystem &MOs_beta) const
SpinDensity Iterate (const SpinDensity &dmat, SpinFock &H, tools::EigenSystem &MOs_alpha, tools::EigenSystem &MOs_beta, double totE)
tools::EigenSystem SolveFockmatrix (const Eigen::MatrixXd &H) const
bool isConverged () const
double getDIIsError () const
double getDeltaE () const
bool getUseMixing () const

Private Member Functions

Eigen::MatrixXd DensityMatrixGroundState_unres (const Eigen::MatrixXd &MOs, Index nocclevels) const
void Levelshift (Eigen::MatrixXd &H, const Eigen::MatrixXd &MOs_old, const options &opt, Index nocclevels) const
Eigen::MatrixXd BuildErrorMatrix (const Eigen::MatrixXd &dmat, const Eigen::MatrixXd &H) const
double CombinedError (const Eigen::MatrixXd &err_alpha, const Eigen::MatrixXd &err_beta) const

Private Attributes

options opt_alpha_
options opt_beta_
AOOverlapS_ = nullptr
Loggerlog_ = nullptr
Eigen::MatrixXd Sminusahalf
Index nocclevels_alpha_ = 0
Index nocclevels_beta_ = 0
std::vector< Eigen::MatrixXd > mathist_alpha_
std::vector< Eigen::MatrixXd > mathist_beta_
std::vector< Eigen::MatrixXd > dmatHist_alpha_
std::vector< Eigen::MatrixXd > dmatHist_beta_
std::vector< double > totE_
DIIS diis_
ADIIS adiis_
double diiserror_ = 1.0
double maxerror_ = -1.0
Index maxerrorindex_ = 0
bool usedmixing_ = true

Detailed Description

Definition at line 37 of file uks_convergenceacc.h.

Member Typedef Documentation

◆ KSmode

◆ options

Member Function Documentation

◆ BuildErrorMatrix()

Eigen::MatrixXd votca::xtp::UKSConvergenceAcc::BuildErrorMatrix ( const Eigen::MatrixXd & dmat,
const Eigen::MatrixXd & H ) const
private

Definition at line 108 of file uks_convergenceacc.cc.

◆ CombinedError()

double votca::xtp::UKSConvergenceAcc::CombinedError ( const Eigen::MatrixXd & err_alpha,
const Eigen::MatrixXd & err_beta ) const
private

Definition at line 114 of file uks_convergenceacc.cc.

◆ Configure()

void votca::xtp::UKSConvergenceAcc::Configure ( const options & opt_alpha,
const options & opt_beta )

Definition at line 26 of file uks_convergenceacc.cc.

◆ DensityMatrix()

UKSConvergenceAcc::SpinDensity votca::xtp::UKSConvergenceAcc::DensityMatrix ( const tools::EigenSystem & MOs_alpha,
const tools::EigenSystem & MOs_beta ) const

Definition at line 77 of file uks_convergenceacc.cc.

◆ DensityMatrixGroundState_unres()

Eigen::MatrixXd votca::xtp::UKSConvergenceAcc::DensityMatrixGroundState_unres ( const Eigen::MatrixXd & MOs,
Index nocclevels ) const
private

Definition at line 68 of file uks_convergenceacc.cc.

◆ getDeltaE()

double votca::xtp::UKSConvergenceAcc::getDeltaE ( ) const

Definition at line 249 of file uks_convergenceacc.cc.

◆ getDIIsError()

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

Definition at line 68 of file uks_convergenceacc.h.

◆ getUseMixing()

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

Definition at line 70 of file uks_convergenceacc.h.

◆ isConverged()

bool votca::xtp::UKSConvergenceAcc::isConverged ( ) const

Definition at line 256 of file uks_convergenceacc.cc.

◆ Iterate()

UKSConvergenceAcc::SpinDensity votca::xtp::UKSConvergenceAcc::Iterate ( const SpinDensity & dmat,
SpinFock & H,
tools::EigenSystem & MOs_alpha,
tools::EigenSystem & MOs_beta,
double totE )

Definition at line 120 of file uks_convergenceacc.cc.

◆ Levelshift()

void votca::xtp::UKSConvergenceAcc::Levelshift ( Eigen::MatrixXd & H,
const Eigen::MatrixXd & MOs_old,
const options & opt,
Index nocclevels ) const
private

Definition at line 88 of file uks_convergenceacc.cc.

◆ setLogger()

void votca::xtp::UKSConvergenceAcc::setLogger ( Logger * log)

Definition at line 39 of file uks_convergenceacc.cc.

◆ setOverlap()

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

Definition at line 41 of file uks_convergenceacc.cc.

◆ SolveFockmatrix()

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

Definition at line 52 of file uks_convergenceacc.cc.

Member Data Documentation

◆ adiis_

ADIIS votca::xtp::UKSConvergenceAcc::adiis_
private

Definition at line 102 of file uks_convergenceacc.h.

◆ diis_

DIIS votca::xtp::UKSConvergenceAcc::diis_
private

Definition at line 101 of file uks_convergenceacc.h.

◆ diiserror_

double votca::xtp::UKSConvergenceAcc::diiserror_ = 1.0
private

Definition at line 104 of file uks_convergenceacc.h.

◆ dmatHist_alpha_

std::vector<Eigen::MatrixXd> votca::xtp::UKSConvergenceAcc::dmatHist_alpha_
private

Definition at line 97 of file uks_convergenceacc.h.

◆ dmatHist_beta_

std::vector<Eigen::MatrixXd> votca::xtp::UKSConvergenceAcc::dmatHist_beta_
private

Definition at line 98 of file uks_convergenceacc.h.

◆ log_

Logger* votca::xtp::UKSConvergenceAcc::log_ = nullptr
private

Definition at line 89 of file uks_convergenceacc.h.

◆ mathist_alpha_

std::vector<Eigen::MatrixXd> votca::xtp::UKSConvergenceAcc::mathist_alpha_
private

Definition at line 95 of file uks_convergenceacc.h.

◆ mathist_beta_

std::vector<Eigen::MatrixXd> votca::xtp::UKSConvergenceAcc::mathist_beta_
private

Definition at line 96 of file uks_convergenceacc.h.

◆ maxerror_

double votca::xtp::UKSConvergenceAcc::maxerror_ = -1.0
private

Definition at line 105 of file uks_convergenceacc.h.

◆ maxerrorindex_

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

Definition at line 106 of file uks_convergenceacc.h.

◆ nocclevels_alpha_

Index votca::xtp::UKSConvergenceAcc::nocclevels_alpha_ = 0
private

Definition at line 92 of file uks_convergenceacc.h.

◆ nocclevels_beta_

Index votca::xtp::UKSConvergenceAcc::nocclevels_beta_ = 0
private

Definition at line 93 of file uks_convergenceacc.h.

◆ opt_alpha_

options votca::xtp::UKSConvergenceAcc::opt_alpha_
private

Definition at line 85 of file uks_convergenceacc.h.

◆ opt_beta_

options votca::xtp::UKSConvergenceAcc::opt_beta_
private

Definition at line 86 of file uks_convergenceacc.h.

◆ S_

AOOverlap* votca::xtp::UKSConvergenceAcc::S_ = nullptr
private

Definition at line 88 of file uks_convergenceacc.h.

◆ Sminusahalf

Eigen::MatrixXd votca::xtp::UKSConvergenceAcc::Sminusahalf
private

Definition at line 90 of file uks_convergenceacc.h.

◆ totE_

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

Definition at line 99 of file uks_convergenceacc.h.

◆ usedmixing_

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

Definition at line 107 of file uks_convergenceacc.h.


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