m-a-d-n-e-s-s / madness

Multiresolution Adaptive Numerical Environment for Scientific Simulation
GNU General Public License v2.0
175 stars 62 forks source link

MolDFT -- pseudopotentials -- erroneous results with LDA functional #91

Closed wsttiger closed 10 years ago

wsttiger commented 10 years ago

Gives erroneous results with many 4th row elements in the periodic table -- Ge, Se, Kr, transition metals -- although Ca works and Sr (5th row element) gives decent results.

wsttiger commented 10 years ago

Could it be that we need to implement the spin-orbit coupling contribution to the potential?

There are non-zero "k" coefficients to many of these elements. However to implement LS-coupling, it looks like (naively) unless something cancels, that we will have to use a complex version of MolDFT.

Indeed, assuming a "z" spin orientation, i.e. \sigma_3 aligns in the z-direction, we have to compute a contribution to the potential that looks like:

[ (Lz) (Lx + i Ly) ] [ (Lx - i Ly) (-Lz) ]

wsttiger commented 10 years ago

Sorry, I'm an idiot --- we don't have to use a z-orientation for spin. We should just be able to diagonalize the L-S matrix to make things simpler ... I'm just speculating now.

lratcliff commented 10 years ago

I think we need to implement it at some point, but I'm not sure this is the only problem - I tried setting the k components to zero in BigDFT to make a fairer comparison with MADNESS and for all the cases I tried the difference between zero and non-zero k components was negligible. I don't remember exactly which elements I tested but I tried quite a few and I'm pretty sure I did at least one or two of the heavier elements.

wsttiger commented 10 years ago

Another note is that I am using Rlm's instead of Ylm's, and if I can remember correctly, the math showed that in this case since we are doing a sum over "m", they should be equivalent, but this is one thing to check.

lratcliff commented 10 years ago

I just tried Kr setting k to zero and as suspected not much difference. I added the eigenvalues to your spreadsheet and I think the difference between what I got and what you got is probably due to different inputs to BigDFT rather than the lack of spin-orbit correction.

wsttiger commented 10 years ago

Fixed, and checked in.