Dear VASP Forum Members,
I've noticed the correct procedure for compiling the Libxc library for use with VASP here. I have encountered the option `--disable-fhc` in the compilation instructions, which as described, is used to "do not enforce Fermi hole curvature". I would appreciate some insight on the following questions:
1. Why should we disable the Fermi hole curvature feature for Libxc when compiling it for use with VASP?
2. What are the implications of disabling this feature in terms of computational accuracy and performance?
Additionally, if any resources or documentation available can provide more detailed information regarding this topic, I would be grateful if you could point me toward them.
I currently use VASP.6.4.2 and intend to compile Libxc from source for my computational projects. Any advice or recommendations you could provide would be greatly appreciated.
Thank you for your time and assistance.
Best regards,
Zhao
Inquiry about Libxc compilation with VASP.
Moderators: Global Moderator, Moderator
-
- Full Member
- Posts: 189
- Joined: Tue Oct 13, 2020 11:32 pm
-
- Global Moderator
- Posts: 314
- Joined: Mon Sep 13, 2021 12:45 pm
Re: Inquiry about Libxc compilation with VASP.
Dear Zhao,
Enforcing the Fermi hole curvature would break the consistency between the total energy and its derivatives. In particular, the forces and stress tensor would be very inaccurate with MGGA functionals (this is mentioned at LTBOUNDLIBXC). Therefore, it was chosen to make mandatory the compilation of Libxc with --disable-fhc. And it is not recommended to set LTBOUNDLIBXC=.TRUE.
This has no influence on the computational time.
Enforcing the Fermi hole curvature would break the consistency between the total energy and its derivatives. In particular, the forces and stress tensor would be very inaccurate with MGGA functionals (this is mentioned at LTBOUNDLIBXC). Therefore, it was chosen to make mandatory the compilation of Libxc with --disable-fhc. And it is not recommended to set LTBOUNDLIBXC=.TRUE.
This has no influence on the computational time.
-
- Full Member
- Posts: 189
- Joined: Tue Oct 13, 2020 11:32 pm
Re: Inquiry about Libxc compilation with VASP.
Does this situation also have similar effects on other DFT codes, including but not limited to just plane wave ones, such as SIESTA (which uses atomic orbitals), CASTEP, QE/PWSCF, etc.?
See here for the related discussion.
Regards,
Zhao
See here for the related discussion.
Regards,
Zhao
-
- Global Moderator
- Posts: 419
- Joined: Mon Sep 13, 2021 11:02 am
Re: Inquiry about Libxc compilation with VASP.
Hi,
In VASP (that uses the PAW method), the violation of the lower bound mentioned at LTBOUNDLIBXC is mainly due to the way the electron density is calculated inside the PAW spheres. In DFT codes that are based on a pure plane-wave method, this violation of the lower bound should in principle not occur. In all-electron DFT codes, a violation of the lower bound may not be excluded in the core region where the relativistic effects are strong (as far as I know the lower bound was proved only in a non-relativistic framework).
A violation of the lower bound may lead to severe numerical problems (e.g., a negative value under a square root) depending on the functional, and enforcing the lower bound is the way to avoid such problems. However, enforcing the lower bound may break the consistency between energy and potential and lead to very inaccurate forces and stress tensor (according to tests that I have done).
In VASP (that uses the PAW method), the violation of the lower bound mentioned at LTBOUNDLIBXC is mainly due to the way the electron density is calculated inside the PAW spheres. In DFT codes that are based on a pure plane-wave method, this violation of the lower bound should in principle not occur. In all-electron DFT codes, a violation of the lower bound may not be excluded in the core region where the relativistic effects are strong (as far as I know the lower bound was proved only in a non-relativistic framework).
A violation of the lower bound may lead to severe numerical problems (e.g., a negative value under a square root) depending on the functional, and enforcing the lower bound is the way to avoid such problems. However, enforcing the lower bound may break the consistency between energy and potential and lead to very inaccurate forces and stress tensor (according to tests that I have done).