occ
Loading...
Searching...
No Matches
occ::qm::ConvergenceAccelerator Class Reference

Encapsulates SCF convergence acceleration strategies (CDIIS, EDIIS, ADIIS). More...

#include <convergence_accelerator.h>

Public Member Functions

 ConvergenceAccelerator (DiisStrategy strategy=DiisStrategy::ADIIS_CDIIS, double switch_threshold=0.1)
Mat update (SpinorbitalKind kind, const Mat &S, const Mat &D, const Mat &F, double energy)
 Update with current SCF state, returns extrapolated Fock matrix.
double error () const
 Current commutator error estimate (from CDIIS).
double max_error () const
 Maximum error from CDIIS.
void reset ()
 Reset all internal DIIS histories.
void set_strategy (DiisStrategy strategy)
 Change strategy.
void set_switch_threshold (double threshold)
 Change switch threshold.

Detailed Description

Encapsulates SCF convergence acceleration strategies (CDIIS, EDIIS, ADIIS).

Constructor & Destructor Documentation

◆ ConvergenceAccelerator()

occ::qm::ConvergenceAccelerator::ConvergenceAccelerator ( DiisStrategy strategy = DiisStrategy::ADIIS_CDIIS,
double switch_threshold = 0.1 )

Member Function Documentation

◆ error()

double occ::qm::ConvergenceAccelerator::error ( ) const
inline

Current commutator error estimate (from CDIIS).

◆ max_error()

double occ::qm::ConvergenceAccelerator::max_error ( ) const
inline

Maximum error from CDIIS.

◆ reset()

void occ::qm::ConvergenceAccelerator::reset ( )

Reset all internal DIIS histories.

◆ set_strategy()

void occ::qm::ConvergenceAccelerator::set_strategy ( DiisStrategy strategy)
inline

Change strategy.

◆ set_switch_threshold()

void occ::qm::ConvergenceAccelerator::set_switch_threshold ( double threshold)
inline

Change switch threshold.

◆ update()

Mat occ::qm::ConvergenceAccelerator::update ( SpinorbitalKind kind,
const Mat & S,
const Mat & D,
const Mat & F,
double energy )

Update with current SCF state, returns extrapolated Fock matrix.


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