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?