From OctopusWiki
Revision as of 11:42, 18 April 2012 by Tobias (talk | contribs) (Add JDFTx as new code user)
Jump to: navigation, search

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 ETSF codes and also other codes.

In libxc you can find different types of functionals: LDA, GGA, hybrids, mGGA (experimental) and LCA (not working). 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, or the vorticity for LCA -- at a given point:

  E^{\rm LDA}_{\rm xc}(\vec{r}) = E^{\rm LDA}_{\rm xc}[n(\vec{r})]\,,

  E^{\rm GGA}_{\rm xc}(\vec{r}) = E^{\rm GGA}_{\rm xc}[n(\vec{r}), \vec{\nabla}n(\vec{r})]\,,

  E^{\rm Hyb}_{\rm xc}(\vec{r}) = a_x E^{\rm EXX} + E^{\rm GGA}_{\rm xc}[n(\vec{r}), \vec{\nabla}n(\vec{r})]\,,

  E^{\rm mGGA}_{\rm xc}(\vec{r}) = E^{\rm mGGA}_{\rm xc}[n(\vec{r}), \vec{\nabla}n(\vec{r}), \nabla^2 n(\vec{r}), \tau(\vec{r})]\,,

  E^{\rm LCA}_{\rm xc}(\vec{r}) = E^{\rm LCA}_{\rm xc}[n(\vec{r}), \vec{\nu}(\vec{r})]\,.

It can calculate the functional itself and its derivative; for some functionals, higher-order derivatives are available.

Libxc is written in C and has Fortran bindings. It is released under the LGPL license (v. 3.0). Contributions are welcome.

At the moment, Libxc is used in the following codes (in alphabetical order):

  • Abinit – plane-wave code
  • APE – an atomic code
  • Atomistix ToolKit – numerical orbitals code
  • AtomPAW – projector augmented wave functions generator
  • BigDFT – wavelet code
  • DP – Dielectric Properties, a linear response TDDFT code
  • Elk – FP-LAPW code
  • ERKALE – a DFT/HF molecular electronic structure code based on Gaussian orbitals
  • exciting – FP-LAPW code
  • GPAW – grid-based projector-augmented wave method
  • JDFTx – plane-wave code designed for Joint Density Functional Theory
  • octopus – real-space (TD)DFT code
  • Yambo – solid state and molecular physics many-body calculations code

To cite Libxc,you can use the following reference

  • Miguel A. L. Marques, Micael J. T. Oliveira and Tobias Burnus, Libxc: a library of exchange and correlation functionals for density functional theory, arXiv:1203.1739 (2012).