Annoying problem with SAPT

I am trying to calculate ‘energy(‘sapt2+’)’, but I keep getting the following error:
Orbital Information

NSO        =       230
NMO        =       230
NRI        =       516
NOCC A     =        16
NOCC B     =         1
FOCC A     =         0
FOCC B     =         0
NVIR A     =       214
NVIR B     =       229

Estimated memory usage: 538.7 MB

Natural Orbital Cutoff:   1.000E-06
Disp(T3) Truncation:            Yes
CCD (vv|vv) Truncation:         Yes
MBPT T2 Truncation:             Yes

Traceback (most recent call last):
File “/usr/local/easybuild/software/PSI4/1.3.2-intel-2019b-Python-3.7.4/bin/psi4”, line 287, in
exec(content)
File “”, line 42, in
File “/usr/local/easybuild/software/PSI4/1.3.2-intel-2019b-Python-3.7.4/lib//python3.7/site-packages/psi4/driver/driver.py”, line 556, in energy
wfn = procedures[‘energy’][lowername](lowername, molecule=molecule, **kwargs)
File “/usr/local/easybuild/software/PSI4/1.3.2-intel-2019b-Python-3.7.4/lib//python3.7/site-packages/psi4/driver/procrouting/proc.py”, line 3404, in run_sapt
e_sapt = core.sapt(dimer_wfn, monomerA_wfn, monomerB_wfn)

RuntimeError:
Fatal Error: PSIO Error
Error occurred in file: /usr/local/easybuild/build/PSI4/1.3.2/intel-2019b-Python-3.7.4/psi4-1.3.2/psi4/src/psi4/libpsio/error.cc on line: 128
The most recent 5 function calls were:

psi::PsiException::PsiException(std::__cxx11::basic_string<char, std::char_traits, std::allocator >, char const*, int)
psi::PSIO::rw(unsigned long, char*, psi::psio_address, unsigned long, int)

Printing out the relevant lines from the Psithon → Python processed input file:
mol.set_basis_all_atoms(“aug-cc-pvtz”, role=role)
mol.set_basis_by_symbol(“b”, “aug-cc-pv(t+d)z”, role=role)
return basstrings
qcdb.libmintsbasisset.basishorde[‘ANONYMOUS7A994227’] = basisspec_psi4_yo__anonymous7a994227
core.set_global_option(“BASIS”, “anonymous7a994227”)
→ energy(‘sapt2+’)

Psi4 stopped on: Tuesday, 11 October 2022 12:51PM
Psi4 wall time for execution: 0:00:04.97

*** Psi4 encountered an error. Buy a developer more coffee!

Have anyone of you seen/solved something like that?

It will be difficult to provide any assistance unless you include your full input file and the version of psi4 you are using. This error is common, and the culprit is usually:

  1. failing to provide enough memory
  2. failing to provide a scratch disk with enough disk space
  3. using an older version of psi4 that doesn’t support a particular element, basis set, or other requested feature

You can find more details on previous topics on PSIO errors in SAPT calculations. If the information in previous topics doesn’t solve your problem, please provide an input file and let us know what version of psi4 you use.

My input looks as follows"

set_memory(‘1000.0 MiB’)

molecule water_dimer {
0 1
B 0.156712000000 0.004990000000 0.000000000000
F 0.176382000000 -1.312359000000 0.000000000000
F 0.156712000000 0.663812000000 1.140585000000
F 0.156712000000 0.663812000000 -1.140585000000

0 1
H -2.611000000000 0.287923000000 0.000000000000
H -2.580814000000 -0.450259000000 0.000000000000
units angstrom
no_reorient
}

basis {
assign aug-cc-pvtz
assign b aug-cc-pv(t+d)z
}

energy(‘sapt2+’)

As you can see I ask for 1000.0 MiB, which is more than 538.7MB. I can see at the beginning of the output that:
"Memory set to 1000.000 MiB by Python driver.’

So it reads the memory correctly. Further in the output I can see " RHF Reference
4 Threads, 1000 MiB Core"
So the memory is read correctly by the software. It looks like psi4 forgets how much memory is available at the beginning of SAPT… I tried increasing memory to as high as 70gb, but with no effect. I am using PSI4/1.3.2.

Follow guidance on asking topics. In particular, your input file isn’t properly formatted.

Can I possibly convince you to upgrade your Psi version? 1.3.2 is old enough that newer versions of Psi may not have this issue.

Your conclusion that Psi4 “forgets how much memory available” seems unlikely to me.