Skip to content

Various Paul updates (depends on 4 center integrals)#87

Merged
joshkamm merged 5 commits into
mainfrom
paul_may_update
May 14, 2026
Merged

Various Paul updates (depends on 4 center integrals)#87
joshkamm merged 5 commits into
mainfrom
paul_may_update

Conversation

@joshkamm
Copy link
Copy Markdown
Member

@joshkamm joshkamm commented May 7, 2026

integrals.cpp now has a long-range barrier potential option
also various changes to support Gaussian basis operations

In order for this to work, we need Paul's bug fix for the 4 center integrals in libcint as well as the compiler flag that turns on compilation of 4 center integral functions in libcint (see #82 ).

We could use compiler direct not compile the libcint wrapper 4 center integral function unless our custom modification to libcint is present (using compiler directives).
Specific function names: gen_4c_overlap_m4, gen_4c_overlap

  • Implement changes
  • Update documentation
  • Update tests
  • Look through pull request changes
  • Clean up code and retest
  • Increment version number

Closes ISSUE

integrals.cpp now has a long-range barrier potential option
also various changes to support Gaussian basis operations
@joshkamm joshkamm changed the title various updates Various Paul updates (depends on 4 center integrals) May 9, 2026
@joshkamm
Copy link
Copy Markdown
Member Author

Paul is trying to build an executable with his latest inversion stuff that isn't in XCtera yet depending on Srijita's recently merged branch to SlaterGPU. He wants this branch merged to main and combined with Srijita's changes before he does that. I just met with Paul and he just pushed an update adding a compiler directive to make most functionality in this branch work without the 4 center integral stuff in #82 . He did a quick update in the github interface though so before merging he'd like us to clean up the spacing / whitespace in his changes and add an option in the pixi/cmake build so someone can turn on the compiler directive he just added if they want to (it should currently be off by default). We could add a quick note in the readme so someone knows how to enable the 4 center integrals (which currently requires a manual libcint build linking directly to Paul's directory on athena).

joshkamm and others added 3 commits May 14, 2026 11:19
Adds a CMake variable that, when ON, defines the COMPILE_CINTW_4C
preprocessor macro for the cintw target. This macro gates the bodies
of gen_4c_overlap_m4 and gen_4c_overlap in cintwrapper.cpp, which
require libcint's cint4c1e_* functions (compiled only with a
non-default flag and affected by the known bug in issue #82).

Defaults to OFF. Mirrors the existing USE_ACC env-var pattern so users
can opt in via:

    export COMPILE_CINTW_4C=ON

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The #ifdef COMPILE_CINTW_4C inside gen_4c_overlap (cintwrapper.cpp:756)
was 1-space indented; the matching one inside gen_4c_overlap_m4 and
both #else / #endif lines are 2-space. Normalize to match.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@joshkamm joshkamm marked this pull request as ready for review May 14, 2026 18:41
@joshkamm joshkamm merged commit 265f54e into main May 14, 2026
1 check passed
@joshkamm joshkamm deleted the paul_may_update branch May 17, 2026 00:50
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