New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Added some functionals #904
Conversation
Unfortunately, SCAN doesn't work with LibXC 3.0.1, either. #863 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks great, thank you. Can you add tests for the new functionals as well? I believe we have the nice new dft-custom-mgga/
and dft-custom-dhdf/
tests to add to from @hokru.
@@ -239,7 +232,6 @@ def build_hf3c_superfunctional(name, npoints, deriv, restricted): | |||
sup.allocate() | |||
return (sup, ('HF3C', '-d3bj')) | |||
|
|||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There should be two spaces between these functions. Can you format your files with YAPF (pip install yapf
)?
@dgasmith, is just the Ne test enough? I don't have ORCA, but I have access to G09.D01 (SOGGA, SOGGA11-X, M06-L, MN12-L) and a colleague of mine has G16 (MN15, MN15-L and PBE0-DH), that should be good enough. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Neon is good with me, typically any issues can be found in these easy test cases to help you find mixing errors. Anything systematic usually occurs in the DFT tech itself which is reasonably well tested.
tests/dft-custom-dhdf/input.dat
Outdated
@@ -87,6 +93,13 @@ compare_values(-0.062529936, e_mp2, 5, 'Ne: PWPB95_PT2') #TEST | |||
compare_values(-128.920706595202, edhdf, 5, 'Ne: PWPB95') #TEST | |||
clean() | |||
|
|||
edhdf = energy('pbe0-dh') |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does it fail already for the SCF part, or at the MP2 part?
Your G16 test has frozen-core is on for the MP2 part, which is actually recommended for DHDFs. But my test has it globally off. Maybe that is the reason the test fails? The RI-MP2 error should be small enough.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Already the DFT reference energy fails. I am a bit at a loss as to why this is. I've checked the original paper and the handy reference table from Q-Chem [1] and I think I set it up correctly, but apparently not...
[1] http://www.q-chem.com/qchem-website/manual/qchem44_manual/sect-DFT.html
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Attached out file from the current version (frozen core set to true).
dhdf.txt
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I used the cc-pVTZ basis set for the DHDF tests to reproduce values from a publication. The other tests used cc-pVDZ. My bad for the confusion, sorry.
PSI4 should be much closer with the correct basis ;-). If you check my PBE values in dft-custom-gga, you can see that only TM reproduces the PSI4 values to the 5th decimal. ORCA and Gaussian deviate a bit. Very sensitive to the constants used, i think.
This comparison with ORCA passes:
https://gist.github.com/hokru/fd97a2cc67404be4a8835925c06616a4
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK I see. I need to learn how to read. The DSD-BLYP is also with FC=TRUE already, so I'll just lump them together.
This should be all. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking good, thanks for the functionals!
psi4/driver/qcdb/dashparam.py
Outdated
'm062x' : {'s6': 1.0, 's8': 0.00 , 'sr6': 1.619, 'alpha6': 14.0}, | ||
'm06hf' : {'s6': 1.0, 's8': 0.00 , 'sr6': 1.446, 'alpha6': 14.0}, | ||
'm06-l' : {'s6': 1.0, 's8': 0.00 , 'sr6': 1.581, 'alpha6': 14.0}, | ||
'm06l' : {'s6': 1.0, 's8': 0.00 , 'sr6': 1.581, 'alpha6': 14.0}, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like some duplicates m06l
and m062x
probably from when I copied over Grimme's parameter tables. Since these are now actually hooked up to fctls with -
keys, go ahead and remove the duplicates.
REACH OF DESTRUCTION. MEN ARE MORTAL; BUT IDEAS | ||
ARE IMMORTAL. | ||
-- WALTER LIPPMANN | ||
Job cpu time: 0 days 0 hours 0 minutes 14.0 seconds. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This program can be sensitive. It'd be good to remove the "Job cpu time" lines from the output files. And you may want to zip these files. And if you're not the license holder, you may want to make sure the license holder is ok with posting the files.
compare_values(-128.882490613961, edhdf, 6, 'Ne: DSD-BLYP') #TEST | ||
clean() | ||
|
||
edhdf = energy('pbe0-dh') |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In definition above says pbe0-dh
is disabled, and it is disabled in the superfuncs dict. Yet testing it here. Is there an inconsistency or how does this work?
- removed timing info - prepended version name
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great and ready to go for my part. We just need to check something, and I don't want this to get inadvertently merged in the meantime.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the new functionals and tests!
Description
Added and tested the following functionals. For the last two, unfortunately no bench value is provided.
Added worker functions for SCAN family of functionals, however without XC_MGGA_C_SCAN (which is available in LibXC 3.0.1) they won't work - commented out.
See http://forum.psicode.org/t/libxc-density-functionals/589/