votca 2024-dev
Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | List of all members
votca::xtp::Anderson Class Reference

Anderson mixing as convergence acceleration in SCF/fixed point problems. More...

#include <anderson_mixing.h>

Collaboration diagram for votca::xtp::Anderson:
Collaboration graph
[legend]

Public Member Functions

const Eigen::VectorXd MixHistory ()
 
void UpdateOutput (const Eigen::VectorXd &newOutput)
 
void UpdateInput (const Eigen::VectorXd &newInput)
 
void Configure (const Index order, const double alpha)
 

Private Attributes

std::vector< Eigen::VectorXd > input_
 
std::vector< Eigen::VectorXd > output_
 
double alpha_ = 0.7
 
Index order_ = 25
 

Detailed Description

Anderson mixing as convergence acceleration in SCF/fixed point problems.

Keeps a history of input and output solution vectors during a self-consistent fixed-point procedure and determines a new solution from an optimized mixing. Requires specification of the order of the method (maximum history to take) and a mixing parameter.

B. Baumeier, Diploma Thesis, Appendix C (2005)

I. Ramiere and T. Helfer, Iterative Residual-Based Vector Methods to Accelerate Fixed Point Iterations, Comput. Math. Appl. 70, 2210 (2015)

Definition at line 46 of file anderson_mixing.h.

Member Function Documentation

◆ Configure()

void votca::xtp::Anderson::Configure ( const Index  order,
const double  alpha 
)

Definition at line 29 of file anderson_mixing.cc.

◆ MixHistory()

const Eigen::VectorXd votca::xtp::Anderson::MixHistory ( )

Definition at line 52 of file anderson_mixing.cc.

◆ UpdateInput()

void votca::xtp::Anderson::UpdateInput ( const Eigen::VectorXd &  newInput)

Definition at line 44 of file anderson_mixing.cc.

◆ UpdateOutput()

void votca::xtp::Anderson::UpdateOutput ( const Eigen::VectorXd &  newOutput)

Definition at line 34 of file anderson_mixing.cc.

Member Data Documentation

◆ alpha_

double votca::xtp::Anderson::alpha_ = 0.7
private

Definition at line 58 of file anderson_mixing.h.

◆ input_

std::vector<Eigen::VectorXd> votca::xtp::Anderson::input_
private

Definition at line 55 of file anderson_mixing.h.

◆ order_

Index votca::xtp::Anderson::order_ = 25
private

Definition at line 59 of file anderson_mixing.h.

◆ output_

std::vector<Eigen::VectorXd> votca::xtp::Anderson::output_
private

Definition at line 56 of file anderson_mixing.h.


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