Change Log

[7.0.0] - 2024-10-09

This release introduces 23 new functionals, and fixes correctness issues in 5 functionals included in earlier releases.

Importantly, the release introduces the XC_FLAGS_NEEDS_TAU flag for meta-GGAs, and moves the control of the enforcement of the Fermi hole curvature to a runtime option, controlled by the XC_FLAGS_ENFORCE_FHC flag. If Libxc is compiled with the –disable-fhc flag, XC_FLAGS_ENFORCE_FHC defaults to false, and the library works exactly as before. The function xc_func_set_fhc_enforcement() was added to control the enforcement of the Fermi hole curvature. Thanks to these changes, long standing issues with support for codes relying on the projector augmented wave (PAW) approach have been resolved.

In addition, functionals' parameter values are now persistent. In previous versions, where calling e.g. xc_func_set_ext_params_name() would set the named parameter to the desired value - and all other parameters to their default values. Starting from Libxc 7.0.0, the other parameter values remain at their earlier values.

The duplicate copy of libxcf03 under the name libxcf90, introduced to temporarily work around an erroneus change made in Libxc 5.0.0 has been removed. Libxc 5.0.0 renamed the Fortran 2003 interface library libxcf03 to libxcf90, even though a different library called libxcf90 which predated iso_c_binding existed before in Libxc. The Fortran 2003 interface libxcf03 has been available in Libxc at least since version 3.0.0, and was only briefly removed in Libxc 5.0.0, which also had other severe bugs that led to incorrect results. Any codes using libxcf90 while assuming the Fortran 2003 API should be rewritten to use libxcf03 instead, since unlike libxcf90 which had a different API in older versions of Libxc, the API of libxcf03 has been stable for at least 8 years.

Another change to the Fortran interface is that the list of functionals has been split off into a separate module, xc_f03_funcs_m, in analogy to the C headers. Functional names should not be hardcoded in downstream codes; functional IDs should be parsed from human readable keywords like GGA_X_PBE by functionality included in Libxc (xc_functional_get_number() function). Similarly, e.g. hybrid functional coefficients should also not be hardcoded downstream, as these can be queried from Libxc.

Fixed

Added

[6.2.2] - 2023-06-14

Hotfix to fix the dimension of some of the fourth derivative arrays.

Fixed

[6.2.1] - 2023-06-13

Hotfix to disable use of host-specific instructions by default in CMake.

Fixed

[6.2.0] - 2023-05-26

This is again a bugfix release, which also adds some functionals.

Fixed

Added

[6.1.0] - 2023-01-10

This is a bugfix release, which also adds some functionals.

Fixed

Added

Removed

[6.0.0] - 2022-10-14

This release changes the internal handling of derivatives in Libxc. Instead of the previous code where the same driver was used to evaluate all derivatives (controlled by an if statement in the innermost loop), in this version specialized versions of the Maple kernels are generated for all targeted numbers of derivatives as well as spin-polarized vs spin-unpolarized calculations. Moreover, array access has been improved, resulting in significant speedups on GPUs.

Fixed

Added

[5.2.3] - 2022-05-16

Fixed

[5.2.2] - 2022-02-01

Fixed

[5.2.1] - 2022-01-31

Fixed

[5.2.0] - 2022-01-21

Fixed

Added

[5.1.7] - 2021-10-25

Fixed

Added

[5.1.6] - 2021-09-07

Fixed

Added

[5.1.5] - 2021-06-10

Fixed

Added

[5.1.4] - 2021-05-10

Fixed

Added

[5.1.3] - 2021-03-30

Fixed

[5.1.2] - 2021-02-12

Fixed

[5.1.1] - 2021-02-09

Added

Fixed

[5.1.0] - 2021-01-19

Added

Fixed

Changed

Removed

[5.0.0] - 2020-04-06

Added

Changed

Fixed

Removed

[4.3.4] - 2019-03-04

Fixed

Changed

[4.3.3] - 2019-02-11

Fixed

[4.3.2] - 2019-02-07

Fixed

Changed

[4.3.1] - 2019-02-05

Fixed

[4.3.0] - 2019-01-30

Added

Fixed

Deprecated

[4.2.3] - 2018-07-02

Added

Fixed

[4.2.2] - 2018-06-25

Added

[4.2.1] - 2018-06-06

Added

[4.2.0] - 2018-06-04

Added

[4.1.1] - 2018-05-08

Fixed

[4.1.0] - 2018-05-07

Added

Changed

Fixed

[4.0.5] - 2018-05-04

Fixed

Changed

[4.0.4] - 2018-01-17

Fixed

[4.0.3] - 2017-11-20

Fixed

Added

[3.0.1] - 2017-11-20

Fixed

Added

[4.0.2] - 2017-11-03

Fixed

[4.0.1] - 2017-09-28

Added

Removed

Fixed

[4.0.0] - 2017-09-24

Added

Changed

Removed

Fixed

[3.0.0] - 2016-04-21

Added

Changed

Removed

Fixed

[2.1.3] and [2.2.3] - 2016-04-21

Fixed

[2.1.2] and [2.2.2] - 2015-02-19

Fixed

[2.1.1] and [2.2.1] - 2014-10-30

Fixed

[2.2.0] - 2014-03-21

Changed

[2.1.0] - 2014-03-21

Added

Changed

[2.0.3] - 2014-02-18

Fixed

[2.0.2] - 2013-07-10

Fixed

[2.0.1] - 2013-01-21

Fixed

[2.0.0] - 2012-11-28

Added

Changed

Fixed

[1.2.0] - 2012-03-22

Added

Changed

Removed

Fixed

[1.1.0] - 2011-05-12

Added

Fixed

[1.0.0] - 2010-07-09

Added