LIBXC1: Difference between revisions
No edit summary |
No edit summary |
||
Line 23: | Line 23: | ||
For calculations with hybrid functionals (i.e., when {{TAG|LHFCALC}} = .TRUE.), the following provides some explanations: | For calculations with hybrid functionals (i.e., when {{TAG|LHFCALC}} = .TRUE.), the following provides some explanations: | ||
*The Libxc functionals whose tag starts with HYB_LDA_XC, HYB_GGA_XC or HYB_MGGA_XC consist directly of the whole (XC) semilocal component of a hybrid functional. For these functionals {{TAG| | *The Libxc functionals whose tag starts with HYB_LDA_XC, HYB_GGA_XC or HYB_MGGA_XC consist directly of the whole (XC) semilocal component of a hybrid functional. For these functionals {{TAG|ALDAX}}, {{TAG|ALDAC}}, {{TAG|AGGAX}}, and {{TAG|AGGAC}} can not be used (more information on how to modify the mixing and screening parameters can be found here {{TAG|LIBXC1_Pn}}). | ||
*The Libxc functionals whose tag starts with HYB_GGA_X or HYB_MGGA_X consist of the exchange semilocal component of a hybrid functional. For these functionals {{TAG|AGGAX}} can not be used (more informations on how to modify the mixing and screening parameters can be found here {{TAG|LIBXC1_Pn}}). | *The Libxc functionals whose tag starts with HYB_GGA_X or HYB_MGGA_X consist of the exchange semilocal component of a hybrid functional. For these functionals {{TAG|AGGAX}} can not be used (more informations on how to modify the mixing and screening parameters can be found here {{TAG|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-{{TAG|AEXX}}), {{TAG|AGGAX}}, {{TAG|ALDAC}} and {{TAG|AGGAC}} will be used and multiply | *If the semilocal component of the hybrid functional is constructed using Libxc functionals that do not contain HYB in the tag, then (1-{{TAG|AEXX}}), {{TAG|AGGAX}}, {{TAG|ALDAC}} and {{TAG|AGGAC}} will be used and multiply |
Revision as of 14:45, 17 February 2023
LIBXC1 = [string] or [integer]
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 for 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 tag and number (e.g., GGA_X_PBE and 101 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 and meta-GGA-based hybrid functionals are possible since VASP.6.4.0.
Libxc is a separate program that has to be downloaded[3] and compiled before VASP is compiled with the corresponding precompiler options and links to the libraries.
Important: To get correct results with meta-GGA functionals (see discussion at LTBOUNDLIBXC), it is necessary to use Libxc from version 5.2.0 onwards (or the master version for the latest implemented functionals) and to compile it with the option --disable-fhc as explained here.
|
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 and meta-GGA-based hybrid functionals. Note that if one of the tags (LIBXC1 or LIBXC2 ) corresponds to a meta-GGA, while the other corresponds to a GGA or LDA, then METAGGA = LIBXC (and not GGA = LIBXC) has to be specified.
- 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 consist directly of the whole (XC) semilocal component of a hybrid functional. For these functionals ALDAX, ALDAC, AGGAX, and AGGAC can not be used (more information 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 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 articles
LIBXC2, LIBXC1_Pn, LIBXC2_Pn, LTBOUNDLIBXC, GGA, METAGGA, LHFCALC, AEXX, AGGAX, AGGAC, ALDAC, List of 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).