ENCUTGW: Difference between revisions

From VASP Wiki
No edit summary
No edit summary
 
(49 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{TAGDEF|ENCUTGW|[real](energy cutoff for response function|{{TAG|ENCUT}}}}
{{TAGDEF|ENCUTGW|[real]| 2/3 {{TAG|ENCUT}}}}


{\tt ENCUTGW}= [real] (energy cutoff for response function)


Default: {\tt ENCUTGW}={\tt ENCUT}
Description: The tag {{TAG|ENCUTGW}} sets the energy cutoff for the response function. It controls the basis set for the response functions
in exactly the same manner as {{TAG|ENCUT}} does for the orbitals.


The parameter {\tt ENCUTGW} controls the basis set for the response functions
 
in exactly the same manner as {\tt ENCUT} does for the orbitals.
__TOC__
In the GW caseupdates of the response function dominate the computational work load:
 
\begin{equation}
----
    \frac{1}{\Omega} \sum_{n,n',{\mathbf{k}}}2 w_{{\mathbf{k}}}
In GW and random-phase-approximation (RPA) calculationsstoring and manipulating the response function dominates the computational work load:
 
<math>\chi_{{\mathbf{q}}}^0 ({\mathbf{G}}, {\mathbf{G}}', \omega)=\frac{1}{\Omega} \sum_{n,n',{\mathbf{k}}}2 w_{{\mathbf{k}}}
  (f_{n'{\mathbf{k}}+{\mathbf{q}}} - f_{n{\mathbf{k}}})   
  (f_{n'{\mathbf{k}}+{\mathbf{q}}} - f_{n{\mathbf{k}}})   
\times  \frac{\langle \psi_{n{\mathbf{k}}}| e^{-i ({\mathbf{q}}+{\mathbf{G}}){\mathbf{r}}} | \psi_{n'{\mathbf{k}}+{\mathbf{q}}}\rangle
\times  \frac{\langle \psi_{n{\mathbf{k}}}| e^{-i ({\mathbf{q}}+{\mathbf{G}}){\mathbf{r}}} | \psi_{n'{\mathbf{k}}+{\mathbf{q}}}\rangle
\langle \psi_{n'{\mathbf{k}}+{\mathbf{q}}}| e^{i ({\mathbf{q}}+{\mathbf{G}}'){\mathbf{r'}}} | \psi_{n{\mathbf{k}}}\rangle}
\langle \psi_{n'{\mathbf{k}}+{\mathbf{q}}}| e^{i ({\mathbf{q}}+{\mathbf{G}}'){\mathbf{r'}}} | \psi_{n{\mathbf{k}}}\rangle}
  { \epsilon_{n'{\mathbf{k}}+{\mathbf{q}}}-\epsilon_{n{\mathbf{k}}} -  \omega - i \eta }-
  { \epsilon_{n'{\mathbf{k}}+{\mathbf{q}}}-\epsilon_{n{\mathbf{k}}} -  \omega - i \eta }. </math>
\label{equ:chi1}
 
\end{equation}
{{TAG|ENCUTGW}}  controls how many <math>\mathbf{G}</math> vectors are included in the  
The {\tt ENCUTGW}  controls how many ${\mathbf{G}}$ vectors are included in the  
the response function <math>\chi_{{\mathbf{q}}}^0 ({\mathbf{G}}, {\mathbf{G}}', \omega)</math>.
the response function $\chi_{{\mathbf{q}}}^0 ({\mathbf{G}}, {\mathbf{G}}', \omega)$.
 
Our experience suggests that choosing {{TAG|ENCUTGW}}= 2/3 {{TAG|ENCUT}} yields reasonable results at fairly modest computational cost, although, the response function contains contributions up to twice the plane wave cutoff <math>G_{\rm cut}</math>, see {{TAG|ALGO}} tag. Furthermore, RPA correlation energies are reported using an internal extrapolation of the correlation energy by varying the value of {{TAG|ENCUTGW}} inside VASP between the largest value given in the {{TAG|INCAR}} file and smaller values {{cite|harl:prb:08}}. Mind: The extrapolated value is only reliable, if {{TAG|ENCUTGW}} is smaller then {{TAG|ENCUT}}. The cutoff extrapolation with respect to {{TAG|ENCUTGW}} would be precise if the plane wave basis for the orbitals were infinite. Again, the VASP defaults yield very reasonable values for the extrapolated correlation energy. In fact, it is unwise to increase {{TAG|ENCUTGW}} only, without increasing {{TAG|ENCUT}}. To converge RPA correlation energies, simply increase {{TAG|ENCUT}} and the number of orbitals, and use the VASP default for {{TAG|ENCUTGW}}.
{{NB|mind|More details on how the infinite basis set limit is extrapolated in RPA/ACFDT can be found [[ACFDT/RPA_calculations#Basis_set_convergence|here]].}}
For quasiparticle (QP) bandgaps, it is sometimes possible to set {{TAG|ENCUTGW}} to values between 150 to 200 eV, and even 100 eV can yield
gaps that are accurate to within a few tens of an eV for main group elements. Be aware, however, that the absolute values of the QP energies depend inverse proportionally on the number of plane waves. Thus, the convergence of absolute QP energies is very slow, although QP gaps might seem converged.
 
The recommended procedure to obtain accurate QP energies is discussed in the reference below. Specifically,  for reference type calculations we recommend the following procedure:
 
* Use the default for {{TAG|ENCUTGW}}, or even decrease {{TAG|ENCUTGW}} to half the value of {{TAG|ENCUT}}.
* Calculate all orbitals that the plane-wave basis set allows to calculate. This number can be determined by searching for "maximum number of plane-waves" in the ground-state DFT {{TAG|OUTCAR}} file, and setting {{TAG|NBANDS}} to this value.
* Increase {{TAG|ENCUT}} systematically and plot the QP energies versus the number of plane-wave coefficients, which equals the number of orbitals. This means {{TAG|ENCUTGW}} and {{TAG|NBANDS}} increase as {{TAG|ENCUT}} increases.
 
This procedure can be carried out using few k points. Other commonly applied methods can yield less accurate results and are not considered to be reliable.
 
== FFT grid and {{TAG|PRECFOCK}} ==
The {{TAG|PRECFOCK}} tag determines the fast Fourier transformation (FFT) grid in all GW (and Hartree-Fock) related routines. For small systems, the computational time is often dominated by FFT operations. Therefore, the {{TAG|PRECFOCK}} tag can have a significant impact on the compute time for QP calculations. For large systems, the FFT's usually do not dominate the computational workload, and savings are expected to be small for {{TAG|PRECFOCK}} = ''fast''.
QP shifts are usually not very sensitive to the setting of {{TAG|PRECFOCK}} and therefore there is no harm in setting {{TAG|PRECFOCK}} = ''fast''), whereas for RPA calculations we recommend to set {{TAG|PRECFOCK}} = ''normal'' to avoid numerical errors.
 
== Related tags and articles ==
{{TAG|PRECFOCK}},
{{TAG|ENCUT}},
{{TAG|ENCUTGWSOFT}},
{{TAG|GW calculations}},
[[ACFDT/RPA_calculations#Basis_set_convergence|Basis set convergence]]
 
{{sc|ENCUTGW|Examples|Examples that use this tag}}
 
== Further reading ==
*Generally, QP energies converge like one over the number of orbitals and one over the number of plane waves in the response function. For basis set converged calculations, we recommend using the strategies outlined in Ref. {{cite|klimes:prb:14}}, which contains a comprehensive study of the performance of the convergence of GW calculations.
 
== References ==


Tests have shown that choosing {\tt ENCUTGW}={\tt ENCUT} yields
essentially exact results. In principle, however, the response function
contains contributions up to twice the plane wave cutoff $G_{\rm cut}$
(see Sec. \ref{algo-wrap}). Since the diagonal of the dielectric matrix
converges rapidly to one, such a large cutoff is never actually required
(the present release has only been tested for
{\tt ENCUTGW} $\le$  {\tt ENCUT}, and might crash if  {\tt ENCUTGW} $\ge$ {\tt ENCUT}).
Furthermore, in most cases, it is even possible to set {\tt ENCUTGW}
to a value between 150 to 200 eV, and even 100 eV gives usually
QP shifts that are accurate to within a few hundreds of an eV (0.01-0.02 eV).
This can help to speed up the calculations
significantly and reduces the memory requirements substantially.


----


\index{INCAR!P!PRECFOCK|textit}
[[Category:INCAR tag]][[Category:Many-body perturbation theory]][[Category:GW]]
The flag {\tt PRECFOCK} (Sec.~\ref{incar-precfock}),
determines the FFT grid in all  GW (and Hartree-Fock) related routines.
For small systems (which are often dominated by  FFT operations),
it can have a significant impact on the compute time for
QP calculations. For large systems, the FFT's usually do not
dominating the computational work load and savings are expected to be small for {\tt PRECFOCK = fast }.
QP shifts are usually not very sensitive to the setting of {\tt PRECFOCK}
(and it therefore does not harm to set  {\tt PRECFOCK = fast }), whereas for
RPA calculations we recommend to set {\tt PRECFOCK= normal} to avoid numerical errors.

Latest revision as of 14:07, 24 April 2023

ENCUTGW = [real]
Default: ENCUTGW = 2/3 ENCUT 


Description: The tag ENCUTGW sets the energy cutoff for the response function. It controls the basis set for the response functions in exactly the same manner as ENCUT does for the orbitals.



In GW and random-phase-approximation (RPA) calculations, storing and manipulating the response function dominates the computational work load:

ENCUTGW controls how many vectors are included in the the response function .

Our experience suggests that choosing ENCUTGW= 2/3 ENCUT yields reasonable results at fairly modest computational cost, although, the response function contains contributions up to twice the plane wave cutoff , see ALGO tag. Furthermore, RPA correlation energies are reported using an internal extrapolation of the correlation energy by varying the value of ENCUTGW inside VASP between the largest value given in the INCAR file and smaller values [1]. Mind: The extrapolated value is only reliable, if ENCUTGW is smaller then ENCUT. The cutoff extrapolation with respect to ENCUTGW would be precise if the plane wave basis for the orbitals were infinite. Again, the VASP defaults yield very reasonable values for the extrapolated correlation energy. In fact, it is unwise to increase ENCUTGW only, without increasing ENCUT. To converge RPA correlation energies, simply increase ENCUT and the number of orbitals, and use the VASP default for ENCUTGW.

Mind: More details on how the infinite basis set limit is extrapolated in RPA/ACFDT can be found here.

For quasiparticle (QP) bandgaps, it is sometimes possible to set ENCUTGW to values between 150 to 200 eV, and even 100 eV can yield gaps that are accurate to within a few tens of an eV for main group elements. Be aware, however, that the absolute values of the QP energies depend inverse proportionally on the number of plane waves. Thus, the convergence of absolute QP energies is very slow, although QP gaps might seem converged.

The recommended procedure to obtain accurate QP energies is discussed in the reference below. Specifically, for reference type calculations we recommend the following procedure:

  • Use the default for ENCUTGW, or even decrease ENCUTGW to half the value of ENCUT.
  • Calculate all orbitals that the plane-wave basis set allows to calculate. This number can be determined by searching for "maximum number of plane-waves" in the ground-state DFT OUTCAR file, and setting NBANDS to this value.
  • Increase ENCUT systematically and plot the QP energies versus the number of plane-wave coefficients, which equals the number of orbitals. This means ENCUTGW and NBANDS increase as ENCUT increases.

This procedure can be carried out using few k points. Other commonly applied methods can yield less accurate results and are not considered to be reliable.

FFT grid and PRECFOCK

The PRECFOCK tag determines the fast Fourier transformation (FFT) grid in all GW (and Hartree-Fock) related routines. For small systems, the computational time is often dominated by FFT operations. Therefore, the PRECFOCK tag can have a significant impact on the compute time for QP calculations. For large systems, the FFT's usually do not dominate the computational workload, and savings are expected to be small for PRECFOCK = fast. QP shifts are usually not very sensitive to the setting of PRECFOCK and therefore there is no harm in setting PRECFOCK = fast), whereas for RPA calculations we recommend to set PRECFOCK = normal to avoid numerical errors.

Related tags and articles

PRECFOCK, ENCUT, ENCUTGWSOFT, GW calculations, Basis set convergence

Examples that use this tag

Further reading

  • Generally, QP energies converge like one over the number of orbitals and one over the number of plane waves in the response function. For basis set converged calculations, we recommend using the strategies outlined in Ref. [2], which contains a comprehensive study of the performance of the convergence of GW calculations.

References