el = 'O' charge = 1 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 mol.spin = 1 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, 3, 3) #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,\ fully_ic=True,\
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,\ fully_ic=True,\
molname = el + 'O' mol = gto.Mole() mol.ecp = {} mol.basis = {} for e in [el, 'O']: mol.ecp[e] = gto.basis.parse_ecp(df[e]['ecp']) mol.basis[e] = gto.basis.parse(df[e][basis]) mol.charge = charge mol.spin = spins[molname] print('spin', molname, mol.spin) mol.build(atom="%s 0. 0. 0.; O 0. 0. %g" % (el, re[molname]), verbose=4) m = ROHF(mol) m = scf.newton(m) energy = m.kernel() m.analyze() ncas = 13 ncore = 4 nelec = (mol.nelec[0] - ncore, mol.nelec[1] - ncore) myci = mcscf.CASCI(m, ncas, nelec, ncore=ncore) myci.run() ci = myci.ci e = myci.e_tot mo = myci.mo_coeff d = pd.DataFrame({'energy': [e], 'spin': [spin], 'ci': [ci], 'mo': [mo]}) d.to_json('casci.json')