dftbplus / skprogs

Basic programs for generating Slater-Koster files for the DFTB-method
GNU Lesser General Public License v3.0
25 stars 19 forks source link

Set up basic regression test framework for black-box testing #32

Closed vanderhe closed 1 year ago

vanderhe commented 2 years ago

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.

vanderhe commented 2 years 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.

vanderhe commented 2 years ago

Among others, I found two more things that needed to be fixed and smuggled them into this PR (cf. 4fdba09). Sorry for the confusion.

vanderhe commented 2 years ago

I will resolve the conflicts as soon as #30 has been merged.

aradi commented 1 year ago

@vanderhe #30 is merged now :wink:

vanderhe commented 1 year ago

@aradi It's a Christmas miracle ;). Jokes aside, thanks for taking the time despite the approaching holidays.

vanderhe commented 1 year ago

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.

vanderhe commented 1 year ago

@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.