GDMA problem: "CC" density not found

psi4 version: 1.8a1.dev29

input code:

memory 60 GB

set basis 6-311G(d,p)
set basis_guess False

set scf_type df
set opt_type min
set dynamic_level 1
set guess sad

set max_energy_g_convergence 1.0
set max_force_g_convergence 1.0
set max_disp_g_convergence 0.100
set rms_force_g_convergence 1.0
set rms_disp_g_convergence 1.0

set_num_threads(6)
molecule mol {
0 1
C 0.00000 0.00000 0.00000
Cl 0.00000 0.00000 1.76990
Cl 1.66870 0.00000 -0.59000
Cl -0.83430 -1.44510 -0.59000
Cl -0.83430 1.44510 -0.58990

no_com
no_reorient
units angstrom
}

optimize(‘mp2’)

grad, wfn = gradient(‘mp2’, return_wfn=True)
set gdma_limit 2
set gdma_switch 0
set gdma_radius [H, 0.65, C, 0.65, N, 0.65, O, 0.65, F, 0.65, S, 0.9, P, 0.9, Cl, 0.9, Br, 1.1, I, 1.3]

Wavefunction.to_file(wfn, ‘162-LL.wfn’)
fchk(wfn, ‘162-LL.fchk’)
gdma(wfn)


When the code runs and gets to gdma, the error.msg file prints:
CC density not found


The problem is in function gdma() in driver.py, which still uses the method fw.writer to save the fchk file, which does not output the CC/MP2 density.
The second problem is that the name changed from CC to MP2 density, so the change to to densname is also necessary.

The fix in driver.py,

    # Start by writing a G* checkpoint file, for the GDMA code to read in
    #fw = core.FCHKWriter(wfn)  ## comment this line
    molname = wfn.molecule().name()
    prefix = core.get_writer_file_prefix(molname)
    fchkfile = prefix + '.fchk'
    fchk(wfn, fchkfile) ## add this line
    #fw.write(fchkfile)  ## comment this line

    if datafile:
        commands = datafile
    else:
        if wfn.reference_wavefunction():
            # densname = "CC" ## comment this line
            densname = "MP2" ## add this line