Generate XCKernel from LibXC string#23
Conversation
|
Sorry for not seeing this until now, must have slipped through my inbox. Moving to LibXC 6 is more involved than what is here, see the open PR. If you'd like to update the test data, I'd be more than happy to merge the PR. |
|
@wavefunction91 I have updated the reference test data. Seems that only three values were off. PR #8 should work with the current master branch of LibXC, but I will double check that |
|
Thanks for the corrections. However, the main problem was not in the reference values, but in the comparison of Libxc/Bulitin backends. Recall, the fact that I tried to regenerate the Builtin interfaces from Libxc 6.0.0, but the've changed there backend function structure, so it will take me a bit to update my scripts. I've enabled this PR to run through the CI pipeline, the errors should be apparent now. |
|
@dmejiar please merge with current |
|
I started updating the built-in kernels, but there is another issue that can lead to some test failures. Libxc corrects some unphysical The last three sigma values (1.3, 1.5, 1.5) in Line 56 will lead to an unphysical situation. Libxc will instead use Do you want to have the same checks on |
|
@dmejiar Thanks for taking a look. I think we ideally want both - the checks are clearly necessary, but we also want to have sane values to test with. Does LibXC error out with unphysical |
|
No, Libxc will correct the unphysical value |
|
@ajaypanyala Only a handful of specialized functionals need external parameters to be set, so they are not really necessary, but I can include them as well. What do you think? |
|
I'm fine exposing the functionality, but none of the builtin kernels support this functionality. Recalling that Libxc-wrapping is a convenient (but extra) feature for this project, it should be expected that all publicly exposed APIs should be useful to any of the implemented functions. That being said, if you want to expose it, that's fine, just make sure we throw and error / warning if the function is called from the builtin backend. |
|
@dmejiar I am unable to even compile the application (qed-hf) code without these changes. I have a PR here that I used to make the code compile. Is there an alternate way to handle these functionals ? If not, we can go with what @wavefunction91 suggested (i.e expose it, but throw error with builtin backend) |
|
@ajaypanyala The |
"xc_gga_x_ncap"when LibXC is used as backend.Note that LibXC 5.0 was buggy (see ChangeLog.md) and should not be taken as reference.