PCMSolver Fatal Error: PSIO Error

Hello,

I have been using PSI4 to investigate non-covalent interactions for associating systems (hydrogen bonding and mixed influence). Most of the calculations using PCMSolver have gone quite well (14 systems optimized so far), but I have a recurring problem for several systems that I don’t understand. The error message shown below is the same for methanol-ethene, water-benzene, and water-dimethyl ether.

john@john-XPS-8500:~/Desktop/results/methanol_ethene/pcm_geometry$ psi4 methanol_ethene_pcm_geometry.in -o methanol_ethene_pcm_geometry.out -n 8 &
[1] 29666
john@john-XPS-8500:~/Desktop/results/methanol_ethene/pcm_geometry$ Performing finite difference calculations
61 displacements needed … 1PSIO_ERROR: unit = 93, errval = 17
PSIO_ERROR: 17 (Incorrect block start address)
terminate called after throwing an instance of ‘psi::PsiException’
what():
Fatal Error: PSIO Error
Error occurred in file: /home/john/psi4src/psi4/src/psi4/libpsio/error.cc on line: 129
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_error(unsigned long, unsigned long)
psi::PSIO::write(unsigned long, char const*, char*, unsigned long, psi::psio_address, psi::psio_address*)
psi::AIOHandler::call_aio()

An example input for methanol-ethylene is shown below (I added a " before the – so it wouldn’t render bold). This input file template has been used successfully for many other systems. I’m unsure why only three systems would be having trouble.

molecule methanol_ethene {
0 1
C -0.413854749185 1.828342002927 -0.696120352978
C -0.317745291380 1.781443283780 0.630511356569
H -1.194875800155 1.706916720941 1.253389637745
H 0.640772843405 1.818105336036 1.123150211971
H 0.463314865058 1.905349822583 -1.318713924635
H -1.372151456358 1.793314223242 -1.189452840148
"–
0 1
C 0.994119768699 -1.771564553839 0.216238002903
O -0.333274612129 -1.448259962555 -0.154024349535
H -0.404714264893 -0.489499309781 -0.157614895002
H 1.070470501593 -2.853346614233 0.217764206063
H 1.238553426443 -1.407590083650 1.214112381331
H 1.722162401831 -1.375692862116 -0.491670352605
}

set {
basis aug-cc-pVTZ
opt_coordinates both
dynamic_level 3
scf_type pk
memory 16000mb
geom_maxiter 200
pcm true
pcm_scf_type total
}

pcm = {
Units = Angstrom
Medium {
SolverType = IEFPCM
Solvent = Methanol
}
Cavity {
RadiiSet = UFF
Type = GePol
Scaling = False
Area = 0.3
Mode = Implicit
}
}

optimize(‘MP2’, molecule=methanol_ethene, dertype=‘energy’)

I put all the files on Dropbox if you would like to review them. Thanks in advance for any insights or suggestions you can provide!

John

Hello,

The error I originally posted came when running the input files on my XPS 8500 (32gb ram, 1 x quad core). I built psi4 again on my T5600 (128gb ram, 2 x 8 core Xeon) and ran the same input files. Still getting the same error.

john@john-Precision-T5600:~/Desktop/psi4 trial$ psi4 water_dimethyl_ether_pcm_geometry.in -o test.out -n 16 &
[1] 3524
john@john-Precision-T5600:~/Desktop/psi4 trial$ Performing finite difference calculations
61 displacements needed … 1PSIO_ERROR: unit = 93, errval = 17
PSIO_ERROR: 17 (Incorrect block start address)
terminate called after throwing an instance of ‘psi::PsiException’
what():
Fatal Error: PSIO Error
Error occurred in file: /home/john/psi4source/psi4/src/psi4/libpsio/error.cc on line: 129
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::write(unsigned long, char const*, char*, unsigned long, psi::psio_address, psi::psio_address*)

Two totally different sets of hardware both running essentially new builds of psi4. I don’t know what I can do to get around the error at this point. The hardware (memory, cpu, disk space) is not maxed out when running psi4 either (screen shot). @robertodr, do you have any thoughts?

As always, thanks in advance for any insights or suggestions you can provide!

Thanks,
John

Hello again,

I changed ‘scf_type pk’ to ‘scf_type df’ and everything works fine now. I’m still unsure why ‘scf_type pk’ is failing. It seems like the problem might be related to system size. Maybe problems occur after the total number of basis functions in the system exceeded a certain threshold? Size limitations should scale with system hardware, yet I encounter the exact same error for a given system on a computer with 32gb ram and on a computer with 128gb ram. Issue probably resolved…but still not well understood.

I’ll be working through ‘problem’ systems over the next several days to see if using ‘scf_type df’ completely solves the problem. Currently running water-dimethyl ether and methanol-ethene without issues.

Successes:

  • Water-Hydrogen
  • Water-Nitrogen
  • Water-Methane
  • Water-Ethane
  • Water-Ethene
  • Water-Carbon Monoxide
  • Water-Carbon Dioxide
  • Water-Hydrogen Sulfide
  • Water-Water
  • Methanol-Water
  • Methanol-Nitrogen
  • Methanol-Methane
  • Methanol-Carbon Monoxide
  • Methanol-Carbon Dioxide
  • Methanol-Hydrogen Sulfide

Problems:

  • Water-Benzene
  • Water-Dimethyl Ether
  • Methanol-Ethene
  • Methanol-Ethane
  • Methanol-Benzene
  • Methanol-Dimethyl Ether
  • Methanol-Methanol

Thanks,
John

Hi John, and apologies for being lackluster on this issue. As far as I know, the only hardcoded limit in the integral evaluation is the maximum angular momentum. The basis you’re using is however well within the default limit and in any case the error would have been caught much earlier and you’d have seen a much more meaningful error message. Since density-fitting seems to be solving your problem I’ll risk the following diagnosis. Using exact (PK) ERIs exceeds disk usage for your large-ish geometry optimizations.