JMedley said:
Ok, I guess I underestimated this one! Thus far I have an exchange-correlation term of:
E_{xc}= -\frac{3}{4}\sqrt[3]{\frac{3n(r)}{\pi}}+\frac{0.44}{r_s+7.8}
Where n(r) is the density of electrons and [ tex ] r_s [/tex] is the Wigner radius. Is this an acceptable expression?
Your exchange correlation term has the right format, but it does look somewhat too simple to me. I don't think it has the correct asymptotics in the RPA limit (shouldn't there be a ln() in there?).
Concrete expressions for the LDA correlation energy were given in
http://dx.doi.org/10.1103/PhysRevB.45.13244 (Perdew-Wang parameterization)
http://dx.doi.org/10.1139/p80-159 (VWN parameterization)
Your expression may be a viable parameterization for your concrete task. In order to check that you could compare it with the expressions given in these^ papers. There was also a nice explanation (including giving all the leading terms) in Schwabl's textbook "Advanced Quantum Mechanics".
I have then tried to use the functional derivative of this to get the exchange-correlation potential as:
\frac{\delta E_{xc}[n(r)]}{\delta n(r)} = \frac{d}{dn}(n(r)E_{xc})
This is then fed, along with an external Coulombic potential and a hartree potential, back into solving a single-electron Schrodingers equation to get a new density and so on and so on...
Is that the gist of it? Having calculated this differential I know it turns out very messy so I doubt I'm on track! Thanks for your help
Your track seems right. Note that density functional derivatives tend to be very ugly when done correctly. So if you get long and cumbersome expressions I'd rather interpret that as a good sign :). Anyway: In practice density functional derivatives are usually implemented in an automatic fashion. That is, only the energy expression is explicitly programmed, and then code for evaluating it and its derivatives is generated from a computer algebra system or sythesized via automatic differentiation.
If you just want to see if you got the concept right, you could concentrate on just using Slater/Dirac exchange as xc functional. This expression is very simple and allows for a non-messy implementation, including derivatives. And if you get it right, you can just assume that it would work for other functionals too, in principle.