Libxc - a library of exchange and correlation functionals - TDDFT.org
Libxc - a library of exchange and correlation functionals - TDDFT.org
Libxc - a library of exchange and correlation functionals - TDDFT.org
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>Libxc</strong><br />
a <strong>library</strong> <strong>of</strong> <strong>exchange</strong> <strong>and</strong> <strong>correlation</strong> <strong>functionals</strong><br />
Miguel A. L. Marques<br />
1 LPMCN, Université Claude Bernard Lyon 1 <strong>and</strong> CNRS, France<br />
2 European Theoretical Spectroscopy Facility<br />
Octopus Workshop<br />
M. A. L. Marques <strong>Libxc</strong>
Why the need for libxc<br />
The xc functional is at the heart <strong>of</strong> DFT<br />
There are many approximations for the xc (probably <strong>of</strong> the<br />
order <strong>of</strong> 250–300)<br />
Most computer codes only include a very limited quantity<br />
<strong>of</strong> <strong>functionals</strong>, typically around 10–15<br />
Chemist <strong>and</strong> Physicists do not use the same <strong>functionals</strong>!<br />
Difficult to reproduce older calculations with older<br />
<strong>functionals</strong><br />
Difficult to reproduce calculations performed with other<br />
codes<br />
Difficult to perform calculations with the newest <strong>functionals</strong><br />
M. A. L. Marques <strong>Libxc</strong>
Why the need for libxc<br />
The xc functional is at the heart <strong>of</strong> DFT<br />
There are many approximations for the xc (probably <strong>of</strong> the<br />
order <strong>of</strong> 250–300)<br />
Most computer codes only include a very limited quantity<br />
<strong>of</strong> <strong>functionals</strong>, typically around 10–15<br />
Chemist <strong>and</strong> Physicists do not use the same <strong>functionals</strong>!<br />
Difficult to reproduce older calculations with older<br />
<strong>functionals</strong><br />
Difficult to reproduce calculations performed with other<br />
codes<br />
Difficult to perform calculations with the newest <strong>functionals</strong><br />
M. A. L. Marques <strong>Libxc</strong>
Why the need for libxc<br />
The xc functional is at the heart <strong>of</strong> DFT<br />
There are many approximations for the xc (probably <strong>of</strong> the<br />
order <strong>of</strong> 250–300)<br />
Most computer codes only include a very limited quantity<br />
<strong>of</strong> <strong>functionals</strong>, typically around 10–15<br />
Chemist <strong>and</strong> Physicists do not use the same <strong>functionals</strong>!<br />
Difficult to reproduce older calculations with older<br />
<strong>functionals</strong><br />
Difficult to reproduce calculations performed with other<br />
codes<br />
Difficult to perform calculations with the newest <strong>functionals</strong><br />
M. A. L. Marques <strong>Libxc</strong>
Why the need for libxc<br />
The xc functional is at the heart <strong>of</strong> DFT<br />
There are many approximations for the xc (probably <strong>of</strong> the<br />
order <strong>of</strong> 250–300)<br />
Most computer codes only include a very limited quantity<br />
<strong>of</strong> <strong>functionals</strong>, typically around 10–15<br />
Chemist <strong>and</strong> Physicists do not use the same <strong>functionals</strong>!<br />
Difficult to reproduce older calculations with older<br />
<strong>functionals</strong><br />
Difficult to reproduce calculations performed with other<br />
codes<br />
Difficult to perform calculations with the newest <strong>functionals</strong><br />
M. A. L. Marques <strong>Libxc</strong>
Why the need for libxc<br />
The xc functional is at the heart <strong>of</strong> DFT<br />
There are many approximations for the xc (probably <strong>of</strong> the<br />
order <strong>of</strong> 250–300)<br />
Most computer codes only include a very limited quantity<br />
<strong>of</strong> <strong>functionals</strong>, typically around 10–15<br />
Chemist <strong>and</strong> Physicists do not use the same <strong>functionals</strong>!<br />
Difficult to reproduce older calculations with older<br />
<strong>functionals</strong><br />
Difficult to reproduce calculations performed with other<br />
codes<br />
Difficult to perform calculations with the newest <strong>functionals</strong><br />
M. A. L. Marques <strong>Libxc</strong>
Why the need for libxc<br />
The xc functional is at the heart <strong>of</strong> DFT<br />
There are many approximations for the xc (probably <strong>of</strong> the<br />
order <strong>of</strong> 250–300)<br />
Most computer codes only include a very limited quantity<br />
<strong>of</strong> <strong>functionals</strong>, typically around 10–15<br />
Chemist <strong>and</strong> Physicists do not use the same <strong>functionals</strong>!<br />
Difficult to reproduce older calculations with older<br />
<strong>functionals</strong><br />
Difficult to reproduce calculations performed with other<br />
codes<br />
Difficult to perform calculations with the newest <strong>functionals</strong><br />
M. A. L. Marques <strong>Libxc</strong>
Why the need for libxc<br />
The xc functional is at the heart <strong>of</strong> DFT<br />
There are many approximations for the xc (probably <strong>of</strong> the<br />
order <strong>of</strong> 250–300)<br />
Most computer codes only include a very limited quantity<br />
<strong>of</strong> <strong>functionals</strong>, typically around 10–15<br />
Chemist <strong>and</strong> Physicists do not use the same <strong>functionals</strong>!<br />
Difficult to reproduce older calculations with older<br />
<strong>functionals</strong><br />
Difficult to reproduce calculations performed with other<br />
codes<br />
Difficult to perform calculations with the newest <strong>functionals</strong><br />
M. A. L. Marques <strong>Libxc</strong>
Kohn-Sham equations<br />
The main equations <strong>of</strong> DFT are the Kohn-Sham equations:<br />
[<br />
− 1 ]<br />
2 ∇2 + v ext (r) + v H (r) + v xc (r) ϕ i (r) = ɛ i ϕ i (r)<br />
where the <strong>exchange</strong>-<strong>correlation</strong> potential is defined as<br />
v xc (r) = δE xc<br />
δn(r)<br />
In any practical application <strong>of</strong> the theory, we have to use an<br />
approximation to E xc , or v xc (r).<br />
M. A. L. Marques <strong>Libxc</strong>
Kohn-Sham equations<br />
The main equations <strong>of</strong> DFT are the Kohn-Sham equations:<br />
[<br />
− 1 ]<br />
2 ∇2 + v ext (r) + v H (r) + v xc (r) ϕ i (r) = ɛ i ϕ i (r)<br />
where the <strong>exchange</strong>-<strong>correlation</strong> potential is defined as<br />
v xc (r) = δE xc<br />
δn(r)<br />
In any practical application <strong>of</strong> the theory, we have to use an<br />
approximation to E xc , or v xc (r).<br />
M. A. L. Marques <strong>Libxc</strong>
Jacob’s ladder<br />
Local density approximation:<br />
E LDA<br />
xc<br />
(r) = Exc<br />
LDA [n] ∣ n=n(r)<br />
Generalized gradient approximation:<br />
E GGA<br />
xc<br />
(r) = Exc<br />
GGA [n, ∇n] ∣ n=n(r)<br />
Meta-generalized gradient approximation:<br />
E mGGA<br />
xc<br />
(r) = Exc<br />
mGGA [n, ∇n, τ] ∣ n=n(r),τ=τ(r)<br />
And more: orbital <strong>functionals</strong>, hybrid <strong>functionals</strong>, hyper-GGAs,<br />
etc.<br />
M. A. L. Marques <strong>Libxc</strong>
Jacob’s ladder<br />
Local density approximation:<br />
E LDA<br />
xc<br />
(r) = Exc<br />
LDA [n] ∣ n=n(r)<br />
Generalized gradient approximation:<br />
E GGA<br />
xc<br />
(r) = Exc<br />
GGA [n, ∇n] ∣ n=n(r)<br />
Meta-generalized gradient approximation:<br />
E mGGA<br />
xc<br />
(r) = Exc<br />
mGGA [n, ∇n, τ] ∣ n=n(r),τ=τ(r)<br />
And more: orbital <strong>functionals</strong>, hybrid <strong>functionals</strong>, hyper-GGAs,<br />
etc.<br />
M. A. L. Marques <strong>Libxc</strong>
Jacob’s ladder<br />
Local density approximation:<br />
E LDA<br />
xc<br />
(r) = Exc<br />
LDA [n] ∣ n=n(r)<br />
Generalized gradient approximation:<br />
E GGA<br />
xc<br />
(r) = Exc<br />
GGA [n, ∇n] ∣ n=n(r)<br />
Meta-generalized gradient approximation:<br />
E mGGA<br />
xc<br />
(r) = Exc<br />
mGGA [n, ∇n, τ] ∣ n=n(r),τ=τ(r)<br />
And more: orbital <strong>functionals</strong>, hybrid <strong>functionals</strong>, hyper-GGAs,<br />
etc.<br />
M. A. L. Marques <strong>Libxc</strong>
Jacob’s ladder<br />
Local density approximation:<br />
E LDA<br />
xc<br />
(r) = Exc<br />
LDA [n] ∣ n=n(r)<br />
Generalized gradient approximation:<br />
E GGA<br />
xc<br />
(r) = Exc<br />
GGA [n, ∇n] ∣ n=n(r)<br />
Meta-generalized gradient approximation:<br />
E mGGA<br />
xc<br />
(r) = Exc<br />
mGGA [n, ∇n, τ] ∣ n=n(r),τ=τ(r)<br />
And more: orbital <strong>functionals</strong>, hybrid <strong>functionals</strong>, hyper-GGAs,<br />
etc.<br />
M. A. L. Marques <strong>Libxc</strong>
What do we need - I<br />
The energy is usually written as:<br />
∫<br />
∫<br />
E xc = d 3 r e xc (r) =<br />
d 3 r n(r)ɛ xc (r)<br />
The potential in the LDA is:<br />
(r) = d dn eLDA (n) ∣<br />
v LDA<br />
xc<br />
xc<br />
∣<br />
n=n(r)<br />
In the GGA:<br />
v GGA<br />
xc (r) = ∂<br />
∂n eLDA xc<br />
(n, ∇n)<br />
∣ − ∇<br />
n=n(r)<br />
∂<br />
∂(∇n) eLDA xc (n, ∇n) ∣<br />
∣<br />
n=n(r)<br />
M. A. L. Marques <strong>Libxc</strong>
What do we need - II<br />
For response properties we also need higher derivatives <strong>of</strong> e xc<br />
1st-order response (polarizabilities, phonon frequencies,<br />
etc.):<br />
fxc LDA (r) = d 2<br />
d 2 n eLDA xc (n) ∣<br />
∣<br />
n=n(r)<br />
2st-order response (hyperpolarizabilities, etc.):<br />
kxc LDA (r) = d 3<br />
d 3 n eLDA xc (n) ∣<br />
And let’s not f<strong>org</strong>et spin...<br />
∣<br />
n=n(r)<br />
M. A. L. Marques <strong>Libxc</strong>
What do we need - II<br />
For response properties we also need higher derivatives <strong>of</strong> e xc<br />
1st-order response (polarizabilities, phonon frequencies,<br />
etc.):<br />
fxc LDA (r) = d 2<br />
d 2 n eLDA xc (n) ∣<br />
∣<br />
n=n(r)<br />
2st-order response (hyperpolarizabilities, etc.):<br />
kxc LDA (r) = d 3<br />
d 3 n eLDA xc (n) ∣<br />
And let’s not f<strong>org</strong>et spin...<br />
∣<br />
n=n(r)<br />
M. A. L. Marques <strong>Libxc</strong>
An example: Perdew & Wang 91 (an LDA)<br />
Perdew <strong>and</strong> Wang parametrized the <strong>correlation</strong> energy per unit<br />
particle:<br />
e c (r s , ζ) = e c (r s , 0) + α c (r s ) f (ζ)<br />
f ′′ (0) (1 − ζ4 ) + [e c (r s , 1) − e c (r s , 0)]f (ζ)ζ 4<br />
The function f (ζ) is<br />
f (ζ) = [1 + ζ]4/3 + [1 − ζ] 4/3 − 2<br />
,<br />
2 4/3 − 2<br />
while its second derivative f ′′ (0) = 1.709921. The functions e c (r s , 0),<br />
e c (r s , 1), <strong>and</strong> −α c (r s ) are all parametrized by the function<br />
g = −2A(1 + α 1 r s ) log<br />
{<br />
1 +<br />
1<br />
2A(β 1 r 1/2<br />
s + β 2 r s + β 3 r 3/2<br />
s + β 4 r 2 s )<br />
}<br />
M. A. L. Marques <strong>Libxc</strong>
<strong>Libxc</strong><br />
Written in C from scratch<br />
Bindings both in C <strong>and</strong> in Fortran<br />
Lesser GNU general public license (v. 3.0)<br />
Automatic testing <strong>of</strong> the <strong>functionals</strong><br />
Contains at the moment 33 LDA <strong>functionals</strong>, 142 GGA<br />
<strong>functionals</strong>, 36 hybrids, <strong>and</strong> 14 mGGAs<br />
Contains <strong>functionals</strong> for <strong>exchange</strong>, <strong>correlation</strong>, <strong>and</strong> kinetic<br />
energy<br />
Contains <strong>functionals</strong> for 1D, 2D, <strong>and</strong> 3D calculations<br />
Returns ε xc , v xc , f xc , <strong>and</strong> k xc<br />
Quite mature: included in 16 codes (including abinit,<br />
espresso, cp2k, etc.)<br />
M. A. L. Marques <strong>Libxc</strong>
<strong>Libxc</strong><br />
Written in C from scratch<br />
Bindings both in C <strong>and</strong> in Fortran<br />
Lesser GNU general public license (v. 3.0)<br />
Automatic testing <strong>of</strong> the <strong>functionals</strong><br />
Contains at the moment 33 LDA <strong>functionals</strong>, 142 GGA<br />
<strong>functionals</strong>, 36 hybrids, <strong>and</strong> 14 mGGAs<br />
Contains <strong>functionals</strong> for <strong>exchange</strong>, <strong>correlation</strong>, <strong>and</strong> kinetic<br />
energy<br />
Contains <strong>functionals</strong> for 1D, 2D, <strong>and</strong> 3D calculations<br />
Returns ε xc , v xc , f xc , <strong>and</strong> k xc<br />
Quite mature: included in 16 codes (including abinit,<br />
espresso, cp2k, etc.)<br />
M. A. L. Marques <strong>Libxc</strong>
<strong>Libxc</strong><br />
Written in C from scratch<br />
Bindings both in C <strong>and</strong> in Fortran<br />
Lesser GNU general public license (v. 3.0)<br />
Automatic testing <strong>of</strong> the <strong>functionals</strong><br />
Contains at the moment 33 LDA <strong>functionals</strong>, 142 GGA<br />
<strong>functionals</strong>, 36 hybrids, <strong>and</strong> 14 mGGAs<br />
Contains <strong>functionals</strong> for <strong>exchange</strong>, <strong>correlation</strong>, <strong>and</strong> kinetic<br />
energy<br />
Contains <strong>functionals</strong> for 1D, 2D, <strong>and</strong> 3D calculations<br />
Returns ε xc , v xc , f xc , <strong>and</strong> k xc<br />
Quite mature: included in 16 codes (including abinit,<br />
espresso, cp2k, etc.)<br />
M. A. L. Marques <strong>Libxc</strong>
<strong>Libxc</strong><br />
Written in C from scratch<br />
Bindings both in C <strong>and</strong> in Fortran<br />
Lesser GNU general public license (v. 3.0)<br />
Automatic testing <strong>of</strong> the <strong>functionals</strong><br />
Contains at the moment 33 LDA <strong>functionals</strong>, 142 GGA<br />
<strong>functionals</strong>, 36 hybrids, <strong>and</strong> 14 mGGAs<br />
Contains <strong>functionals</strong> for <strong>exchange</strong>, <strong>correlation</strong>, <strong>and</strong> kinetic<br />
energy<br />
Contains <strong>functionals</strong> for 1D, 2D, <strong>and</strong> 3D calculations<br />
Returns ε xc , v xc , f xc , <strong>and</strong> k xc<br />
Quite mature: included in 16 codes (including abinit,<br />
espresso, cp2k, etc.)<br />
M. A. L. Marques <strong>Libxc</strong>
<strong>Libxc</strong><br />
Written in C from scratch<br />
Bindings both in C <strong>and</strong> in Fortran<br />
Lesser GNU general public license (v. 3.0)<br />
Automatic testing <strong>of</strong> the <strong>functionals</strong><br />
Contains at the moment 33 LDA <strong>functionals</strong>, 142 GGA<br />
<strong>functionals</strong>, 36 hybrids, <strong>and</strong> 14 mGGAs<br />
Contains <strong>functionals</strong> for <strong>exchange</strong>, <strong>correlation</strong>, <strong>and</strong> kinetic<br />
energy<br />
Contains <strong>functionals</strong> for 1D, 2D, <strong>and</strong> 3D calculations<br />
Returns ε xc , v xc , f xc , <strong>and</strong> k xc<br />
Quite mature: included in 16 codes (including abinit,<br />
espresso, cp2k, etc.)<br />
M. A. L. Marques <strong>Libxc</strong>
<strong>Libxc</strong><br />
Written in C from scratch<br />
Bindings both in C <strong>and</strong> in Fortran<br />
Lesser GNU general public license (v. 3.0)<br />
Automatic testing <strong>of</strong> the <strong>functionals</strong><br />
Contains at the moment 33 LDA <strong>functionals</strong>, 142 GGA<br />
<strong>functionals</strong>, 36 hybrids, <strong>and</strong> 14 mGGAs<br />
Contains <strong>functionals</strong> for <strong>exchange</strong>, <strong>correlation</strong>, <strong>and</strong> kinetic<br />
energy<br />
Contains <strong>functionals</strong> for 1D, 2D, <strong>and</strong> 3D calculations<br />
Returns ε xc , v xc , f xc , <strong>and</strong> k xc<br />
Quite mature: included in 16 codes (including abinit,<br />
espresso, cp2k, etc.)<br />
M. A. L. Marques <strong>Libxc</strong>
<strong>Libxc</strong><br />
Written in C from scratch<br />
Bindings both in C <strong>and</strong> in Fortran<br />
Lesser GNU general public license (v. 3.0)<br />
Automatic testing <strong>of</strong> the <strong>functionals</strong><br />
Contains at the moment 33 LDA <strong>functionals</strong>, 142 GGA<br />
<strong>functionals</strong>, 36 hybrids, <strong>and</strong> 14 mGGAs<br />
Contains <strong>functionals</strong> for <strong>exchange</strong>, <strong>correlation</strong>, <strong>and</strong> kinetic<br />
energy<br />
Contains <strong>functionals</strong> for 1D, 2D, <strong>and</strong> 3D calculations<br />
Returns ε xc , v xc , f xc , <strong>and</strong> k xc<br />
Quite mature: included in 16 codes (including abinit,<br />
espresso, cp2k, etc.)<br />
M. A. L. Marques <strong>Libxc</strong>
<strong>Libxc</strong><br />
Written in C from scratch<br />
Bindings both in C <strong>and</strong> in Fortran<br />
Lesser GNU general public license (v. 3.0)<br />
Automatic testing <strong>of</strong> the <strong>functionals</strong><br />
Contains at the moment 33 LDA <strong>functionals</strong>, 142 GGA<br />
<strong>functionals</strong>, 36 hybrids, <strong>and</strong> 14 mGGAs<br />
Contains <strong>functionals</strong> for <strong>exchange</strong>, <strong>correlation</strong>, <strong>and</strong> kinetic<br />
energy<br />
Contains <strong>functionals</strong> for 1D, 2D, <strong>and</strong> 3D calculations<br />
Returns ε xc , v xc , f xc , <strong>and</strong> k xc<br />
Quite mature: included in 16 codes (including abinit,<br />
espresso, cp2k, etc.)<br />
M. A. L. Marques <strong>Libxc</strong>
<strong>Libxc</strong><br />
Written in C from scratch<br />
Bindings both in C <strong>and</strong> in Fortran<br />
Lesser GNU general public license (v. 3.0)<br />
Automatic testing <strong>of</strong> the <strong>functionals</strong><br />
Contains at the moment 33 LDA <strong>functionals</strong>, 142 GGA<br />
<strong>functionals</strong>, 36 hybrids, <strong>and</strong> 14 mGGAs<br />
Contains <strong>functionals</strong> for <strong>exchange</strong>, <strong>correlation</strong>, <strong>and</strong> kinetic<br />
energy<br />
Contains <strong>functionals</strong> for 1D, 2D, <strong>and</strong> 3D calculations<br />
Returns ε xc , v xc , f xc , <strong>and</strong> k xc<br />
Quite mature: included in 16 codes (including abinit,<br />
espresso, cp2k, etc.)<br />
M. A. L. Marques <strong>Libxc</strong>
What is working!<br />
ε xc v xc f xc k xc<br />
LDA OK OK OK OK<br />
GGA OK OK OK NO<br />
HYB GGA OK OK OK NO<br />
mGGA TEST TEST TEST NO<br />
M. A. L. Marques <strong>Libxc</strong>
An example in C<br />
switch ( x c f a m i l y f r o m i d ( xc . f u n c t i o n a l ) )<br />
{<br />
case XC FAMILY LDA :<br />
i f ( xc . f u n c t i o n a l == XC LDA X )<br />
x c l d a x i n i t (& lda func , xc . nspin , 3 , 0 ) ;<br />
else<br />
x c l d a i n i t (& lda func , xc . f u n c t i o n a l , xc . nspin ) ;<br />
x c l d a v x c (& lda func , xc . rho , &xc . zk , xc . vrho ) ;<br />
xc lda end (& l d a f u n c ) ;<br />
break ;<br />
case XC FAMILY GGA :<br />
x c g g a i n i t (& gga func , xc . f u n c t i o n a l , xc . nspin ) ;<br />
xc gga vxc (& gga func , xc . rho , xc . sigma , &xc . zk , xc . vrho , xc . vsigma<br />
xc gga end (& gga func ) ;<br />
break ;<br />
d e f a u l t :<br />
f p r i n t f ( s t d e r r , "Functional ’%d’ not found\n" , xc . f u n c t i o n a l ) ;<br />
e x i t ( 1 ) ;<br />
}<br />
M. A. L. Marques <strong>Libxc</strong>
Another example in Fortran<br />
program l x c t e s t<br />
use l i b x c<br />
i m p l i c i t<br />
none<br />
r e a l ( 8 ) : : rho , e c , v c<br />
TYPE( xc func ) : : x c c f u n c<br />
TYPE( x c i n f o ) : : x c c i n f o<br />
CALL x c f 9 0 l d a i n i t ( xc c func , x c c i n f o , &<br />
XC LDA C VWN, XC UNPOLARIZED)<br />
CALL x c f 9 0 l d a v x c ( xc c func , rho , e c , v c )<br />
CALL x c f 9 0 l d a e n d ( x c c f u n c )<br />
end program<br />
l x c t e s t<br />
M. A. L. Marques <strong>Libxc</strong>
The info structure<br />
typedef s t r u c t {<br />
i n t number ; / ∗ i n d e n t i f i e r number ∗ /<br />
i n t kind ; / ∗ XC EXCHANGE or XC CORRELATION ∗ /<br />
char ∗name ; / ∗ name <strong>of</strong> the f u n c t i o n a l , e . g . ”PBE” ∗ /<br />
i n t f a m i l y ; / ∗ type <strong>of</strong> the f u n c t i o n a l , e . g . XC FAMILY GGA ∗ /<br />
char ∗ r e f s ; / ∗ references ∗ /<br />
i n t provides ; / ∗ e . g . XC PROVIDES EXC | XC PROVIDES VXC ∗ /<br />
. . .<br />
} x c f u n c i n f o t y p e ;<br />
This is an example on how you can use it:<br />
xc gga type b88 ;<br />
x c g g a i n i t (&b88 , XC GGA X B88 , XC UNPOLARIZED ) ;<br />
p r i n t f ( "The functional ’%s’ is defined in the reference(s):\n%s" ,<br />
b88 . i n f o −>name , b88 . i n f o −>r e f s ) ;<br />
xc gga end (&b88 ) ;<br />
M. A. L. Marques <strong>Libxc</strong>
The future<br />
More <strong>functionals</strong>!<br />
More derivatives!<br />
More codes using it!<br />
M. A. L. Marques <strong>Libxc</strong>
The future<br />
More <strong>functionals</strong>!<br />
More derivatives!<br />
More codes using it!<br />
M. A. L. Marques <strong>Libxc</strong>
The future<br />
More <strong>functionals</strong>!<br />
More derivatives!<br />
More codes using it!<br />
M. A. L. Marques <strong>Libxc</strong>
Where to find us!<br />
http://www.tddft.<strong>org</strong>/programs/octopus/wiki/<br />
index.php/<strong>Libxc</strong><br />
<strong>Libxc</strong>: a <strong>library</strong> <strong>of</strong> <strong>exchange</strong> <strong>and</strong> <strong>correlation</strong> <strong>functionals</strong> for DFT<br />
M.A.L. Marques, M.J.T. Oliveira, <strong>and</strong> T. Burnus<br />
Comput. Phys. Commun. 183, 2272-2281 (2012)<br />
M. A. L. Marques <strong>Libxc</strong>