Skip to content
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

Allow access to Cartesian multipole derivatives #340

Merged
merged 2 commits into from
Oct 23, 2024

Conversation

EricaCMitchell
Copy link
Contributor

Addresses Issue #236 by enabling access to Cartesian one-body property derivatives.

Acts similarly to the DISABLE_ONEBODY_PROPERTY_DERIVS by just skipping formation of the files if SphericalMultipoleOper && deriv_level > 0 is detected.

#ifdef DISABLE_ONEBODY_PROPERTY_DERIVS
  const auto property_operator =
      !(std::is_same<_OperType, OverlapOper>::value ||
        std::is_same<_OperType, KineticOper>::value ||
        std::is_same<_OperType, ElecPotOper>::value);
  if (property_operator && deriv_level > 0) return;
#endif

Obviously, the configure.ac file has no effect for when Libint is switched to CMake, but I've changed the build_libint.cc with Lori's branch new-cmake-2023-take2-b with Psi4 before and this works with the change as well.

In response to @loriab Issue #236, I am able to match Psi4's McMurchie-Davidson dipole derivatives through a separate implementation in the GitHub repo Quax (https://github.com/EricaCMitchell/Quax/blob/dipoles/quax/integrals/libint_interface.cc). So the dipole derivative ints Psi4 is seeking may just be a small issue on the Psi4 side or fixed by improvements to Libint since the issue was raised.

Copy link
Owner

@evaleev evaleev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks!

@evaleev evaleev merged commit 7a1a9d8 into evaleev:master Oct 23, 2024
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants