Beispiel #1
0
from pyscf import lib
#from pyphf import util, guess
from automr import guess, autocas, cidump

lib.num_threads(4)

xyz = 'N 0.0 0.0 0.0; N  0.0 0.0 1.9'  #sys.argv[1]
#fch = 'n2.fchk' #sys.argv[2]
bas = 'cc-pvdz'

mf = guess.from_frag(xyz, bas, [[0], [1]], [0, 0], [3, -3], cycle=50)
mf = guess.check_stab(mf)

#mf2 = autocas.cas(mf)
# UNO -> CASSCF, no localization in this case.
mf2 = autocas.cas(mf, lmo='pm', gvb=True)
# UNO -> PM LMO -> assoc. rot. -> GVB -> CASSCF, no localization in this case.
Beispiel #2
0
from pyscf import lib
#from pyphf import util, guess
from automr import guess, autocas, cidump

lib.num_threads(4)

xyz = 'H 0.0 0.0 0.0; H  0.0 0.0 1.9' #sys.argv[1]
#fch = 'n2.fchk' #sys.argv[2]
bas = 'cc-pvdz'

mf = guess.mix(xyz, bas, conv='tight')
#mf = guess.from_frag(xyz, bas, [[0],[1]], [0,0], [3,-3], cycle=50)
#mf = guess.check_stab(mf)

mf2 = autocas.cas(mf)
# UNO -> CASSCF, no localization in this case.


#cidump.dump(mf2)

Beispiel #3
0
from pyscf import scf,dft, gto, lib
from automr import guess, autocas

lib.num_threads(8)
#mf=guess.from_fch_simp("v2.fchk", xc='pbe0')

#mf2.verbose=9
#mf2.stability()
mol = gto.Mole(atom='''V 0.0 0.0 0.0; V 0.0 0.0 1.77''', basis='def2-tzvp', spin=2)
mol.verbose = 4
mol.build()
mf = scf.UHF(mol)
mf.kernel()
mf = guess.check_stab(mf, newton=True)
mf2 = autocas.cas(mf, (8, (5,3)) )
mf4 = autocas.nevpt2(mf2)

mol2 = gto.Mole(atom='''V 0.0 0.0 0.0''', basis='def2-tzvp', spin=3)
mol2.verbose = 4
mol2.build()
mfb = scf.UHF(mol2)
mfb.kernel()
mfb = guess.check_stab(mfb, newton=True)
mfb2 = autocas.cas(mfb)
mfb4 = autocas.nevpt2(mfb2)

mol3 = gto.Mole(atom='''V 0.0 0.0 0.0''', basis='def2-tzvp', spin=1)
mol3.verbose = 4
mol3.build()
mfc = scf.UHF(mol3)
mfc.kernel()
Beispiel #4
0
from pyscf import lib
from automr import guess, autocas, mcpdft
import os, contextlib
import numpy as np

lib.num_threads(4)

os.system('mkdir -p scan')
for r in np.arange(0.8, 2.55, 0.1):
    output = 'scan/n2_%.1f.out' % r
    os.system("echo '\n' > %s" % output)
    print('scan %.1f' % r)
    with open(output, 'a', encoding='utf-8') as f:
        with contextlib.redirect_stdout(f):
            xyz = '''N 0.0 0.0 0.0; N 0.0 0.0 %f'''%r
            bas = 'cc-pvtz'

            mf = guess.from_frag(xyz, bas, [[0],[1]], [0,0], [3,-3], cycle=50)
            mf = guess.check_stab(mf)

            mf2 = autocas.cas(mf, (6,(3,3)), natorb=False)
            
            #mf3 = mcpdft.PDFT(mf2, 'tpbe')
            #mf3.kernel()
            
            mf4 = autocas.nevpt2(mf2)
from pyscf import lib, scf
#from pyphf import guess, suscf
from automr import autocas, guess

#lib.num_threads(8)

xyz = '''C                 -2.94294278    0.39039038    0.00000000
 C                 -1.54778278    0.39039038    0.00000000
 C                 -0.85024478    1.59814138    0.00000000
 C                 -1.54789878    2.80665038   -0.00119900
 C                 -2.94272378    2.80657238   -0.00167800
 C                 -3.64032478    1.59836638   -0.00068200
 H                 -3.49270178   -0.56192662    0.00045000
 H                 -0.99827478   -0.56212262    0.00131500
 H                  0.24943522    1.59822138    0.00063400
 H                 -0.99769878    3.75879338   -0.00125800
 H                 -3.49284578    3.75885338   -0.00263100
 H                 -4.73992878    1.59854938   -0.00086200
'''
bas = 'def2-svp'

mf = guess.mix(xyz, bas, conv='tight')

#mf2 = autocas.cas(mf, lmo='pm1')
mf2 = autocas.cas(mf, lmo='pm')
# pm: pm in pyscf, pm1: pm in MOKIT

Beispiel #6
0
from pyscf import lib
from automr import guess, autocas

lib.num_threads(4)

xyz = 'N 0.0 0.0 0.0; N  0.0 0.0 1.9'  #sys.argv[1]
#fch = 'n2.fchk' #sys.argv[2]
bas = 'cc-pvdz'

mf = guess.from_frag(xyz, bas, [[0], [1]], [0, 0], [3, -3], cycle=50)
mf = guess.check_stab(mf)

mf2 = autocas.cas(mf, symmetry='D2h')
from pyscf import lib
#from pyphf import util, guess
from automr import guess, autocas, cidump

lib.num_threads(4)

xyz = 'N 0.0 0.0 0.0; N  0.0 0.0 1.0'  #sys.argv[1]
#fch = 'n2.fchk' #sys.argv[2]
bas = 'cc-pvdz'

mf = guess.gen(xyz, bas, 0, 0)
#guess.check_stab(mf)

#mf2 = autocas.cas(mf, lmo='pm', gvb=True)
# This will invoke CAS(4,4)
mf2 = autocas.cas(mf, lmo='pm', gvb=True, act_user=(6, (3, 3)))
# User can enlarge the active space
Beispiel #8
0
from pyscf import lib, mcscf
from automr import guess, autocas

lib.num_threads(4)

mf = guess.gen(xyz='''Co 0.0 0.0 0.0''', bas='def2-tzvp', charge=2, spin=3)

mc = autocas.cas(mf, (5, (5, 2)), dry=True)

mc = mc.state_average_([
    1e0 / 7e0, 1e0 / 7e0, 1e0 / 7e0, 1e0 / 7e0, 1e0 / 7e0, 1e0 / 7e0, 1e0 / 7e0
])
mc.kernel()
ave_mo = mc.mo_coeff.copy()

mc = mcscf.CASCI(mf, 5, (5, 2))

mc.fcisolver.spin = 1
mc.fcisolver.nroots = 20
mc.kernel(ave_mo)
Beispiel #9
0
from pyscf import lib
from automr import guess, autocas, mcpdft

lib.num_threads(4)

xyz = 'N 0.0 0.0 0.0; N  0.0 0.0 1.9'  #sys.argv[1]
#fch = 'n2.fchk' #sys.argv[2]
bas = 'cc-pvdz'

mf = guess.from_frag(xyz, bas, [[0], [1]], [0, 0], [3, -3], cycle=50)
mf = guess.check_stab(mf)

mf2 = autocas.cas(mf, natorb=False)

mf3 = mcpdft.PDFT(mf2, 'tpbe')
mf3.kernel()