['H' , (-1.3558 , -5.0416 , 0.0000)],
    ['H' , (1.3558  , -5.0416 , 0.0000)],
    ['C' , (2.4150  , 2.4083  , 0.0000)],
    ['C' , (-2.4150 , 2.4083  , 0.0000)],
    ['C' , (-2.4150 , -2.4083 , 0.0000)],
    ['C' , (2.4150  , -2.4083 , 0.0000)],
    ['H' , (3.1855  , 3.1752  , 0.0000)],
    ['H' , (-3.1855 , 3.1752  , 0.0000)],
    ['H' , (-3.1855 , -3.1752 , 0.0000)],
    ['H' , (3.1855  , -3.1752 , 0.0000)],
]

mol.basis = 'ccpvdz'
mol.verbose = 5
mol.output = 'fepor3.out'
mol.spin = 2
mol.symmetry = True
mol.build()

m = scf.ROHF(mol)
m.level_shift_factor = 1.5
scf.fast_newton(m)

mc = mcscf.CASSCF(m, 10, 10)
idx3d = [i for i,s in enumerate(mol.spheric_labels(1)) if 'Fe 3d' in s]
mo = dmet_cas.dmet_cas(mc, m.make_rdm1(), idx3d, base=0)
fci.addons.fix_spin_(mc.fcisolver, ss_value=2)  # Triplet, ss_value = S*(S+1)
mc.fcisolver.wfnsym = 'B1g'
mc.kernel(mo)

Exemple #2
0
mf.level_shift = 0.5
mf.conv_tol = 1e-8
mf = scf.newton(mf)
mf = scf.addons.remove_linear_dep_(mf)
mf.kernel()
dm = mf.make_rdm1()
mf.level_shift = 0.0
ehf = mf.kernel(dm)

aolst1 = ['N 2s']
aolst2 = ['N 2p']
aolst3 = ['N 3s']
aolst4 = ['N 3p']
aolst = aolst1 + aolst2
dm = mf.make_rdm1()
ncas, nelecas, mo = dmet_cas.dmet_cas(mf, dm, aolst, threshold=0.1)

mc = mcscf.CASSCF(mf, ncas, nelecas)
mc.max_cycle_macro = 250
mc.max_cycle_micro = 7
mc.chkfile = name + '.chk'
mc.fcisolver = fci.direct_spin0_symm.FCI()
mc.fix_spin_(shift=.5, ss=0)
#mc.__dict__.update(scf.chkfile.load(name+'.chk', 'mcscf'))
#mo = lib.chkfile.load(name+'.chk', 'mcscf/mo_coeff')
mc.kernel(mo)

nmo = mc.ncore + mc.ncas
rdm1, rdm2 = mc.fcisolver.make_rdm12(mc.ci, mc.ncas, mc.nelecas)
rdm1, rdm2 = mcscf.addons._make_rdm12_on_mo(rdm1, rdm2, mc.ncore, mc.ncas, nmo)
 H  1.43795729 -5.04060815 0.04985411 
 H  -1.27684987 -5.06877289 -0.12824309 
 H  -5.00855059 -1.41765215 -0.01035659 
 H  -5.04737524 1.29653551 0.17667822 
 H  -1.40616152 5.05922415 0.08331755 
 H  1.31031821 5.09342413 -0.07916045 
 H  5.04427471 1.43839473 0.01993186 
 H  5.08063140 -1.27727697 0.17277168 
 O  0.09029280 0.03455842 -2.06604676 
 H  0.10929032 -0.90694603 -2.34586589 
 H  -0.74736518 0.39995573 -2.42321963 
 O  -0.05312529 -0.01378499 1.85709184 
 H  0.85240106 0.06013925 2.23423092 
"""
mol.basis = "cc-pvdz"
mol.output = "fepor5.out"
mol.charge = 1
mol.spin = 4
mol.build()

mf = scf.RHF(mol)
mf.level_shift_factor = 1.5
# mf.chkfile = 'fepor5.chk'
mf = scf.fast_scf(mf)

mc = mcscf.density_fit(mcscf.CASSCF(mf, 10, 10))
# search Fe 3d orbitals for DMET impurity
idx = [i for i, s in enumerate(mol.spheric_labels(1)) if "Fe 3d" in s]
mo = dmet_cas.dmet_cas(mc, mf.make_rdm1(), idx)
mc.kernel(mo)