LIBXC1: Difference between revisions

From VASP Wiki
No edit summary
No edit summary
Line 8: Line 8:


Libxc is a separate program that has to be downloaded{{cite|libxc}} and compiled before VASP is compiled with the corresponding [[Precompiler_flags|precompiler flag]] and [[Installing_VASP.6.X.X|options]].
Libxc is a separate program that has to be downloaded{{cite|libxc}} and compiled before VASP is compiled with the corresponding [[Precompiler_flags|precompiler flag]] and [[Installing_VASP.6.X.X|options]].
{{NB|important|To get correct results with meta-GGA functionals (see discussion at {{TAG|LTBOUNDLIBXC}}), it is necessary to use Libxc from version 5.2.0 onwards (or the master version) and to compile it with the option <code>--disable-fhc</code> as explained [[Installing_VASP.6.X.X#For_Libxc_.28optional.29|on the installation page]].}}
{{NB|important|To get correct results with meta-GGA functionals (see discussion at {{TAG|LTBOUNDLIBXC}}), it is necessary to use Libxc from version 5.2.0 onwards (or the master version) and to compile it with the option <code>--disable-fhc</code> as explained [[Makefile.include#Libxc_.28optional.29|on the installation page]].}}


The allowed possibilities for {{TAG|LIBXC1}} and {{TAG|LIBXC2}} are the following:
The allowed possibilities for {{TAG|LIBXC1}} and {{TAG|LIBXC2}} are the following:

Revision as of 15:46, 20 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 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 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: 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) and to compile it with the option --disable-fhc 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 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 (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


Examples that use this tag

References