DFTK.jl icon indicating copy to clipboard operation
DFTK.jl copied to clipboard

Implement ONCVPSP (Norm-converving Vanderbilt PSPs)

Open mfherbst opened this issue 5 years ago • 1 comments

Related to #2

mfherbst avatar Feb 25 '20 16:02 mfherbst

http://www.quantum-simulation.org/potentials/sg15_oncv/ seems to be the most used. The XML format is quite straightforward, so might be the simplest to parse. They give the local potential, the projectors and the dij, so it should be pretty easy to incorporate into DFTK.

antoine-levitt avatar Jun 15 '22 09:06 antoine-levitt

Partially done in #741 .

azadoks avatar Oct 22 '22 08:10 azadoks

I'm going to call this done for now. We still miss features, but the key things are there.

mfherbst avatar Dec 09 '23 16:12 mfherbst

Notably, fully-relativistic pseudos and pseudos where the local potential angular momentum is defined (i.e. not -1) are not yet supported. Most, if not all, other features of ONCVPSP-generated pseudos (local and non-local potentials, non-linear core correction, pseudo-atomic densities, and pseudo-atomic wavefunctions) are supported.

azadoks avatar Dec 11 '23 09:12 azadoks

pseudos where the local potential angular momentum is defined (i.e. not -1)

Is that common? Shouldn't be too hard

fully-relativistic pseudos

This means Dirac equation? Do people really do plane waves with that?

antoine-levitt avatar Dec 11 '23 12:12 antoine-levitt

pseudos where the local potential angular momentum is defined (i.e. not -1)

Is that common? Shouldn't be too hard

Not super common, and it shouldn't be very hard to handle.

fully-relativistic pseudos

This means Dirac equation? Do people really do plane waves with that?

Yes, they're from a solution of the Dirac equation. AFAIK, they're needed for spin-orbit coupling.

azadoks avatar Dec 12 '23 15:12 azadoks

Yes, they're from a solution of the Dirac equation. AFAIK, they're needed for spin-orbit coupling

OK I see, the PSP code solves the Dirac equation, but the PW code solves for a C^2 valued wavefunction, which has the same Hamiltonian as usual plus a sigma . (nabla V x p) term. I think it's just an info on how the PSP was generated and is meant to be used, but there's nothing more to be done at the PSP level in this case - at least I don't see any relevant field in the UPF format (just PP_SEMILOCAL but pseudos are usually given in nonlocal form anyway).

antoine-levitt avatar Dec 12 '23 16:12 antoine-levitt

but there's nothing more to be done at the PSP level in this case

I don't think this is exactly true; the data for the non-local projectors and the pseudo-waves are different, and the way fully-relativistic pseudos are treated in UPF and ABINIT's PSP8 is different enough that they're incompatible without some major finagling.

azadoks avatar Dec 12 '23 16:12 azadoks

The data is different but the pseudo-pw code (ie the pseudopotential part of the hamiltonian) is the same? Or what do you mean? If you have references please add them here https://github.com/JuliaMolSim/DFTK.jl/issues/526, @ClementineBarat might be interested in implementing this at some point

antoine-levitt avatar Dec 12 '23 19:12 antoine-levitt

Just had a chat with a colleague, and it seems that indeed there will be some work to be done for spin-orbit. The relativistic beta and chi projectors need to be used in this case, which can amount to an adjustment to the non-local coupling Dij or to how the projection vectors are constructed from the radial functions beta. Seems like there's some Clebsch-Gordan wizardry to be done. (see QE's upflib/spinor.f90, upflib/upf_spinorb.f90, Modules/wavefunctions.f90)

azadoks avatar Dec 13 '23 11:12 azadoks

Thanks! I need to read the papers...

antoine-levitt avatar Dec 14 '23 08:12 antoine-levitt

At least the ONCVPSP paper uses scalar relativistic pseudos, meaning the pseudos can just be used as is. So let's not worry about it yet...

antoine-levitt avatar Dec 19 '23 14:12 antoine-levitt

Ah, possibly not: see discussion eg here https://orbi.uliege.be/bitstream/2268/25694/1/prb_78_045119_verstraete_Pb_phonons_PREPRINT.pdf

antoine-levitt avatar Dec 19 '23 16:12 antoine-levitt

Looks like what's going on is that the pseudopotential term itself stays the same, but the spin-orbit coupling term needs the force nabla V. This requires a bit more algebra, but nothing more is required from the pseudos other than the betas and Dij.

antoine-levitt avatar Dec 19 '23 16:12 antoine-levitt