Closed vanderhe closed 1 year ago
@aradi @bhourahine I added an additional commit that zeroes out the correlation potential on the grid, in cases where we obtain zero occupation of one of the spin channels. That fixes the SCF convergence issues we experienced for e.g. the spin-polarized hydrogen atom. From my side this PR (and before that PR #30) are ready to get reviewed/merged.
Among others, I found two more things that needed to be fixed and smuggled them into this PR (cf. 4fdba09). Sorry for the confusion.
I will resolve the conflicts as soon as #30 has been merged.
@vanderhe #30 is merged now :wink:
@aradi It's a Christmas miracle ;). Jokes aside, thanks for taking the time despite the approaching holidays.
Heads-up: At this point I can only guarantee a correctly operating CAMY-B3LYP functional for libXC version 6.0.0. See the associated issue for further reference. Especially problematic is the fact that from b74fe9312cd6f174d356634641c71363ed529d6f onwards, libXC versions <6.0.0 will not run into segfaults anymore but calculate 'something'. I could not find a way (besides querying the libXC version and entering different code branches?) to set the external parameters of the functional so that the original PR and 6.0.0 deliver the same results. All of this makes having regression tests covering this case extremely important. I will therefore add at least one regtest for the CAMY-B3LYP functional to this PR.
@aradi Ready to go from my side. See local actions for CI workflow. No idea what's going on with the macOS GCC installation though.
This PR builds upon #30 and introduces a rudimentary regression test framework for sktable runs, therefore covers sktools/slateratom/sktwocnt in a black-box manner. As always there is room for improvement, but I guess it is better to end the blind flight a.s.a.p.
In the course of developing this branch, the following tests were added:
I will cover the remaining functionals (+ ZORA) in another PR, if that is okay for you.
Additional dependency: fypp
More or less closes #5. To be merged after #30.