RMM-DIIS: Difference between revisions
Vaspmaster (talk | contribs) No edit summary |
Vaspmaster (talk | contribs) No edit summary |
||
Line 32: | Line 32: | ||
</math> | </math> | ||
: and its corresponding residual vector <math>R(\psi^M_m)</math> are added to the iterative subspace, that is subsequently inverted to yield <math>\bar{\psi}^M</math>. | : and its corresponding residual vector <math>R(\psi^M_m)</math> are added to the iterative subspace, that is subsequently inverted to yield <math>\bar{\psi}^M</math>. | ||
: The algorithm keeps iterating until the norm of the residual <math>R | : The algorithm keeps iterating until the norm of the residual <math>\bar{R}^M</math> has dropped below a certain threshold, or the maximum number of iterations per orbital has been reached ({{TAG|NRMM}}). | ||
* Replace <math>\psi^0_m</math> by <math>\bar{\psi}^M</math> and move on to start work on the next orbital, ''e.g.'' <math>\psi^0_{m+1}</math>. | * Replace <math>\psi^0_m</math> by <math>\bar{\psi}^M</math> and move on to start work on the next orbital, ''e.g.'' <math>\psi^0_{m+1}</math>. | ||
Revision as of 10:28, 20 October 2023
The implementation of the Residual Minimization Method with Direct Inversion in the Iterative Subspace (RMM-DIIS) in VASP[1][2] is based on the original work of Pulay:[3]
- The procedure starts with the evaluation of the preconditioned residual vector for some selected orbital :
- where is the preconditioning function, and the residual is computed as:
- with
- Then a Jacobi-like trial step is taken in the direction of the vector:
- and a new residual vector is determined:
- Next a linear combination of the initial orbital and the trial orbital
- is sought, such that the norm of the residual vector is minimized. Assuming linearity in the residual vector:
- this requires the minimization of:
- with respect to .
- This step is usually called direct inversion of the iterative subspace (DIIS).
- The next trial step () starts from , along the direction . In each iteration is increased by 1, and a new trial orbital:
- and its corresponding residual vector are added to the iterative subspace, that is subsequently inverted to yield .
- The algorithm keeps iterating until the norm of the residual has dropped below a certain threshold, or the maximum number of iterations per orbital has been reached (NRMM).
- Replace by and move on to start work on the next orbital, e.g. .