Closed loriab closed 3 years ago
By mirroring the --with-eri3-max-am
setting in --with-max-am
, I'm able to get energies and gradients behaving. If my current Hessian build shows the expected characteristics in psi, I'll close this issue. I've added some guidance to CMakeLists.txt and configure.ac to warn others.
This is now understood and manageable. The Libint2 quirk is to mirror --with-max-am
to --with-eri3-max-am
(or maybe --with-max-am
= max(--with-eri-max-am
, --with-eri3-max-am
) -- I haven't explored and eri3 >= eri in practice). The downstream quirk is to be sure to initialize libint2::Engine
s with no greater-centered braket than needed, otherwise the AM check in l2 will throw on perfectly accessible integrals.
When one specifies explicit AM for tasks, but does not reset the general
with-max-am
, as in the setup below, the library builds just fine and tests just fine. When interfaced with Psi4, conventional Hartree--Fock energies run just fine up to the point wherelmax_exceeded
throws. DF Hartree--Fock energies run just fine up to cc-pVQZ but segfault at cc-pV5Z inxs_xx
If I bump up the general
with-max-am
to 6 to match the ERI, thendefine LIBINT2_CENTER_DEPENDENT_MAX_AM_3eri<deriv> 1
disappears fromlibint2_params.h
, far more library source files are generated (59k instead of 39k; ONEBODY AM 4->6 also happening), and the 5Z DF HF in Psi4 succeeds.You added the CENTER_DEPENDENT twist to the code, so to some extent this behavior must be expected, whereas I had supposed
with-max-am
to have a purely fallback role (catching ONEBODY and the like). Simplest thing to do is add some text to configure/CMakeLists.txt warning to bump the generalwith-max-am
along with specifying the explicit lists. I'm creating this issue to confirm with you that we've analyzed the situation correctly since CENTER_DEPENDENT is a little mysterious.By the way, libint tests fail with segfaults when I bump up
with-max-am
to 6 to suppress CENTER_DEPENDENT. @andysim pointed out that libint is generating zeros in the tests, so maybe just what-to-test logic involved there. I also checked with the libtool buildsystem (below) to the point of building the export tarball, and that, too, includes CENTER_DEPENDENT, so I'd expect it to have the same segfault problem in psi4 for DF.