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

Possibility of using hybrid functionals

Open exenGT opened this issue 3 years ago • 3 comments

Is it possible to use hybrid functionals like PBE0 and HSE in libxc?

Thanks, Jingyang

exenGT avatar Oct 07 '21 04:10 exenGT

Ah, I thought we already had an issue for this. Not yet possible but the infrastructure is there so it shouldn't be hard to implement; it just needs somebody interested to actually do it.

antoine-levitt avatar Oct 07 '21 06:10 antoine-levitt

Getting a basic version working should not be too hard, I agree.

However, to get it up to speed and get it to fully we still need a bit of extra infrastructure (communicating orbitals to the terms, efficient evaluation of the exact exchange, ways to not update the hybrid term at every SCF step). So some practical hacking at various parts of the code is required.

mfherbst avatar Oct 08 '21 15:10 mfherbst

The terms already have the orbitals, and the code structure is OK I think. It's just missing a new term that computes the exchange, which should be very straightforward (and a great first contribution for someone interested : I'm tagging this as good first issue). It should work out of the box with direct minimization. Getting a scf solver to work needs more work, and to get it fast it needs the ACE method of Lin.

antoine-levitt avatar Oct 08 '21 16:10 antoine-levitt