-
Notifications
You must be signed in to change notification settings - Fork 169
Parses ORCA dispersion correction #418
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
Conversation
First of all thanks! Parsing the dispersion part would be great. But I don't think
I'm also thinking we could consider parsing all six DFT energy components and generalize in that direction. @berquist @ATenderholt what do you guys think? As far as the logfile, could you fold that into the existing dft example we have? Is it possible to print and parse the other components as easily? |
Most of the time it's empirical, that's correct. But there are nonlocal, nonempirical dispersion functionals (VV10 to name the most popular) that are density-dependent. However, this is a moot point as they are self-consistent and can't be separated from the SCF energy.
You can add empirical corrections to Hartree-Fock; one of Grimme's predefined set of parameters is for Hartree-Fock. There is also his HF-3c method, which is based on Hartree-Fock and incorporates an empirical correction. The - part of the diff is the PR logfile, which actually uses HF, and the + part is a PBE0 calculation I ran.
I think they could be added to
One thing we need to be careful of: I just tested and confirmed that for ORCA, the dispersion correction isn't added to When parsing One possible answer is that Thoughts? |
Well, I did not know about this case, I think I'll need to read up. The point is well taken, though, and you could in principle compute dispersion in some perturbative way akin to SAPT which would be interesting to parse. Nonetheless, I am somewhat wary here since we are talking about an empirical correction, one of many possible. OTOH, I suppose you could use the same argument against any ab initio method, in the sense that it is an approximation. It's not a valid argument to not parse the data if it's there. We can deal with the nuances once we make attributes more flexible in 2.x (yay!). I'm OK now with this. However, maybe we should call the attribute I don't think scfenergies should include any such corrections, though, if they are not part of the self-consistent computation. This is the approach we've taken with |
So, @berquist are you OK with merging this as-is? Do you prefer |
Let me try and run some -D3 calculations with as many programs as I can, and I'll think about it. |
@berquist any thoughts on how to deal with dispersion? |
Pushing back to v1.5.4, but let's try to resolve this before the summer. |
I did end up running a bunch of calculations and will revisit this in the summer. There are complaints on the Q-Chem issue tracker about how the dispersion energy is displayed, which may help decide this. |
Unfortunately this needs to be modified due to a recent refactorting. |
------------------------------------------------------------------------------- | ||
DFT DISPERSION CORRECTION | ||
|
||
DFTD3 V3.1 Rev 1 |
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.
Is the dispersion version parsed somewhere else? Shouldn't this be done?
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.
Yes, but I'm hesitant to just stick it in metadata
, because I think there is a better solution: If the standalone DFTD3 program produces output that is formatted the same as the above, we could use this as a test case for instantiating a parser inside a parser. It is probably worth having a DFTD3 parser.
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 good. Can this be merged?
I think we ended up agreeing that this PR is what we want. #745 actually contains all the above changes, so I'm going to close this in favor of finishing that PR. |
This PR parses the the dispersion correction in ORCA. Since a dispersion correction is done for every scf calculation, the dispersion energies are placed in an array that mirror the scf energies. Is this how we would like to organize it?