LIBXC1: Difference between revisions
No edit summary |
No edit summary |
||
Line 16: | Line 16: | ||
Regarding other tags in {{FILE|INCAR}} related to Libxc: | Regarding other tags in {{FILE|INCAR}} related to Libxc: | ||
*One also has to specify {{TAG|GGA}} = LIBXC for LDA, GGA and GGA-based hybrid functionals or {{TAG|METAGGA}} = LIBXC for meta-GGA functionals (calculations with meta-GGA-based hybrid functionals are not yet possible with VASP). | *One also has to specify {{TAG|GGA}} = LIBXC for LDA, GGA and GGA-based hybrid functionals or {{TAG|METAGGA}} = LIBXC for meta-GGA functionals (calculations with meta-GGA-based hybrid functionals are not yet possible with VASP). Note that {{TAG|METAGGA}} = LIBXC has to be used if | ||
*Many of the functionals implemented in Libxc have parameters that can be modified. This can be done via the tags {{TAG|LIBXC1_Pn}} and {{TAG|LIBXC2_Pn}}, where <math>n=1, 2, \ldots</math>. | *Many of the functionals implemented in Libxc have parameters that can be modified. This can be done via the tags {{TAG|LIBXC1_Pn}} and {{TAG|LIBXC2_Pn}}, where <math>n=1, 2, \ldots</math>. | ||
*The tag {{TAG|LTBOUNDLIBXC}}, which is .FALSE. by default, allows to enforce the lower bound on the kinetic-energy density (<math>\tau_{\sigma}^{\mathrm{W}}<\tau_{\sigma}</math>) with <math>\tau_{\sigma}=\max(\tau_{\sigma},\tau_{\sigma}^{\mathrm{W}})</math> before <math>\tau_{\sigma}</math> is used in a meta-GGA functional from Libxc. | *The tag {{TAG|LTBOUNDLIBXC}}, which is .FALSE. by default, allows to enforce the lower bound on the kinetic-energy density (<math>\tau_{\sigma}^{\mathrm{W}}<\tau_{\sigma}</math>) with <math>\tau_{\sigma}=\max(\tau_{\sigma},\tau_{\sigma}^{\mathrm{W}})</math> before <math>\tau_{\sigma}</math> is used in a meta-GGA functional from Libxc. |
Revision as of 15:20, 17 January 2022
LIBXC1 = [integer] or [string]
Description: LIBXC1 specifies the exchange or exchange-correlation functional from the library of exchange-correlation functionals Libxc[1][2][3] that one wants to use. If LIBXC1 corresponds to an exchange functional, then it can be used in combination with LIBXC2 that specifies the correlation functional.
N.B.: This feature is available from VASP.6.3.0 onwards that needs to be compiled with -DUSELIBXC.
LIBXC1 and LIBXC2 can be either integers or strings. The available functionals are listed on the Libxc website[4] along with their associated number and tag (e.g., 101 and GGA_X_PBE for PBE exchange). The tag indicates if this is an exchange (X), correlation (C) or exchange-correlation (XC) functional, and to which family it belongs to, namely LDA (LDA or HYB_LDA), GGA (GGA or HYB_GGA) or meta-GGA (MGGA or HYB_MGGA). Note that calculations with laplacian-dependent meta-GGA functionals are not yet possible with VASP.
Libxc is a separate program that has to be downloaded[3] and compiled before VASP is compiled with the corresponding precompiler flag and options.
Important: Regarding meta-GGA functionals and the kinetic-energy density (see LTBOUNDLIBXC), an important patch should be applied to Libxc version 5.1.7 before compiling it, as explained on the installation page. |
The allowed possibilities for LIBXC1 and LIBXC2 are the following:
- Both LIBXC1 and LIBXC2 are specified and correspond to exchange and correlation functionals, respectively.
- Only LIBXC1 is specified and corresponds to an exchange or exchange-correlation functional. Note also that if LIBXC1 is an exchange-correlation functional, then LIBXC2 can not be used.
- LIBXC1 and LIBXC2 can correspond to functionals of different families, e.g., a meta-GGA and a GGA, respectively.
Regarding other tags in INCAR related to Libxc:
- One also has to specify GGA = LIBXC for LDA, GGA and GGA-based hybrid functionals or METAGGA = LIBXC for meta-GGA functionals (calculations with meta-GGA-based hybrid functionals are not yet possible with VASP). Note that METAGGA = LIBXC has to be used if
- Many of the functionals implemented in Libxc have parameters that can be modified. This can be done via the tags LIBXC1_Pn and LIBXC2_Pn, where .
- The tag LTBOUNDLIBXC, which is .FALSE. by default, allows to enforce the lower bound on the kinetic-energy density () with before is used in a meta-GGA functional from Libxc.
For calculations with hybrid functionals (i.e., when LHFCALC = .TRUE.), the following provides some explanations:
- The Libxc functionals whose tag starts with HYB_LDA_XC, HYB_GGA_XC or HYB_MGGA_XC (not yet usable with VASP) consist directly of the whole (XC) semilocal component of a hybrid functional. For these functionals AGGAX, AGGAC and ALDAC can not be used (more informations on how to modify the mixing and screening parameters can be found here LIBXC1_Pn).
- The Libxc functionals whose tag starts with HYB_GGA_X or HYB_MGGA_X (not yet usable with VASP) consist of the exchange semilocal component of a hybrid functional. For these functionals AGGAX can not be used (more informations on how to modify the mixing and screening parameters can be found here LIBXC1_Pn).
- If the semilocal component of the hybrid functional is constructed using Libxc functionals that do not contain HYB in the tag, then (1-AEXX), AGGAX, ALDAC and AGGAC will be used and multiply
- respectively, where and .
Examples of how to specify a Libxc functional in INCAR are given below for the GGA PBE[5], meta-GGA SCAN[6] and hybrid PBEh (PBE0)[7] functionals.
- PBE
GGA = LIBXC LIBXC1 = 101 LIBXC2 = 130
or
GGA = LIBXC LIBXC1 = GGA_X_PBE LIBXC2 = GGA_C_PBE
- SCAN
METAGGA = LIBXC LIBXC1 = 263 LIBXC2 = 267
or
METAGGA = LIBXC LIBXC1 = MGGA_X_SCAN LIBXC2 = MGGA_C_SCAN
- PBEh (PBE0)
LHFCALC = .TRUE. AEXX = 0.25 GGA = LIBXC LIBXC1 = 406
or
LHFCALC = .TRUE. AEXX = 0.25 GGA = LIBXC LIBXC1 = HYB_GGA_XC_PBEH
Related Tags and Sections
LIBXC2, LIBXC1_Pn, LIBXC2_Pn, LTBOUNDLIBXC, GGA, METAGGA, LHFCALC, AEXX, AGGAX, AGGAC, ALDAC, hybrid functionals, settings for specific hybrid functionals
References
- ↑ M. A. L. Marques, M. J. T. Oliveira, and T. Burnus, Comput. Phys. Commun., 183, 2272 (2012).
- ↑ S. Lehtola, C. Steigemann, M. J. T. Oliveira, and M. A. L. Marques, SoftwareX, 7, 1 (2018).
- ↑ a b https://libxc.gitlab.io
- ↑ https://libxc.gitlab.io/functionals/
- ↑ J. P. Perdew, K. Burke, and M. Ernzerhof, Phys. Rev. Lett., 77, 3865 (1996).
- ↑ J. Sun, A. Ruzsinszky, and J. P. Perdew, Phys. Rev. Lett. 115, 036402 (2015).
- ↑ C. Adamo and V. Barone, Phys. Rev. Lett., 110, 6158 (1999).