-
Notifications
You must be signed in to change notification settings - Fork 440
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
A/E DIIS #2320
A/E DIIS #2320
Conversation
|
There will be a change to the next version of the PR: ROHF ADIIS/EDIIS "capabilities" will be removed. As best as I can tell, an ROHF adaptation for ADIIS and EDIIS was never published, my numerical results when I try an adaptation are lackluster, and the formulation is awkward when I try to couple regular DIIS with ADIIS and EDIIS. If anybody thinks they know how to make ADIIS/EDIIS work for ROHF, let me know. Otherwise, the next version of the PR is RHF/UHF/CUHF only. |
During the course of working on this, I've decided a more extensive, very-API breaking refactor will be needed. The problem is that in the current iteration of the code, DIIS has the responsibility for doing the extrapolation, and that naturally fails if the user requests EDIIS but not DIIS. I'll need to refactor this to have classes just to compute EDIIS/ADIIS/DIIS coefficients, and another class to do the actual extrapolation step. |
5caf2c5
to
7246fee
Compare
This should be a functional PR. Adding tests would still be good, but I'll gladly take suggestions on what this tests should be. |
And I suppose now there's a dependency question: how do we feel about making |
How about the cadmium complex from Hu&Yang, and UF4 from Kudin et al? These probably don't converge without this branch. |
Added and passing, thanks. |
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.
First pass done 👍 This is an awesome feature addition! 🚀
25cd120
to
5b1a9b5
Compare
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 very nice and clean!
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.
Other than the keyword naming looks good
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.
LGTM 👍 I have no strong opinion on the INITIAL_...
keyword names, I think the current version, given the documentation, is fine. So it's up to you and/or others to decide whether to change these names or not 😄
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.
lgtm! only a few suggestions.
c9b56ab
to
0c516f3
Compare
The new keywords are
If anybody is unhappy with keyword names, provide an alternative name. Otherwise, I'll be merging this in 72 hours. |
* A/EDIIS
Description
Will close #2235 by implementing ADIIS and EDIIS.
I'm submitting this in a draft state to get second opinions on what I have so far. Unfortunately, due to issues with the Francesco group cluster, I can't do deep Vtune profiling, so it may be some time before I can proceed to the next step. I'll keep devs updated.
RHF and UHF EDIIS/ADIIS are working great, but not so much for ROHF. Disappointing, but not surprising. The EDIIS and ADIIS functionals don't account for the effective Fock matrix of ROHF theory.
Todos
Checklist
Status