예제 #1
0
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,\
예제 #2
0
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,\