ALGO: Difference between revisions

From VASP Wiki
No edit summary
 
(49 intermediate revisions by 9 users not shown)
Line 1: Line 1:
{{TAGDEF|ALGO|Normal {{!}} VeryFast {{!}} Fast {{!}} Conjugate {{!}} All {{!}} Damped {{!}} Subrot {{!}} Eigenval {{!}} None {{!}} Nothing {{!}} CHI {{!}} {{!}} G0W0 {{!}} GW0 {{!}} GW {{!}} scGW0 {{!}} scGW {{!}} G0W0R {{!}} GW0R {{!}} GWR {{!}} scGW0R {{!}} scGWR {{!}} ACFDT {{!}} RPA {{!}} ACFDTR {{!}} RPAR {{!}} BSE {{!}} TDHF | Normal }}
{{TAGDEF|ALGO|Normal {{!}} VeryFast {{!}} Fast {{!}} Conjugate {{!}} All {{!}} Damped {{!}} Subrot {{!}} Eigenval {{!}} Exact {{!}} None {{!}} Nothing {{!}} CHI {{!}} G0W0 {{!}} GW0 {{!}} GW {{!}} scGW0 {{!}} scGW {{!}} G0W0R {{!}} GW0R {{!}} GWR {{!}} scGW0R {{!}} scGWR {{!}} ACFDT {{!}} RPA {{!}} ACFDTR {{!}} RPAR {{!}} BSE {{!}} TDHF | Normal }}


Description: the {{TAG|ALGO}} tag is a convenient option to specify the electronic minimisation algorithm (as of VASP.4.5) and/or to select the type of [[GW calculations]].
Description: the {{TAG|ALGO}} tag is a convenient option to specify the electronic minimization algorithm (as of VASP.4.5) and/or to select the type of [[GW calculations]].
----
----
*{{TAG|ALGO}}=Normal selects {{TAG|IALGO}}=38 (blocked Davidson iteration scheme).
*{{TAG|ALGO}}=Normal selects {{TAG|IALGO}}=38 ([[Blocked-Davidson algorithm|blocked-Davidson-iteration scheme]]).


*{{TAG|ALGO}}=VeryFast selects {{TAG|IALGO}}=48 (RMM-DIIS).
*{{TAG|ALGO}}=VeryFast selects {{TAG|IALGO}}=48 ([[RMM-DIIS]]). This algorithm has been updated for vasp.6 to increase robustness. To select the version that was available in vasp.5, select "Old VeryFast". [[:Category:Hybrid functionals|hybrid functionals]] are not supported for {{TAG|ALGO}}=VeryFast. The algorithm can be combined with {{TAG|LDIAG}}=.FALSE. to conserve the initial orbital order (when orbitals are read from the {{TAG|WAVECAR}} file).


*{{TAG|ALGO}}=Fast selects a faily robust mixture of the Davidson and RMM-DIIS algorithms. In this case, Davidson ({{TAG|IALGO}}=38) is used for the initial phase, and then VASP switches to RMM-DIIS ({{TAG|IALGO}}=48). Subsequencly, for each ionic update, one {{TAG|IALGO}}=38 sweep is performed for each ionic step (except the first one).
*{{TAG|ALGO}}=Old VeryFast (or "ov" or "vo") selects {{TAG|IALGO}}=48 ([[RMM-DIIS]]). This option is available in vasp.6 and selects the version of the [[RMM-DIIS]] algorithm that was available in vasp.5.  


*{{TAG|ALGO}}=Conjugate or {{TAG|ALGO}}=All selects an "all band simultaneous update of orbitals" ({{TAG|IALGO}}=58, in both cases the same conjugate gradient algorithm is used).
*{{TAG|ALGO}}=Fast selects a fairly robust mixture of the [[Blocked-Davidson algorithm|blocked-Davidson]] and [[RMM-DIIS]] algorithms. In this case, [[Blocked-Davidson algorithm|blocked Davidson]] ({{TAG|IALGO}}=38) is used for the initial phase, and then VASP switches to [[RMM-DIIS]] ({{TAG|IALGO}}=48). Subsequently, for each ionic update, one {{TAG|IALGO}}=38 sweep is performed for each ionic step (except the first one).  This algorithm has been updated for vasp.6 to increase robustness. To select the version that was available in vasp.5, select "Old Fast".


*{{TAG|ALGO}}=Damped selects a damped velocity friction algorithm ({{TAG|IALGO}}=53).
*{{TAG|ALGO}}=Old Fast (or "of" or "fo"). This option is available in vasp.6 and selects the {{TAG|ALGO}}=Fast algorithm that was available in vasp.5.
 
*{{TAG|ALGO}}=Conjugate or {{TAG|ALGO}}=All selects an "all band simultaneous update of orbitals" ({{TAG|IALGO}}=58, both tags are synonymous).
 
*{{TAG|ALGO}}=Damped selects a damped velocity friction algorithm ({{TAG|IALGO}}=53). The algorithm can be combined with {{TAG|LDIAG}}=.FALSE. to conserve the initial orbital order (when orbitals are read from the {{TAG|WAVECAR}} file).
 
*{{TAG|ALGO}}=Exact performs an exact diagonalization ({{TAG|IALGO}}=90).


*{{TAG|ALGO}}=Subrot selects subspace rotation or diagonalization in the sub-space spanned by the orbitals ({{TAG|IALGO}}=4).
*{{TAG|ALGO}}=Subrot selects subspace rotation or diagonalization in the sub-space spanned by the orbitals ({{TAG|IALGO}}=4).


*{{TAG|ALGO}}=Eigenval allows to recalculate one electron energies, density of state and perform selected postprocessing using the current orbitals ({{TAG|IALGO}}=3) e.g. read from the {{FILE|WAVECAR}} file.
*{{TAG|ALGO}}=Eigenval allows to recalculate one-electron energies, the density of state and perform selected postprocessing using the current orbitals ({{TAG|IALGO}}=3) e.g. read from the {{FILE|WAVECAR}} file.


*{{TAG|ALGO}}=None or {{TAG|ALGO}}=Nothing allows to recalculate the density of states or perform selected postprocessing, using the current orbitals and one electron energies ({{TAG|IALGO}}=2) e.g. read from the {{FILE|WAVECAR}} file.
*{{TAG|ALGO}}=None or {{TAG|ALGO}}=Nothing allows to recalculate the density of states or perform selected postprocessing, using the current orbitals and one electron energies ({{TAG|IALGO}}=2) e.g. read from the {{FILE|WAVECAR}} file.


'''Mind''': except for 'None' and 'Nothing' (which must be spelled out), the first letter determines the applied algorithm. Conjugate, Subrot, Eigenval, None and Nothing are only supported by vasp.5.2.9 and newer versions.
More details can be found under the documentation for the tag {{TAG|IALGO}}.
{{NB|tip|Except for 'None', 'Nothing', 'Exact' and 'Eigenval' (which must be spelled out), the first letter determines the applied algorithm.}}
Conjugate, Subrot, Eigenval, None and Nothing are only supported by vasp.5.2.9 and newer versions.
{{NB|warning|For fast convergence, {{TAG|LMAXMIX}} must be set appropriately. E.g. {{TAG|LMAXMIX}}{{=}}6 for systems including f electrons.}}


<span id="GWALGOS">
<span id="GWALGOS">


==ALGO for response functions and [[GW calculations]] and [[ACFDT/RPA calculations]]==
==ALGO for response functions and [[GW calculations]] and [[ACFDT/RPA calculations]]==
Following tags are available as of VASP.5.X.  
The following tags are available as of VASP.5.X.  


*{{TAG|ALGO}}=CHI calculates the response functions only.
*{{TAG|ALGO}}=CHI calculates the response functions only.
Line 30: Line 39:
*{{TAG|ALGO}}=TDHF selects TDHF calculations using the VASP internal Cassida code see [[BSE calculations]], (available as of VASP.5.2.12)
*{{TAG|ALGO}}=TDHF selects TDHF calculations using the VASP internal Cassida code see [[BSE calculations]], (available as of VASP.5.2.12)


*{{TAG|ALGO}}=BSE selects BSE calculations using the VASP internal Cassida code see [[BSE calculations]]
*{{TAG|ALGO}}=BSE selects BSE calculations using the VASP internal Cassida code see [[BSE calculations]], (available as of VASP.5.4.1)
 
*{{TAG|ALGO}}=Timeev performs a delta-pulse in time and then performs [[timepropagation]]


*{{TAG|ALGO}}=ACFDT selects RPA total energy calculations see [[ACFDT/RPA calculations]]
*{{TAG|ALGO}}=ACFDT selects RPA total energy calculations see [[ACFDT/RPA calculations]]
Line 57: Line 68:
|-
|-
! >= 6
! >= 6
| QPGW[R]
| QPGW
| QPGW0[R]
| QPGW0
| EVGW
| EVGW
| EVGW0
| EVGW0
| scGWR
| GWR
| scGW0R
| GW0R
|}
|}
</span>
</span>


*{{TAG|ALGO}}=EVGW0 selects single-shot ''G''<sub>0</sub>''W''<sub>0</sub> calculations or partially self-consistent ''GW'' calculations. The orbitals (wavefunctions) of the previous groundstate calculations are maintained, and [[GW calculations#G0W0|G0W0 calculations]] are performed. If {{TAG|NELM}} is set, several iterations are performed, and the QP energies are updated in the calculation of ''G'' (for details see [[GW calculations#gw0|EVGW0 calculations]]).
*{{TAG|ALGO}}=EVGW0 selects single-shot ''G''<sub>0</sub>''W''<sub>0</sub> calculations or partially self-consistent ''GW'' calculations. The orbitals (wavefunctions) of the previous groundstate calculations are maintained, and [[GW calculations#G0W0|G0W0 calculations]] are performed. If {{TAG|NELM}} is set, several iterations are performed, and the QP energies are updated in the calculation of ''G'' (for details, see [[GW calculations#gw0|EVGW0 calculations]]).


*{{TAG|ALGO}}=EVGW selects single-shot ''G''<sub>0</sub>''W''<sub>0</sub> calculations or partially self-consistent ''GW'' calculations. The orbitals of the previous groundstate calculations are maintained, and [[GW calculations#G0W0|G0W0 calculations]] are performed. If {{TAG|NELM}} is set, several iterations are performed, and the QP energies are updated in the calculation of ''G'' AND ''W'' (for details see [[GW calculations#qpgw|self-consistent EVGW and QPGW calculations]]).
*{{TAG|ALGO}}=EVGW selects single-shot ''G''<sub>0</sub>''W''<sub>0</sub> calculations or partially self-consistent ''GW'' calculations. The orbitals of the previous groundstate calculations are maintained, and [[GW calculations#G0W0|G0W0 calculations]] are performed. If {{TAG|NELM}} is set, several iterations are performed, and the QP energies are updated in the calculation of ''G'' AND ''W'' (for details, see [[GW calculations#qpgw|self-consistent EVGW and QPGW calculations]]).


*{{TAG|ALGO}}=QPGW0 selects self-consistent ''GW'' calculations including off-diagonal components of the selfenergy. A full update of the QP energies AND one electron orbitals is performed in the calculation of ''G'' only (for details see [[GW calculations#qpgw0|QPGW0 calculations]]).
*{{TAG|ALGO}}=QPGW0 selects self-consistent ''GW'' calculations including off-diagonal components of the selfenergy. A full update of the QP energies AND one-electron orbitals is performed in the calculation of ''G'' only (for details see [[GW calculations#qpgw0|QPGW0 calculations]]).


*{{TAG|ALGO}}=QPGW selects self-consistent ''GW'' calculations including off-diagonal components of the selfenergy. A full update of the QP energies AND one electron orbitals is performed in the calculations of ''G'' AND ''W'' (for details see [[GW calculations#qpgw|QPGW calculations]]).
*{{TAG|ALGO}}=QPGW selects self-consistent ''GW'' calculations, including off-diagonal components of the selfenergy. A full update of the QP energies AND one-electron orbitals is performed in the calculations of ''G'' AND ''W'' (for details, see [[GW calculations#qpgw|QPGW calculations]]).


Following tags are available as of VASP.6
Following tags are available as of VASP.6
Line 78: Line 89:
*{{TAG|ALGO}}=RPAR selects low scaling RPA total energy calculations (for details see [[ACFDT/RPA calculations#ACFDTR/RPAR|ACFDT/RPA calculations]])
*{{TAG|ALGO}}=RPAR selects low scaling RPA total energy calculations (for details see [[ACFDT/RPA calculations#ACFDTR/RPAR|ACFDT/RPA calculations]])


*{{TAG|ALGO}}=ACFTDR synonym for RPAR (for details see [[ACFDT/RPA calculations#ACFDTR/RPAR|ACFDT/RPA calculations]])
*{{TAG|ALGO}}=ACFDTR synonym for RPAR (for details see [[ACFDT/RPA calculations#ACFDTR/RPAR|ACFDT/RPA calculations]])


*{{TAG|ALGO}}=QPGW0R selects low scaling version of QPGW0. Quasi-particle ''GW'' calculations are performed, where off-diagonal components of the self-energy are included. A full update of the QP energies AND one electron orbitals is performed in the calculation of ''G'' only (for details see [[GW calculations#QPR|QPGW0R calculations]])
*{{TAG|ALGO}}=ACFDTRK in combination with LMP2LT = .TRUE. selects the low scaling MP2 total energy calculations (for details see the [[MP2_ground_state_calculation_-_Tutorial|MP2 ground state Tutorial]])


*{{TAG|ALGO}}=QPGWR selects low scaling version of QPGW. Quasi-particle ''GW'' calculations are performed, where off-diagonal components of the self-energy are included. A full update of the QP energies AND one electron orbitals is performed in the calculation of ''G'' and ''W'' (for details see [[GW calculations#QPGWR|QPGWR calculations]])
*{{TAG|ALGO}}=GW0R selects self-consistent GW<sub>0</sub> calculations, where only the Green's function ''G'' is updated from the corresponding Dyson. The screened potential ''W'' remains unchanged after the first iteration. {{TAG|NELM}} iteration cycles are performed (see [[GW calculations#scGW0R|self-consistent GW calculations]]).


*{{TAG|ALGO}}=scGW0R selects self-consistent GW<sub>0</sub> calculations, where only the Green's function ''G'' is updated from the corresponding Dyson. The screened potential ''W'' remains unchanged after the first iteration. {{TAG|NELM}} iteration cycles are performed (see [[GW calculations#scGW0R|self-consistent GW calculations]]).
*{{TAG|ALGO}}=GWR selects self-consistent GW calculations, where both, ''G'' and ''W'' are updated from the corresponding Dyson equation. {{TAG|NELM}} iteration cycles are performed. (for details see [[GW calculations#scGWR|self-consistent GW calculations]]).


*{{TAG|ALGO}}=scGWR selects self-consistent GW calculations, where both, ''G'' and ''W'' are updated from the corresponding Dyson equation. {{TAG|NELM}} iteration cycles are performed. (for details see [[GW calculations#scGWR|self-consistent GW calculations]]).
*{{TAG|ALGO}}=G0W0R selects single-shot GW calculations, non-interacting ''G'' and ''W'' are determined from Kohn-Sham system and {{TAG|NELM}} tag is ignored. Use this tag for single-shot QP energies and first-order corrections to the density matrix (for details, see [[GW calculations#G0W0R|single-shot GW calculations]]).
{{NB|important|Changes as of VASP.6.3:}}
*{{TAG|NELMGW}} replaces {{TAG|NELM}} in [[GW calculations#scGWR|self-consistent GW calculations]].


*{{TAG|ALGO}}=CRPA selects [[Constrained–random-phase–approximation_formalism|constrained RPA alculations]].
{{NB|important|available as of VASP.6.4:}}
*{{TAG|ALGO}}=EVGW0R selects the low-scaling analog of EVGW0, that is the low-scaling partially self-consistent GW calculations, where non-interacting ''G'' and ''W'' are determined from Kohn-Sham system and {{TAG|NELMGW}} specifies the number of self-consistent loops for ''G''. ''W'' is kept on the Kohn-Sham level.
</span>


</span>
== Related tags and sections ==
{{TAG|IALGO}},
{{TAG|LDIAG}},
[[:Category:Electronic minimization|Electronic minimization]]


{{sc|ALGO|Examples|Examples that use this tag}}
{{sc|ALGO|Examples|Examples that use this tag}}
----
----
[[The_VASP_Manual|Contents]]


[[Category:INCAR]] [[Category:GW]][[Category:ACFDT]]
[[Category:INCAR tag]][[Category:Electronic minimization]][[Category:Many-body perturbation theory]][[Category:GW]][[Category:Bethe-Salpeter equations]]

Latest revision as of 13:27, 16 October 2024

ALGO = Normal | VeryFast | Fast | Conjugate | All | Damped | Subrot | Eigenval | Exact | None | Nothing | CHI | G0W0 | GW0 | GW | scGW0 | scGW | G0W0R | GW0R | GWR | scGW0R | scGWR | ACFDT | RPA | ACFDTR | RPAR | BSE | TDHF
Default: ALGO = Normal 

Description: the ALGO tag is a convenient option to specify the electronic minimization algorithm (as of VASP.4.5) and/or to select the type of GW calculations.


  • ALGO=VeryFast selects IALGO=48 (RMM-DIIS). This algorithm has been updated for vasp.6 to increase robustness. To select the version that was available in vasp.5, select "Old VeryFast". hybrid functionals are not supported for ALGO=VeryFast. The algorithm can be combined with LDIAG=.FALSE. to conserve the initial orbital order (when orbitals are read from the WAVECAR file).
  • ALGO=Old VeryFast (or "ov" or "vo") selects IALGO=48 (RMM-DIIS). This option is available in vasp.6 and selects the version of the RMM-DIIS algorithm that was available in vasp.5.
  • ALGO=Fast selects a fairly robust mixture of the blocked-Davidson and RMM-DIIS algorithms. In this case, blocked Davidson (IALGO=38) is used for the initial phase, and then VASP switches to RMM-DIIS (IALGO=48). Subsequently, for each ionic update, one IALGO=38 sweep is performed for each ionic step (except the first one). This algorithm has been updated for vasp.6 to increase robustness. To select the version that was available in vasp.5, select "Old Fast".
  • ALGO=Old Fast (or "of" or "fo"). This option is available in vasp.6 and selects the ALGO=Fast algorithm that was available in vasp.5.
  • ALGO=Conjugate or ALGO=All selects an "all band simultaneous update of orbitals" (IALGO=58, both tags are synonymous).
  • ALGO=Damped selects a damped velocity friction algorithm (IALGO=53). The algorithm can be combined with LDIAG=.FALSE. to conserve the initial orbital order (when orbitals are read from the WAVECAR file).
  • ALGO=Exact performs an exact diagonalization (IALGO=90).
  • ALGO=Subrot selects subspace rotation or diagonalization in the sub-space spanned by the orbitals (IALGO=4).
  • ALGO=Eigenval allows to recalculate one-electron energies, the density of state and perform selected postprocessing using the current orbitals (IALGO=3) e.g. read from the WAVECAR file.
  • ALGO=None or ALGO=Nothing allows to recalculate the density of states or perform selected postprocessing, using the current orbitals and one electron energies (IALGO=2) e.g. read from the WAVECAR file.

More details can be found under the documentation for the tag IALGO.

Tip: Except for 'None', 'Nothing', 'Exact' and 'Eigenval' (which must be spelled out), the first letter determines the applied algorithm.

Conjugate, Subrot, Eigenval, None and Nothing are only supported by vasp.5.2.9 and newer versions.

Warning: For fast convergence, LMAXMIX must be set appropriately. E.g. LMAXMIX=6 for systems including f electrons.

ALGO for response functions and GW calculations and ACFDT/RPA calculations

The following tags are available as of VASP.5.X.

  • ALGO=CHI calculates the response functions only.
  • ALGO=TDHF selects TDHF calculations using the VASP internal Cassida code see BSE calculations, (available as of VASP.5.2.12)
  • ALGO=BSE selects BSE calculations using the VASP internal Cassida code see BSE calculations, (available as of VASP.5.4.1)

GW tags have been renamed in VASP as follows

< 5.2.12 scGW scGW0 GW GW0 N/A N/A
>= 5.2.12, < 6 QPGW QPGW0 GW GW0 N/A N/A
>= 6 QPGW QPGW0 EVGW EVGW0 GWR GW0R

  • ALGO=EVGW0 selects single-shot G0W0 calculations or partially self-consistent GW calculations. The orbitals (wavefunctions) of the previous groundstate calculations are maintained, and G0W0 calculations are performed. If NELM is set, several iterations are performed, and the QP energies are updated in the calculation of G (for details, see EVGW0 calculations).
  • ALGO=EVGW selects single-shot G0W0 calculations or partially self-consistent GW calculations. The orbitals of the previous groundstate calculations are maintained, and G0W0 calculations are performed. If NELM is set, several iterations are performed, and the QP energies are updated in the calculation of G AND W (for details, see self-consistent EVGW and QPGW calculations).
  • ALGO=QPGW0 selects self-consistent GW calculations including off-diagonal components of the selfenergy. A full update of the QP energies AND one-electron orbitals is performed in the calculation of G only (for details see QPGW0 calculations).
  • ALGO=QPGW selects self-consistent GW calculations, including off-diagonal components of the selfenergy. A full update of the QP energies AND one-electron orbitals is performed in the calculations of G AND W (for details, see QPGW calculations).

Following tags are available as of VASP.6

  • ALGO=ACFDTRK in combination with LMP2LT = .TRUE. selects the low scaling MP2 total energy calculations (for details see the MP2 ground state Tutorial)
  • ALGO=GW0R selects self-consistent GW0 calculations, where only the Green's function G is updated from the corresponding Dyson. The screened potential W remains unchanged after the first iteration. NELM iteration cycles are performed (see self-consistent GW calculations).
  • ALGO=GWR selects self-consistent GW calculations, where both, G and W are updated from the corresponding Dyson equation. NELM iteration cycles are performed. (for details see self-consistent GW calculations).
  • ALGO=G0W0R selects single-shot GW calculations, non-interacting G and W are determined from Kohn-Sham system and NELM tag is ignored. Use this tag for single-shot QP energies and first-order corrections to the density matrix (for details, see single-shot GW calculations).
Important: Changes as of VASP.6.3:
Important: available as of VASP.6.4:
  • ALGO=EVGW0R selects the low-scaling analog of EVGW0, that is the low-scaling partially self-consistent GW calculations, where non-interacting G and W are determined from Kohn-Sham system and NELMGW specifies the number of self-consistent loops for G. W is kept on the Kohn-Sham level.

Related tags and sections

IALGO, LDIAG, Electronic minimization

Examples that use this tag