Convergence rates of iterative algorithms for solving non-linear fixed-point (or root-finding) problems depend on the quality of the solution guess done in each iteration, which is used as the starting value in the next step. To avoid instabilities and oscillations, that guess is usually constructed (mixed) as a linear combination of the newly calculated value with values from the previous iterations. The mixing algorithm constitutes a crucial component for electronic structure calculation methods based on iterative seeking for a self-consistent state. This paper reviews several mixing algorithms for electronic structure calculations. The most important numerically confirmed finding is that the calculation speed depends more on the choice of the so-called “mixing coefficient” than on the choice of a particular algorithm. Then a new method allowing an automatic adaptation of this coefficient is proposed, implemented, and tested on various solid-state structures within three electronic structure calculation codes. In our testing cases, the newly designed Adaptive Anderson Algorithm exhibits better convergence for a broader range of initial mixing coefficients, and similar or better robustness, in comparison to the standard Anderson method. The Fortran implementation of the new algorithm and its Python wrapper are briefly described in the paper and made available for public use.
Read full abstract