forum@abinit.org
Subject: The ABINIT Users Mailing List ( CLOSED )
List archive
- From: Xavier Gonze <gonze@pcpm.ucl.ac.be>
- To: Forum abinit <forum@abinit.org>
- Subject: Re: [abinit-forum] TDDFT: a question on the kernel
- Date: Wed, 28 Mar 2007 13:02:16 +0200
Dear Davide,
The difference is easily seen at the level of the exchange...
Ex(rho_up,rho_dn) is a simple sum of two parts,
one for the spin up density, and one for the spin down.
Ex(rho_up,rho_dn) = Ex(rho_up,0) + Ex(0,rho_dn)
So, in any case d2Ex/drho_up drho_dn is zero ,
while d2Ex/drho_up drho_up does not vanish in general.
This happens even if rho_up=rho_dn everywhere.
The connection between formal DFT and formal SpinDFT is sometimes
subtle. In the context of the XC kernel for approximate functionals,
implicitely, one never considers the DFT based on charge only, but
always the SpinDFT, based on spin up and spin down densities,
even for systems that are not spin-polarized ...
Best regards,
Xavier
On 26 Mar 2007, at 17:20, Davide Sangalli wrote:
It's the fist time I'm using the forum and I'm not sure that this
is exactly a question to be posted here.
If not sorry...anyway:
according to what is written in Abinit (rhohxc subroutine)
the K_xc kernel should be computed in this way:
______________________________________________________________________ __
kxc(nfft,nkxc)=exchange and correlation kernel
(returned only if nkxc/=0 and abs(option)=2 )
allowed if LDAs ixc=0...9 :
if nspden==1 and option==2 : return kxc(:,1)= d2Exc/drho2
that is 1/2 ( d2Exc/drho_up drho_up + d2Exc/drho_up drho_dn )
if nspden==1 and option=-2 : also return kxc(:,2)= d2Exc/ drho_up drho_dn
if nspden==2, return kxc(:,1)=d2Exc/drho_up drho_up
kxc(:,2)=d2Exc/drho_up drho_dn
kxc(:,3)=d2Exc/drho_dn drho_dn
______________________________________________________________________ __
Now I was trying to understand how
"K^{xc}_{up,up}=\frac{d^2 E_{xc}}{d\rho_{up} d\rho_{up}}"
is different form
"K^{xc}_{up,dn}=\frac{d^2 E_{xc}{d\rho_{up} d\rho_{dn}}"
when a non polaryzed system is studied (like N_2 for exemple)
within LDA. (So nspden==1)
Now according to me as in LDA the energy is just a functional of the density
"E_{xc}=E_{xc}[\rho]=E_{xc}[\rho_{up}+\rho_{dn}]"
if I try to evaluate the second order derivatives written using the rule
"\frac{d f(y(x))}{d x}=\frac{d f(y)}{d y}\frac{d y(x)}{d x}"
and the fact that
"\frac{d \rho}{d \rho_{up}}= \frac{d \rho}{d \rho_{dn}}=1"
I got
"K^{xc}_{up,up}=K^{xc}_{up,dn}=\frac{d^2 E_{xc}{d\rho^2}
So where is it that I'm doing a mistake?
Davide
- TDDFT: a question on the kernel, Davide Sangalli, 03/26/2007
- Re: [abinit-forum] TDDFT: a question on the kernel, Xavier Gonze, 03/28/2007
Archive powered by MHonArc 2.6.16.