-
Notifications
You must be signed in to change notification settings - Fork 455
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
McMurchie-Davidson integrals for angular momentum #2483
Conversation
Apparently, gcc6 on CI does not like structured bindings? I thought C++17 was fully supported 😞 |
Yeah, if we're going to allow C++17 we should upgrade the minimum GCC to version 7 in our CI. |
Yeah, I would preallocate the E in the constructor and then simply fill it with zeroes in the compute pair function. |
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 super nice, too.
|
||
ao12++; | ||
} | ||
for (auto& [l1, m1, n1, index1] : comps_am1) { |
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.
these two range based for loops should use const auto &
, as the loop variables are read-only
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 taking the time to do this - I think it's an excellent cleanup, and it also provides some very useful machinery for other OEI types. Kudos for the pytests - they will help us greatly as we continue to clean up the other integrals. LGTM!
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.
a few optional changes. lgtm!
I'll make the requested changes and squash-merge when CI passes. 👍 Thanks everyone for the reviews! |
Description
This PR refactors angular momentum integrals (
AngularMomentumInt
) using the McMurchie-Davidson scheme.It is the first PR of a series to replace most of the existing OS86 code with M-D (#2414). I've chosen the angular momentum integrals because they are really simple and only require the E matrix (Hermite-to-Cartesian conversion factors).
Todos
AngularMomentumInt
w/ M-D schemeQuestions
Checklist
Status