element = 'Cu' mol = gto.Mole() mol.ecp = {} mol.basis = {} for el in [element, 'O']: mol.ecp[el] = gto.basis.parse_ecp(df[el]['ecp']) mol.basis[el] = gto.basis.parse(df[el][basis]) mol.charge = 0 mol.spin = spins[element + 'O'] mol.build(atom="%s 0. 0. 0.; O 0. 0. %g" % (element, re[element + 'O']), verbose=4) m = ROHF(mol) m.level_shift = 1000.0 dm = m.from_chk("../../../../HF/monoxides/" + element + basis + "0.chk") hf = m.kernel(dm) m.analyze() from pyscf.shciscf import shci mc = shci.SHCISCF(m, 9, 4 + cas[element]) #mc.fcisolver.conv_tol = 1e-14 mc.fcisolver.mpiprefix = "mpirun -np 28" mc.fcisolver.num_thrds = 12 mc.verbose = 4 cas = mc.kernel()[0] from pyscf.icmpspt import icmpspt pt=icmpspt.icmpspt(mc,rdmM=500, PTM=1000,\ pttype="MRLCC",\ third_order=True,\
mol = gto.Mole() mol.ecp = {} mol.basis = {} mol.ecp[el] = gto.basis.parse_ecp(df[el]['ecp']) mol.basis[el] = gto.basis.parse(df[el][basis]) mol.charge = charge if el == 'Cr' or el == 'Cu': mol.spin = spins[el] - charge else: mol.spin = spins[el] + charge mol.build(atom="%s 0. 0. 0." % el, verbose=4) m = ROHF(mol) m.level_shift = 1000.0 dm = m.from_chk("../../../../HF/atoms/" + el + basis + str(charge) + ".chk") hf = m.kernel(dm) m.analyze() from pyscf.shciscf import shci mc = shci.SHCISCF(m, 6, cas[el] - charge) #mc.fcisolver.conv_tol = 1e-14 mc.fcisolver.mpiprefix = "mpirun -np 28" mc.fcisolver.num_thrds = 12 mc.verbose = 4 cas = mc.kernel()[0] from pyscf.icmpspt import icmpspt pt=icmpspt.icmpspt(mc,rdmM=500, PTM=1000,\ pttype="MRLCC",\ third_order=True,\