(6.82) |

Note that, E here includes also the Hartree energy, the kinetic energy, as well as the Ewald energy of the ions, whereas often in literature E refers only to the exact exchange energy evaluated using DFT orbitals.

If `ALGO = ACFDT` is set in the INCAR file, VASP calculates the correlation
energy in the random phase approximation. To this end, VASP calculates first the independent particle response function, using the virtual (unoccupied) states found in the `WAVECAR` file,
and then determines the correlation energy using the plasmon fluctuation equation:

In practice, RPA energy calculations need to proceed in four steps (VASP can not yet perform all required steps in a single VASP run).

**First step** (a standard DFT run): All *occupied* orbitals (and as
usual in VASP, a few unoccupied orbitals) of the DFT-Hamiltonian are calculated:

EDIFF = 1E-8 ISMEAR = 0 ; SIGMA = 0.05This can be done with your favorite setup, but we recommend to attain very high precision (

**Second step**: the Hartree Fock energy E
is calculated
using the predetermined DFT orbitals:

ALGO = EIGENVAL ; NELM = 1 LWAVE=.FALSE. ! avoid accidental update of WAVECAR LHFCALC = .TRUE. ; AEXX = 1.0 ! you my set ALDAC = 0.0 but the default is 1-AEXX ISMEAR = 0 ; SIGMA = 0.05For insulators and semiconductors with a sizable gap, faster convergence of the Hartree-Fock energy can be obtained by setting

**Third step**: Search for ```maximum number of plane-waves:``` in the OUTCAR file of the first step,
and run VASP again with the following INCAR file to determine all virtual states by an exact
diagonalization of the Hamiltonian (DFT or hybrid, make certain to use the same
Hamiltonian as in step 1):

NBANDS = maximum number of plane-waves (possibly times 2, for gamma-only!) ALGO = Exact ! exact diagonalization NELM = 1 ! one step suffices since WAVECAR is pre-converged LOPTICS = .TRUE. ISMEAR = 0 ; SIGMA = 0.05N.B.: For calculations using the gamma-point only version of vasp,

**Fourth step**: Calculate the ACFDT-RPA correlation energy:

NBANDS = maximum number of plane-waves ALGO = ACFDT NOMEGA = 8-24

To reach technical convergence, a number of flags are available to control the evaluation of the ACFDT-RPA correlation energy in the fourth step. The expression for the ACFDT-RPA correlation energy reads:

(6.83) |

The sum over reciprocal lattice vectors has to be truncated at some , determined by

Since correlation energies converge very slowly with respect to , VASP automatically extrapolates to the infinite basis set limit using a linear regression to the equation [119,121,124]:

(6.84) |

Furthermore, the Coulomb kernel is smoothly truncated between

The integral over is evaluated by means of a
highly accurate mini-max integration.[122]
The number of points is determined by the flag `NOMEGA`,
whereas the energy range of transitions is determined by
the band gap and the energy difference between the lowest occupied
and highest unoccupied one-electron orbital. VASP determines
these values automatically (from vasp.5.4.1 on), and the user should only carefully
converge with respect to the number of frequency points `NOMEGA`. A good choice
is usually `NOMEGA=12`, however, for large gap systems one
might obtain eV convergence per atom already using 8 points, whereas
for metals up to `NOMEGA=24` frequency points are sometimes necessary,
in particular, for large unit cells.

Strictly adhear to the steps outlines above. Specifically,
be aware that steps two and three require the `WAVECAR` file generated in step one,
whereas step four requires the `WAVECAR` and `WAVEDER` file generated in step three
(generated by setting `LOPTICS = .TRUE.`).

**Some issues particular to ACFDT-RPA calculations on metals**:

For metals, the RPA groundstate energy converges fastest with respect to k-points,
if the exchange (Eq. (12) in Ref. [121]) and correlation energy are calculated
on the same k-point grid, `HFRCUT=1` is not set, and the long-wavelength contributions from the polarizability are not considered (see Ref. [121]).

To evaluate Eq. (12) in Ref. [121], a correction energy for E related to partial occupancies has to be added to the RPA groundstate energy:

(6.85) |

In vasp.5.4.1, this value is calculated for any HF type calculation (step 2) and can be found in the OUTCAR file after the total energy (in the line starting with

To neglect the long-wavelength contributions, simply set `LOPTICS =.FALSE.`
in the `ALGO = Exact` step (third step), *and* remove
WAVEDER files in the directory.

Virtually the same flags and procedures apply to the new low scaling RPA algorithm.
However, in the last step `ALGO = ACFDT` needs to be replaced
by `ALGO = ACFDTR`. The new version is presently not part of
the VASP distribution.