Requests for technical support from the VASP group should be posted in the VASP-forum.

# ALGO

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 minimisation algorithm (as of VASP.4.5) and/or to select the type of GW calculations.

- ALGO=Fast selects a faily robust mixture of the Davidson and RMM-DIIS algorithms. In this case, Davidson (IALGO=38) is used for the initial phase, and then VASP switches to RMM-DIIS (IALGO=48). Subsequencly, for each ionic update, one IALGO=38 sweep is performed for each ionic step (except the first one).

- ALGO=Conjugate or ALGO=All selects an "all band simultaneous update of orbitals" (IALGO=58, in both cases the same conjugate gradient algorithm is used).

- 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, 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.

**Mind**: except for 'None', 'Nothing' and 'Exact' (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.

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

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

- ALGO=Timeev performs a delta-pulse in time and then performs timepropagation

- ALGO=ACFDT selects RPA total energy calculations see ACFDT/RPA calculations

- ALGO=RPA synonymous to ACFDT see ACFDT/RPA calculations (available as of VASP.5.3.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[R] | QPGW0[R] | EVGW | EVGW0 | scGWR | scGW0R |

- ALGO=EVGW0 selects single-shot
*G*_{0}*W*_{0}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
*G*_{0}*W*_{0}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=RPAR selects low scaling RPA total energy calculations (for details see ACFDT/RPA calculations)

- ALGO=ACFTDR synonym for RPAR (for details see ACFDT/RPA calculations)

- ALGO=ACFTDRK in combination with LMP2LT = .TRUE. selects the low scaling MP2 total energy calculations (for details see the MP2 ground state Tutorial)

- 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 QPGW0R calculations)

- 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 QPGWR calculations)

- ALGO=scGW0R selects self-consistent GW
_{0}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=scGWR 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).