=> Auxiliary Basis Set <=
Basis Set: (3-21G AUX)
Blend: DEF2-UNIVERSAL-JKFIT
Number of shells: 58
Number of basis functions: 377
Number of Cartesian functions: 377
Spherical Harmonics?: false
Max angular momentum: 6
Traceback (most recent call last):
File "/share/apps/miniconda/py3/2021.11/envs/psi4test/bin/psi4", line 338, in <module>
exec(content)
File "<string>", line 23, in <module>
File "/share/apps/miniconda/py3/2021.11/envs/psi4test/lib//python3.10/site-packages/psi4/driver/driver.py", line 639, in gradient
wfn = procedures['gradient'][lowername](lowername, molecule=molecule, **kwargs)
File "/share/apps/miniconda/py3/2021.11/envs/psi4test/lib//python3.10/site-packages/psi4/driver/procrouting/proc.py", line 93, in select_scf_gradient
return func(name, **kwargs)
File "/share/apps/miniconda/py3/2021.11/envs/psi4test/lib//python3.10/site-packages/psi4/driver/procrouting/proc.py", line 2680, in run_scf_gradient
grad = core.scfgrad(ref_wfn)
RuntimeError: Engine::lmax_exceeded -- angular momentum limit exceeded
I find that this is related to the MAX_AM_ERI parameter during libint2 compiling. The PSI4 document on How to get high angular momentum integrals from conda mentions that “The Linux package has base MAX_AM_ERI=7”. I tried to install psi4 by either one of the following method:
With the binaries from conda, I still get the lmax_exceeded error. Am I missing something? Can anyone please tell me what is the correct way to install libint2 with MAX_AM_ERI=7?
Yes, I’m sorry; unfortunately, the integrals library is in a long transition period, and those are old notes you found. As an aside, one can’t switch out integrals libraries without recompiling psi4 itself. At the moment, I can’t build a larger AM lib, but I’m working on that.
Now to practicalities. What is your actual target basis set if not 3-21G? All the Karlsruhe (def2) basis sets (and misc. ones like 3-21g) use a common/universal jkfit basis that’s quad-zeta quality. If this was a non-TM molecule, and if you’re using a double- or triple-zeta orbital/primary basis, I’d suggest you could set df_basis_scf aug-cc-pvdz-jkfit (or tz) to get a tuned aux basis that’s doesn’t require such high AM. Unfortunately, even the basis set exchange doesn’t have a JKFIT for zinc besides the def2 one.
At the moment, the only things I can think of are:
do a custom aux basis and comment out the I functions for zinc to save the one AM level I think you’re over
I think energies are fine – the trouble comes with gradients. you could do finite difference gradients gradient(..., dertype=0)
download psi4 v1.5 (c. Dec 2021) for Linux. That was built with higher AM than the v1.6 and v1.7 that were released in 2022.