Libxc is a library of exchange-correlation functionals for density-functional theory. The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals that can be used by all the DFT codes.
In Libxc you can find different types of functionals: LDA, GGA, hybrids, and mGGA (experimental). These functionals depend on local information, in the sense that the value of the potential at a given point depends only on the values of the density -- and the gradient of the density and the kinetic energy density, for the GGA and mGGA cases -- at a given point:
It can calculate the functional itself and its derivative. Higher-order derivatives are available for some functionals.
The library is described in detail in the following paper.
Libxc is written in C, so a C compiler is required. The library also provides an optional Fortran 90 interface, so a Fortran compiler must be available if one wishes to compile it. Note that because of the idiosyncrasies of the Fortran modules, you need to use the same Fortran compiler for Libxc and for the codes that are going to link against it.
Download the latest stable release from the download page, untar it, and then enter the root directory of the package:
$ tar xzf libxc-2.2.0.tar.gz $ cd libxc-2.2.0
Libxc uses the autotools, therefore one just needs to follow the standard procedure to compile it:
$ ./configure $ make $ make install
configure script has several options to fine tune the details of the compilation and installation. To get a comprehensive list of the available options, just type:
$ ./configure --help
The library contains a testsuite that can be used to check the compilation and to perform regression testing. It can be executed by doing:
$ make check
A complete list of routines and types provided by the library can be found in the Doxygen documentation: