votca 2024.2-dev
|
Anderson mixing as convergence acceleration in SCF/fixed point problems. More...
#include <anderson_mixing.h>
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 |
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.
void votca::xtp::Anderson::Configure | ( | const Index | order, |
const double | alpha ) |
Definition at line 29 of file anderson_mixing.cc.
const Eigen::VectorXd votca::xtp::Anderson::MixHistory | ( | ) |
Definition at line 52 of file anderson_mixing.cc.
void votca::xtp::Anderson::UpdateInput | ( | const Eigen::VectorXd & | newInput | ) |
Definition at line 44 of file anderson_mixing.cc.
void votca::xtp::Anderson::UpdateOutput | ( | const Eigen::VectorXd & | newOutput | ) |
Definition at line 34 of file anderson_mixing.cc.
|
private |
Definition at line 58 of file anderson_mixing.h.
|
private |
Definition at line 55 of file anderson_mixing.h.
|
private |
Definition at line 59 of file anderson_mixing.h.
|
private |
Definition at line 56 of file anderson_mixing.h.