LDIAG: Difference between revisions
No edit summary |
No edit summary |
||
Line 3: | Line 3: | ||
Description: This tag determines whether a subspace diagonalization is performed or not within the main algorithm selected by {{TAG|IALGO}}. | Description: This tag determines whether a subspace diagonalization is performed or not within the main algorithm selected by {{TAG|IALGO}}. | ||
---- | ---- | ||
For ALGO=Normal, Fast, and VeryFast, VASP performs a diagonalization in the subspace spanned by all orbitals. This is often referred to as Rayleigh–Ritz method | For ALGO=Normal, Fast, and VeryFast, VASP performs a diagonalization in the subspace spanned by all orbitals. This is often referred to as Rayleigh–Ritz method (https://en.wikipedia.org/wiki/Rayleigh%E2%80%93Ritz_method). | ||
The step increases the convergence rate and thus is expedient in most cases. | |||
For the direct optimization algorithms (for instance ALGO = All or Damped), | For the direct optimization algorithms (for instance ALGO = All or Damped), a subspace diagonalization is usually not performed, but in order to improve | ||
the accuracy of the calculated forces, after convergence has been reached | the accuracy of the calculated forces, after convergence has been reached one single diagonalization in the subspace spanned by all orbitals is performed. | ||
Note that the subspace diagonalization sorts the orbital/eigenvalues in ascending order. | Note, that the subspace diagonalization sorts the orbital/eigenvalues in ascending order. | ||
For ALGO = VeryFast and Damped it is possible to switch off the subspace diagonalization by specifying LDIAG=.FALSE. in the INCAR file. | |||
Specifically, for ALGO = VeryFast, LDIAG= .FALSE. changes from an exact Rayleigh–Ritz diagonalization to Loewdin perturbation theory. | |||
Loewdin perturbation theory strictly conserves the orbital order, i.e. say the 5th orbital will remain stored in the 5th storage slot, only | |||
small rotations into that orbital can occur. | |||
For ALGO = Damped and All, the final sub space diagonalization is simply skipped. | |||
Generally using LDIAG = .FALSE. is only advised, if one wants to maintain a certain orbital order, for instance when reading the orbitals from an existing WAVECAR file. | |||
For that algorithms ALGO=Normal or Fast, by construction of the algorithm it is not possible to switch off subspace diagonalization, since these algorithms | |||
by construction require a subspace diagonalization. Furthermore, algorithms that minimize the total energy (ALGO = All) are often too "greedy" | |||
and might alternate the orbital order in the course of the energy optimization. | |||
Revision as of 07:10, 10 November 2021
LDIAG = [logical]
Default: LDIAG = .TRUE.
Description: This tag determines whether a subspace diagonalization is performed or not within the main algorithm selected by IALGO.
For ALGO=Normal, Fast, and VeryFast, VASP performs a diagonalization in the subspace spanned by all orbitals. This is often referred to as Rayleigh–Ritz method (https://en.wikipedia.org/wiki/Rayleigh%E2%80%93Ritz_method). The step increases the convergence rate and thus is expedient in most cases. For the direct optimization algorithms (for instance ALGO = All or Damped), a subspace diagonalization is usually not performed, but in order to improve the accuracy of the calculated forces, after convergence has been reached one single diagonalization in the subspace spanned by all orbitals is performed. Note, that the subspace diagonalization sorts the orbital/eigenvalues in ascending order.
For ALGO = VeryFast and Damped it is possible to switch off the subspace diagonalization by specifying LDIAG=.FALSE. in the INCAR file. Specifically, for ALGO = VeryFast, LDIAG= .FALSE. changes from an exact Rayleigh–Ritz diagonalization to Loewdin perturbation theory. Loewdin perturbation theory strictly conserves the orbital order, i.e. say the 5th orbital will remain stored in the 5th storage slot, only small rotations into that orbital can occur. For ALGO = Damped and All, the final sub space diagonalization is simply skipped. Generally using LDIAG = .FALSE. is only advised, if one wants to maintain a certain orbital order, for instance when reading the orbitals from an existing WAVECAR file.
For that algorithms ALGO=Normal or Fast, by construction of the algorithm it is not possible to switch off subspace diagonalization, since these algorithms by construction require a subspace diagonalization. Furthermore, algorithms that minimize the total energy (ALGO = All) are often too "greedy" and might alternate the orbital order in the course of the energy optimization.