Out of memory using PCM model: Geom. optimization of lithiated ethylene carbonate

Psi4 version: 1.7 release


I am trying to test if Psi4 is able to calculate the reduction potential of ethylene carbonate using a PCM model (with a lithium-ion being included in the calculations). I have successfully done this in Gaussian in the past. The ultimate goal is to be able to calculate reduction potentials of different molecules for lithium-ion battery applications. I am doing those calculations on a HPC cluster.

I have done multiple tests and I always get the following error: ‘‘slurmstepd: error: Detected 1 oom-kill event(s) in StepId=314526.batch. Some of your processes may have been killed by the cgroup out-of-memory handler.’’

Note that I don’t get that error in the gas phase and I don’t get that error when I use a PCM model on ethylene carbonate only. I did try increasing memory without success so far.

I am wondering if the memory issue is caused by another underlying problem. I would appreciate any help.

Here is the input file:

# LiEC- b3lyp opt  3-21G

memory 20 GB

molecule LiEC {
-1 2
   C        1.6230750     -0.5328500     -0.0904440
   C        1.3287870      0.9524090      0.1494850
   H        2.3620620     -0.9424150      0.5939820
   H        1.9445140     -0.7124310     -1.1208370
   H        1.5566730      1.2526410      1.1745900
   H        1.8712660      1.6025010     -0.5380760
   C       -0.6212850     -0.2535250     -0.3170180
   O       -1.8186030     -0.4588300      0.0676720
   O       -0.0790880      1.0627070     -0.0684040
   O        0.3705690     -1.1603930      0.1527410


1 1
  Li       -3.1873000      0.7515410      0.0932230

set basis 3-21G
set reference uhf
set pcm true

pcm = {
Units = Angstrom
Medium {
SolverType = IEFPCM
Solvent = Explicit
Proberadius = 1.5


Cavity {
RadiiSet = UFF
Type = GePol
Scaling = False
Area = 0.3
Mode = Implicit


and the SLURM script:

#SBATCH -J test # Job name
#SBATCH -n 32 # Number of total cores
#SBATCH -N 1 # Number of nodes
#SBATCH -A hidden
#SBATCH -p cpu
#SBATCH -t 2-00:00:00
#SBATCH --mem-per-cpu=3000 # Memory pool for all cores in MB
#SBATCH -e test_%j.err
#SBATCH -o test_%j.out # File to which STDOUT will be written %j is the job #

echo "Job started on `hostname` at `date`"
#source activate envname

psi4 -i LiEC.dat -o LiEC.out -n 32 

echo " "
echo "Job Ended at `date`"

I don’t have any targeted advice, but I do notice that the input file is allowing 20GB and the slurm script only 3GB. Try the 20 for both, perhaps.

Hi, 3 GB is the memory per cpu, so 64 GB in total. I did try #SBATCH --mem=100G instead with the same amount of memory in the input file (also tried 50 GB in the input file). I get the following error now:

invalid value encountered in double_scalars
invalid value encountered in double_scalars
invalid value encountered in double_scalars
invalid value encountered in double_scalars
invalid value encountered in double_scalars
invalid value encountered in double_scalars
forrtl: severe (174): SIGSEGV, segmentation fault occurred
Image              PC                Routine            Line        Source             
libgdma.so         00007F7943A950DC  for__signal_handl     Unknown  Unknown
libpthread-2.17.s  00007F79533C1630  Unknown               Unknown  Unknown
core.cpython-310-  00007F79507127BE  Unknown               Unknown  Unknown
core.cpython-310-  00007F7950797694  Unknown               Unknown  Unknown
core.cpython-310-  00007F795079775B  Unknown               Unknown  Unknown
core.cpython-310-  00007F7950391A83  Unknown               Unknown  Unknown
python3.10         00000000004FE1A7  Unknown               Unknown  Unknown
python3.10         00000000004F7B8B  _PyObject_MakeTpC     Unknown  Unknown
python3.10         00000000004F3DB6  _PyEval_EvalFrame     Unknown  Unknown
python3.10         0000000000594B72  Unknown               Unknown  Unknown
python3.10         0000000000594AB7  PyEval_EvalCode       Unknown  Unknown
python3.10         00000000005C6E57  Unknown               Unknown  Unknown
python3.10         00000000005C1D40  Unknown               Unknown  Unknown
python3.10         000000000045ADF2  Unknown               Unknown  Unknown
python3.10         00000000005BC25F  _PyRun_SimpleFile     Unknown  Unknown
python3.10         00000000005BC063  _PyRun_AnyFileObj     Unknown  Unknown
python3.10         00000000005B8E7D  Py_RunMain            Unknown  Unknown
python3.10         0000000000587C29  Py_BytesMain          Unknown  Unknown
libc-2.17.so       00007F79528FD555  __libc_start_main     Unknown  Unknown
python3.10         0000000000587ADE  Unknown               Unknown  Unknown

Would appreciate any help to figure out why this happens.