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: