|
|
| (32 intermediate revisions by 3 users not shown) |
| Line 1: |
Line 1: |
| {{DISPLAYTITLE:LIBMBD_METHOD}} | | {{DISPLAYTITLE:LIBMBD_METHOD}} |
| {{TAGDEF|LIBMBD_METHOD|[string]}} | | {{TAGDEF|LIBMBD_METHOD|[string]|mbd-rsscs (default in libMBD)}} |
|
| |
|
| Description: {{TAG|LIBMBD_METHOD}} selects the van der Waals methods vailable in the linMBD libraryp ecifies the exchange or exchange-correlation functional from the library of exchange-correlation functionals Libxc{{cite|libmbd_1}}{{cite|libmbd_2}}{{cite|lhermann:jcp:2023}}. | | Description: {{TAG|LIBMBD_METHOD}} selects one of the methods available in the library libMBD of many-body dispersion methods{{cite|libmbd_1}}{{cite|libmbd_2}}{{cite|hermann:jcp:2023}}. Only used when {{TAGO|IVDW|14}}. |
| ---- | | ---- |
| {{NB|important| This feature is available from VASP.6.3.0 onwards that needs to be compiled with [[Precompiler_options#-DUSELIBXC|-DUSELIBXC]].}}
| | {{TAG|LIBMBD_METHOD}} can be set to a label (string) corresponding to one of the methods listed on the libMBD website (see '''method''' at the page {{cite|libmbd_input}}). |
| {{TAG|LIBXC1}} and {{TAG|LIBXC2}} can be set to a label (string) or number (integer) associated with a functional listed on the Libxc website{{cite|libxc_list}}, e.g., <code>GGA_X_PBE</code> and <code>101</code> for PBE exchange. The label indicates if this is an exchange (X), correlation (C), or exchange-correlation (XC) functional, and which family it belongs to, namely LDA (LDA or HYB_LDA), GGA (GGA or HYB_GGA) or meta-GGA (MGGA or HYB_MGGA). If {{TAG|LIBXC1}} corresponds to an exchange functional, then it can be used in combination with {{TAG|LIBXC2}} for the correlation functional.
| | {{NB|mind| Note that the use of the mbd-nl method{{cite|hermann:prl:2020}} is currently not possible, since the associated atomic polarizabilities and semilocal functional are currently not implemented in VASP.}} |
| | | {{NB|important| This feature is available from VASP.6.4.3 onwards that needs to be compiled with [[Precompiler_options#-DLIBMBD|-DLIBMBD]].}} |
| Libxc is a separate library package that has to be downloaded{{cite|libxc}} and compiled before VASP is compiled with the corresponding [[Precompiler_options#-DUSELIBXC|precompiler options]] and [[Makefile.include#Libxc_.28optional.29|links to the libraries]].
| | {{NB|warning| |
| | | *There is a severe bug in VASP.6.5.1 and previous versions: during a geometry relaxation, the new atomic positions and cell parameters are not passed to libMBD. See [[Known issues|known issues]] for a patch. |
| Calculations with Laplacian-dependent meta-GGA functionals and meta-GGA-based hybrid functionals are possible since VASP.6.4.0.
| | *It is recommended to compile libMBD without ScaLAPACK/MPI, otherwise nudged elastic bands (NEB) calculations will not run properly and produce wrong results.}} |
| {{NB|warning|Do not use the Libxc functionals that are hybrid-MGGA-exchange-only, i.e., those whose label starts with HYB_MGGA_X, since the results will be wrong.}}
| | libMBD is a separate library package that has to be downloaded{{cite|libmbd_2}} and compiled before VASP is compiled with the corresponding [[Precompiler_options#-DLIBMBD|precompiler options]] and [[Makefile.include#LIBMBD_.28optional.29|links to the libraries]]. |
| {{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 for the latest implemented functionals) and to [[Makefile.include#Libxc_.28optional.29|compile it with the option <code>--disable-fhc</code>]].}} | |
| | |
| == How to ==
| |
| | |
| The allowed possibilities for {{TAG|LIBXC1}} and {{TAG|LIBXC2}} are the following:
| |
| *Both {{TAGDEF|LIBXC1}} and {{TAG|LIBXC2}} are specified and correspond to exchange and correlation functionals, respectively. | |
| *Only {{TAGDEF|LIBXC1}} is specified and corresponds to an exchange or exchange-correlation functional. {{NB|warning|If {{TAGDEF|LIBXC1}} is an exchange-correlation functional, then {{TAGDEF|LIBXC2}} can not be used.|:}}
| |
| *{{TAGDEF|LIBXC1}} and {{TAG|LIBXC2}} can correspond to functionals of different families, e.g., a meta-GGA and a GGA, respectively.
| |
| | |
| 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 and meta-GGA-based hybrid functionals. Note that if one of the tags ({{TAGDEF|LIBXC1}} or {{TAGDEF|LIBXC2}}) corresponds to a meta-GGA, while the other corresponds to a GGA or LDA, then {{TAG|METAGGA}} = LIBXC (and not {{TAG|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 {{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. | |
| | |
| For calculations with hybrid functionals ({{TAG|LHFCALC}}=True), the following provides some explanations:
| |
| *The Libxc functionals whose tag starts with HYB already include the mixing parameter. Therefore, for them, the {{TAG|ALDAX}}, {{TAG|ALDAC}}, {{TAG|AGGAX}}, {{TAG|AGGAC}}, {{TAG|AMGGAX}}, and {{TAG|AMGGAC}} tags can not be used (more information on how to modify the mixing and screening parameters can be found at {{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 {{TAG|ALDAX}}, {{TAG|AGGAX}}, {{TAG|ALDAC}}, and {{TAG|AGGAC}} will be used and multiply
| |
| :<math>E_{\mathrm{x}}^{\mathrm{LDA}}=\int\epsilon_{\mathrm{x}}^{\mathrm{LDA}}(n)d^{3}r</math>
| |
| :<math>\Delta E_{\mathrm{x}}^{\mathrm{GGA}}=\int\left(\epsilon_{\mathrm{x}}^{\mathrm{GGA}}(n,\nabla n) - \epsilon_{\mathrm{x}}^{\mathrm{LDA}}(n)\right)d^{3}r</math>
| |
| :<math>E_{\mathrm{c}}^{\mathrm{LDA}}=\int\epsilon_{\mathrm{c}}^{\mathrm{LDA}}(n)d^{3}r</math>
| |
| :<math>\Delta E_{\mathrm{c}}^{\mathrm{GGA}}=\int\left(\epsilon_{\mathrm{c}}^{\mathrm{GGA}}(n,\nabla n) - \epsilon_{\mathrm{c}}^{\mathrm{LDA}}(n)\right)d^{3}r</math>
| |
| :respectively, where <math>\epsilon_{\mathrm{x}}^{\mathrm{LDA}}(n)=-\left(3/4\right)\left(3/\pi\right)^{1/3}n^{4/3}</math> and <math>\epsilon_{\mathrm{c}}^{\mathrm{LDA}}(n)=\epsilon_{\mathrm{c}}^{\mathrm{GGA}}(n,\nabla n=0)</math>.
| |
| | |
| == Examples of {{FILE|INCAR}} ==
| |
| | |
| *PBE{{cite|perdew:prl:1996}}
| |
| {{TAG|GGA}} = LIBXC
| |
| {{TAG|LIBXC1}} = GGA_X_PBE # or 101
| |
| {{TAG|LIBXC2}} = GGA_C_PBE # or 130
| |
| | |
| *SCAN{{cite|sun:prl:15}}
| |
| {{TAG|METAGGA}} = LIBXC
| |
| {{TAG|LIBXC1}} = MGGA_X_SCAN # or 263
| |
| {{TAG|LIBXC2}} = MGGA_C_SCAN # or 267
| |
| | |
| *PBEh (PBE0){{cite|adamo:jcp:1999}}
| |
| {{TAG|LHFCALC}} = .TRUE.
| |
| {{TAG|AEXX}} = 0.25
| |
| {{TAG|GGA}} = LIBXC
| |
| {{TAG|LIBXC1}} = HYB_GGA_XC_PBEH # or 406
| |
| | |
| *SCAN0
| |
| {{TAG|LHFCALC}} = .TRUE.
| |
| {{TAG|AEXX}} = 0.25
| |
| {{TAG|METAGGA}} = LIBXC
| |
| {{TAG|LIBXC1}} = MGGA_X_SCAN # or 263
| |
| {{TAG|LIBXC1}} = MGGA_C_SCAN # or 267
| |
|
| |
|
| == Related tags and articles == | | == Related tags and articles == |
| {{TAG|LIBXC2}}, | | {{TAG|LIBMBD_XC}}, |
| {{TAG|LIBXC1_Pn}}, | | {{TAG|LIBMBD_TS_D}}, |
| {{TAG|LIBXC2_Pn}}, | | {{TAG|LIBMBD_TS_SR}}, |
| {{TAG|LTBOUNDLIBXC}}, | | {{TAG|LIBMBD_MBD_A}}, |
| {{TAG|GGA}}, | | {{TAG|LIBMBD_MBD_BETA}}, |
| {{TAG|METAGGA}}, | | {{TAG|LIBMBD_VDW_PARAMS_KIND}}, |
| {{TAG|LHFCALC}}, | | {{TAG|LIBMBD_ALPHA}}, |
| {{TAG|AEXX}}, | | {{TAG|LIBMBD_C6AU}}, |
| {{TAG|ALDAX}}, | | {{TAG|LIBMBD_R0AU}}, |
| {{TAG|ALDAC}}, | | {{TAG|LIBMBD_N_OMEGA_GRID}}, |
| {{TAG|AGGAX}}, | | {{TAG|LIBMBD_K_GRID}}, |
| {{TAG|AGGAC}}, | | {{TAG|LIBMBD_K_GRID_SHIFT}}, |
| {{TAG|AMGGAX}}, | | {{TAG|LIBMBD_PARALLEL_MODE}}, |
| {{TAG|AMGGAC}},
| | [[Tkatchenko-Scheffler_method|Tkatchenko-Scheffler method]], |
| [[list_of_hybrid_functionals|List of hybrid functionals]] | | [[Many-body dispersion energy|Many-body dispersion energy]] |
|
| |
|
| {{sc|LIBXC1|Examples|Examples that use this tag}} | | {{sc|LIBMBD_METHOD|Examples|Examples that use this tag}} |
|
| |
|
| == References == | | == References == |
| Line 82: |
Line 35: |
|
| |
|
| ---- | | ---- |
| [[Category:INCAR tag]][[Category:Exchange-correlation functionals]][[Category:GGA]][[Category:meta-GGA]][[Category:Hybrid_functionals]] | | [[Category:INCAR tag]][[Category:Exchange-correlation functionals]][[Category:van der Waals functionals]] |
LIBMBD_METHOD = [string]
Default: LIBMBD_METHOD = mbd-rsscs (default in libMBD)
Description: LIBMBD_METHOD selects one of the methods available in the library libMBD of many-body dispersion methods[1][2][3]. Only used when IVDW = 14.
LIBMBD_METHOD can be set to a label (string) corresponding to one of the methods listed on the libMBD website (see method at the page [4]).
| Mind: Note that the use of the mbd-nl method[5] is currently not possible, since the associated atomic polarizabilities and semilocal functional are currently not implemented in VASP.
|
| Important: This feature is available from VASP.6.4.3 onwards that needs to be compiled with -DLIBMBD.
|
Warning:
- There is a severe bug in VASP.6.5.1 and previous versions: during a geometry relaxation, the new atomic positions and cell parameters are not passed to libMBD. See known issues for a patch.
- It is recommended to compile libMBD without ScaLAPACK/MPI, otherwise nudged elastic bands (NEB) calculations will not run properly and produce wrong results.
|
libMBD is a separate library package that has to be downloaded[2] and compiled before VASP is compiled with the corresponding precompiler options and links to the libraries.
Related tags and articles
LIBMBD_XC,
LIBMBD_TS_D,
LIBMBD_TS_SR,
LIBMBD_MBD_A,
LIBMBD_MBD_BETA,
LIBMBD_VDW_PARAMS_KIND,
LIBMBD_ALPHA,
LIBMBD_C6AU,
LIBMBD_R0AU,
LIBMBD_N_OMEGA_GRID,
LIBMBD_K_GRID,
LIBMBD_K_GRID_SHIFT,
LIBMBD_PARALLEL_MODE,
Tkatchenko-Scheffler method,
Many-body dispersion energy
Examples that use this tag
References
- ↑ https://libmbd.github.io/
- ↑ a b https://github.com/libmbd/
- ↑ J. Hermann, M. Stöhr, S. Góger, S. Chaudhuri, B. Aradi, R. J. Maurer, and A. Tkatchenko, libMBD: A general-purpose package for scalable quantum many-body dispersion calculations, J. Chem. Phys. 159, 174802 (2023).
- ↑ https://libmbd.github.io/type/mbd_input_t.html
- ↑ J. Hermann and A. Tkatchenko, Density Functional Model for van der Waals Interactions: Unifying Many-Body Atomic Approaches with Nonlocal Functionals, Phys. Rev. Lett. 124, 146401 (2020).