DETCI seg fault when asking for the two-particle density matrix

Psi4 version (conda installation): 1.7

Hi all,

I want to compute the two-particle density matrix for a CIS wavefunction. I’m using DETCI with ex_level 1 and the option TPDM True to do this. The first molecule I’m having issues with is benzene with aug-cc-pVDZ (192 basis functions). Psi4 ends abruptly at the CI iterations stage without an error message printed to the Psi4 output file benzene_tpdm_out.txt (19.1 KB):

   ==> Starting CI iterations <==

    H0 Block Eigenvalue = -230.72715772

    Simultaneous Expansion Method (Block Davidson Method)
    Using 2 initial trial vectors

(sem_iter): H0block_->H0b_diag[1][1] - H0block_->H0b_diag[2][1] = 0.000000 - -0.000000 = 0.000000 > 1.0E-8
(sem_iter): H0block_->H0b_diag[1][2] - H0block_->H0b_diag[2][2] = 0.000000 - -0.000000 = 0.000000 > 1.0E-8
(sem_iter): H0block_->H0b_diag[1][3] - H0block_->H0b_diag[2][3] = 0.000000 - -0.000000 = 0.000000 > 1.0E-8
(sem_iter): H0block_->H0b_diag[1][4] - H0block_->H0b_diag[2][4] = 0.000000 - -0.000000 = 0.000001 > 1.0E-8
     Iter   Root       Total Energy       Delta E      C RMS

   @CI  0:     0   -230.727157721192   -4.3332E+02   2.3748E-07
   @CI  0:     1   -230.503647805567   -4.3309E+02   6.6332E-02

    Warning: Norm of correction (root 0) is < 1.0E-13
   @CI  1:     0   -230.727157721192   0.0000E+00   3.5912E-08 c
   @CI  1:     1   -230.508001834158   -4.3540E-03   1.0422E-02

   @CI  2:     0   -230.727157721192   -1.1369E-13   3.5911E-08 c
   @CI  2:     1   -230.508072710158   -7.0876E-05   1.5204E-03

   @CI  3:     0   -230.727157721192   5.6843E-14   3.5911E-08 c
   @CI  3:     1   -230.508074367022   -1.6569E-06   2.9527E-04

   @CI  4:     0   -230.727157721193   -1.1369E-13   3.5921E-08 c
   @CI  4:     1   -230.508074433234   -6.6212E-08   7.7697E-05 c


and I get the following segmentation fault:

forrtl: severe (174): SIGSEGV, segmentation fault occurred

If I decrease the size of the basis to cc-pVDZ, Psi4 exits successfully. If I remove the option TPDM True, the benzene computation with aug-cc-pVDZ works fine, so it does seem to be related to the generation of the TPDM and the size of the basis.

Here is the input file I’m using:

memory 60 gb

molecule benzene {
C   1.028500  -0.451686  -0.839104
C   0.439900  -1.328286   0.081900
C   0.584200   0.874100  -0.922504
H   1.835600  -0.791586  -1.488404
C  -0.584240  -0.874086   0.922500
H   0.777200  -2.363386   0.145400
C  -0.439940   1.328300  -0.081904
H   1.033600   1.547900  -1.650204
H  -1.033540  -1.547886   1.650200
C  -1.028540   0.451700   0.839100
H  -0.777140   2.363400  -0.145404
H  -1.835540   0.791500   1.488400
symmetry c1
units angstrom
}

set {
basis aug-cc-pvdz
detci_freeze_core True
num_roots 2
follow_root 1
TPDM True
EX_LEVEL 1
}

energy('detci')

The amount of memory to store the TPDM (64*(192**4)) should be around 11 GB (or less since I’m freezing core orbitals), and I’m assigning more than this in the input file (60 GB, 8 threads). The overall memory usage of the job is around 25 GB.

Any ideas as to why Psi4 stops abruptly here?