提交 c89e5d00 编辑于 作者: hebrewsnabla's avatar hebrewsnabla
浏览文件

add qchem interface

上级 be09df19
...@@ -7,8 +7,8 @@ from functools import partial, reduce ...@@ -7,8 +7,8 @@ from functools import partial, reduce
from lo import pm from lo import pm
from pyscf.lo.boys import dipole_integral from pyscf.lo.boys import dipole_integral
from auto_pair import pair_by_tdm from auto_pair import pair_by_tdm
import dump_mat from automr import dump_mat, bridge
import sys import sys, os
print = partial(print, flush=True) print = partial(print, flush=True)
einsum = partial(np.einsum, optimize=True) einsum = partial(np.einsum, optimize=True)
...@@ -145,6 +145,19 @@ def get_locorb(mf, localize='pm1', pair=True): ...@@ -145,6 +145,19 @@ def get_locorb(mf, localize='pm1', pair=True):
dump_mat.dump_mo(mf.mol,mf.mo_coeff[:,idx1:idx3], ncol=10) dump_mat.dump_mo(mf.mol,mf.mo_coeff[:,idx1:idx3], ncol=10)
return mf, alpha_coeff, npair, ncore return mf, alpha_coeff, npair, ncore
def do_gvb(mf, npair):
mo = mf.mo_coeff
basename = str(os.getpid())
bridge.py2qchem(mf, basename)
#os.system('mkdir -p /tmp/qchem/' + basename)
#os.system('cp test.q53 /tmp/qchem/test_qc/53.0
os.system('qchem %s.in %s.qout %s' % (basename, basename, basename))
gvbno = bridge.qchem2py(basename)[0]
mf.mo_coeff = gvbno
dump_mat.dump_mo(mf.mol, gvbno, ncol=10)
return mf, gvbno, npair
def check_uhf(mf): def check_uhf(mf):
dm = mf.make_rdm1() dm = mf.make_rdm1()
ndim = np.ndim(dm) ndim = np.ndim(dm)
...@@ -161,12 +174,15 @@ def check_uhf(mf): ...@@ -161,12 +174,15 @@ def check_uhf(mf):
return False, mf return False, mf
def cas(mf, act_user=None, crazywfn=False, max_memory=2000, natorb=True): def cas(mf, act_user=None, crazywfn=False, max_memory=2000, natorb=True, gvb=False):
is_uhf, mf = check_uhf(mf) is_uhf, mf = check_uhf(mf)
if is_uhf: if is_uhf:
mf, unos, unoon, nacto, (nacta, nactb), ndb, nex = get_uno(mf) mf, unos, unoon, nacto, (nacta, nactb), ndb, nex = get_uno(mf)
else: else:
mf, lmos, npair, ndb = get_locorb(mf) mf, lmos, npair, ndb = get_locorb(mf)
if gvb:
#npair=2
mf, gvbno, npair = do_gvb(mf, npair)
nacto = npair*2 nacto = npair*2
nacta = nactb = npair nacta = nactb = npair
nopen = nacta - nactb nopen = nacta - nactb
......
import numpy as np
import os
from automr import dump_mat
from functools import partial, reduce
print = partial(print, flush=True)
einsum = partial(np.einsum, optimize=True)
def print_mol(mol):
print(mol._basis)
print(mol.atom)
print(mol._atom)
print(mol.aoslice_by_atom())
print(mol.ao_labels())
#if mol.verbose >= logger.DEBUG:
mol.stdout.write('[INPUT] ---------------- BASIS SET ---------------- \n')
mol.stdout.write('[INPUT] l, kappa, [nprim/nctr], '
'expnt, c_1 c_2 ...\n')
for atom, basis_set in mol._basis.items():
mol.stdout.write('[INPUT] %s\n' % atom)
for b in basis_set:
if isinstance(b[1], int):
kappa = b[1]
b_coeff = b[2:]
else:
kappa = 0
b_coeff = b[1:]
nprim = len(b_coeff)
nctr = len(b_coeff[0])-1
if nprim < nctr:
logger.warn(mol, 'num. primitives smaller than num. contracted basis')
mol.stdout.write('[INPUT] %d %2d [%-5d/%-4d] '
% (b[0], kappa, nprim, nctr))
for k, x in enumerate(b_coeff):
if k == 0:
mol.stdout.write('%-15.12g ' % x[0])
else:
mol.stdout.write(' '*32+'%-15.12g ' % x[0])
for c in x[1:]:
mol.stdout.write(' %4.12g' % c)
mol.stdout.write('\n')
def py2qchem(mf, basename, is_uhf=False):
if is_uhf:
mo_coeffa = mf.mo_coeff[0]
mo_coeffb = mf.mo_coeff[1]
#mo_enea = mf.mo_energy[0]
#mo_eneb = mf.mo_energy[1]
else:
mo_coeffa = mf.mo_coeff
mo_coeffb = mf.mo_coeff
#mo_enea = mf.mo_energy
#mo_eneb = mf.mo_energy
mo_enea = np.zeros(len(mo_coeffa))
mo_eneb = np.zeros(len(mo_coeffa))
Sdiag = mf.get_ovlp().diagonal()**(0.5)
mo_coeffa = einsum('ij,i->ij', mo_coeffa, Sdiag).T
mo_coeffb = einsum('ij,i->ij', mo_coeffb, Sdiag).T
#dump_mat.dump_mo(mf.mol, mo_coeffa, ncol=10)
guess_file = np.vstack([mo_coeffa, mo_coeffb, mo_enea, mo_eneb]).flatten()
tmpbasename = '/tmp/qchem/' + basename
os.system('mkdir -p ' + tmpbasename)
with open(tmpbasename + '/53.0', 'w') as f:
guess_file.tofile(f, sep='')
create_qchem_in(mf, basename)
def create_qchem_in(mf, basename, uhf=False, sph=True):
atom = mf.mol.format_atom(mf.mol.atom, unit=1)
with open(basename + '.in', 'w') as f:
f.write('$molecule\n')
f.write(' %d %d\n' % (mf.mol.charge, mf.mol.spin+1))
for a in atom:
f.write(' %s %12.6f %12.6f %12.6f\n' % (a[0], a[1][0], a[1][1], a[1][2]))
f.write('$end\n\n')
'''f.write('$rem\n')
f.write(' method = hf\n')
if uhf:
f.write(' unrestricted = true\n')
f.write(' basis = cc-pvdz\n')
f.write(' print_orbitals = true\n')
f.write(' sym_ignore = true\n')
if sph:
f.write(' purecart = 1111\n')
else:
f.write(' purecart = 2222\n')
f.write(' scf_guess_print = 2\n')
f.write(' scf_guess = read\n')
f.write(' scf_convergence = 0\n')
f.write(' thresh = 12\n')
f.write('$end\n\n')
f.write('@@@\n\n')
f.write('$molecule\n')
f.write('read\n')
f.write('$end\n\n')'''
f.write('$rem\n')
#f.write(' method = hf\n')
f.write(' correlation = pp\n')
f.write(' gvb_local = 0\n')
f.write(' gvb_n_pairs = 2\n')
f.write(' gvb_print = 1\n')
if uhf:
f.write(' unrestricted = true\n')
f.write(' basis = cc-pvdz\n')
f.write(' print_orbitals = true\n')
f.write(' sym_ignore = true\n')
if sph:
f.write(' purecart = 1111\n')
else:
f.write(' purecart = 2222\n')
f.write(' scf_guess_print = 2\n')
f.write(' scf_guess = read\n')
f.write(' thresh = 12\n')
f.write('$end\n\n')
def qchem2py(basename):
with open('/tmp/qchem/' + basename + '/53.0', 'r') as f:
data = np.fromfile(f)
print(data.shape)
n = data.shape[0]
#x = sympy.Symbol('x')
#nmo = sympy.solve(2*x*(x+1) -n, x)
nmo = int(np.sqrt(n/2.0+0.25)-0.5)
moa = data[:nmo*nmo].reshape(nmo,nmo).T
mob = data[nmo*nmo:2*nmo*nmo].reshape(nmo,nmo).T
mo = (moa, mob)
return mo
\ No newline at end of file
...@@ -5,7 +5,7 @@ try: ...@@ -5,7 +5,7 @@ try:
import gaussian import gaussian
except: except:
print('fch2py not found. Interface with fch is disabled. Install MOKIT if you need that.') print('fch2py not found. Interface with fch is disabled. Install MOKIT if you need that.')
from pyphf import stability from automr import stability
import time import time
import copy import copy
......
...@@ -6,6 +6,7 @@ from pyscf.lib import logger ...@@ -6,6 +6,7 @@ from pyscf.lib import logger
from mrh.util.rdm import get_2CDM_from_2RDM, get_2CDMs_from_2RDMs from mrh.util.rdm import get_2CDM_from_2RDM, get_2CDMs_from_2RDMs
from mrh.my_pyscf.mcpdft.mcpdft import get_E_ot, _PDFT from mrh.my_pyscf.mcpdft.mcpdft import get_E_ot, _PDFT
from mrh.my_pyscf.mcpdft.otpd import get_ontop_pair_density from mrh.my_pyscf.mcpdft.otpd import get_ontop_pair_density
from functools import partial from functools import partial
print = partial(print, flush=True) print = partial(print, flush=True)
einsum = partial(np.einsum, optimize=True) einsum = partial(np.einsum, optimize=True)
......
#INFO: **** input file is /share/home/srwang/pyAutoMR/examples/33-N2-CASSCF.py **** #INFO: **** input file is /share/home/srwang/pyAutoMR/examples/33-N2-CASSCF.py ****
from pyscf import lib from pyscf import lib
#from pyphf import util, guess #from pyphf import util, guess
import guess, autocas, cidump from automr import guess, autocas, cidump
lib.num_threads(4) lib.num_threads(4)
...@@ -22,7 +22,7 @@ System: uname_result(system='Linux', node='xn01', release='3.10.0-1127.el7.x86_6 ...@@ -22,7 +22,7 @@ System: uname_result(system='Linux', node='xn01', release='3.10.0-1127.el7.x86_6
Python 3.7.4 (default, Aug 13 2019, 20:35:49) Python 3.7.4 (default, Aug 13 2019, 20:35:49)
[GCC 7.3.0] [GCC 7.3.0]
numpy 1.17.2 scipy 1.4.1 numpy 1.17.2 scipy 1.4.1
Date: Sun Jul 4 21:26:50 2021 Date: Sat Jul 10 15:04:08 2021
PySCF version 1.7.6a1 PySCF version 1.7.6a1
PySCF path /share/home/srwang/pyscf/pyscf PySCF path /share/home/srwang/pyscf/pyscf
GIT HEAD ref: refs/heads/master GIT HEAD ref: refs/heads/master
...@@ -45,7 +45,7 @@ number of NR pGTOs = 52 ...@@ -45,7 +45,7 @@ number of NR pGTOs = 52
number of NR cGTOs = 28 number of NR cGTOs = 28
basis = cc-pvdz basis = cc-pvdz
ecp = {} ecp = {}
CPU time: 1.08 CPU time: 0.47
**** generating fragment guess **** **** generating fragment guess ****
fragments: [('N', [0.0, 0.0, 0.0])] [('N', [0.0, 0.0, 1.9])] fragments: [('N', [0.0, 0.0, 0.0])] [('N', [0.0, 0.0, 1.9])]
converged SCF energy = -54.3911145621998 <S^2> = 3.7540306 2S+1 = 4.0020148 converged SCF energy = -54.3911145621998 <S^2> = 3.7540306 2S+1 = 4.0020148
...@@ -68,65 +68,64 @@ SCF conv_tol_grad = None ...@@ -68,65 +68,64 @@ SCF conv_tol_grad = None
SCF max_cycles = 50 SCF max_cycles = 50
direct_scf = True direct_scf = True
direct_scf_tol = 1e-13 direct_scf_tol = 1e-13
chkfile to save SCF result = /share/home/srwang/pyAutoMR/examples/tmplgxc6xk3 chkfile to save SCF result = /share/home/srwang/pyAutoMR/examples/tmp81586oaj
max_memory 4000 MB (current use 118 MB) max_memory 4000 MB (current use 89 MB)
number electrons alpha = 7 beta = 7 number electrons alpha = 7 beta = 7
Set gradient conv threshold to 3.16228e-05 Set gradient conv threshold to 3.16228e-05
init E= -108.900143275272 init E= -108.900143275272
alpha nocc = 7 HOMO = -0.47646449940222 LUMO = 0.166732176142528 alpha nocc = 7 HOMO = -0.476464499402216 LUMO = 0.166732176142525
beta nocc = 7 HOMO = -0.476464499402211 LUMO = 0.166732176142526 beta nocc = 7 HOMO = -0.476464499402215 LUMO = 0.166732176142526
cycle= 1 E= -108.762288631731 delta_E= 0.138 |g|= 0.0527 |ddm|= 0.373 cycle= 1 E= -108.762288631731 delta_E= 0.138 |g|= 0.0527 |ddm|= 0.373
alpha nocc = 7 HOMO = -0.530330642057187 LUMO = 0.162348570448281 alpha nocc = 7 HOMO = -0.530330642057186 LUMO = 0.162348570448283
beta nocc = 7 HOMO = -0.530330642057185 LUMO = 0.162348570448283 beta nocc = 7 HOMO = -0.530330642057184 LUMO = 0.162348570448285
cycle= 2 E= -108.765642733546 delta_E= -0.00335 |g|= 0.0253 |ddm|= 0.0587 cycle= 2 E= -108.765642733546 delta_E= -0.00335 |g|= 0.0253 |ddm|= 0.0587
alpha nocc = 7 HOMO = -0.529049671912856 LUMO = 0.159261512802593 alpha nocc = 7 HOMO = -0.529049671912858 LUMO = 0.159261512802591
beta nocc = 7 HOMO = -0.52904967191286 LUMO = 0.159261512802599 beta nocc = 7 HOMO = -0.529049671912859 LUMO = 0.159261512802599
cycle= 3 E= -108.767085606679 delta_E= -0.00144 |g|= 0.0126 |ddm|= 0.0548 cycle= 3 E= -108.767085606679 delta_E= -0.00144 |g|= 0.0126 |ddm|= 0.0548
alpha nocc = 7 HOMO = -0.52871037283468 LUMO = 0.156378931797927 alpha nocc = 7 HOMO = -0.528710372834673 LUMO = 0.156378931797931
beta nocc = 7 HOMO = -0.528710372834678 LUMO = 0.156378931797927 beta nocc = 7 HOMO = -0.528710372834673 LUMO = 0.156378931797932
cycle= 4 E= -108.767469881852 delta_E= -0.000384 |g|= 0.00324 |ddm|= 0.0393 cycle= 4 E= -108.767469881852 delta_E= -0.000384 |g|= 0.00324 |ddm|= 0.0393
alpha nocc = 7 HOMO = -0.52732135312872 LUMO = 0.156905650680728 alpha nocc = 7 HOMO = -0.527321353128721 LUMO = 0.15690565068073
beta nocc = 7 HOMO = -0.527321353128721 LUMO = 0.156905650680736 beta nocc = 7 HOMO = -0.527321353128717 LUMO = 0.156905650680732
cycle= 5 E= -108.767488344339 delta_E= -1.85e-05 |g|= 0.000626 |ddm|= 0.0078 cycle= 5 E= -108.767488344339 delta_E= -1.85e-05 |g|= 0.000626 |ddm|= 0.0078
alpha nocc = 7 HOMO = -0.527670443529384 LUMO = 0.15683111066757 alpha nocc = 7 HOMO = -0.527670443529383 LUMO = 0.156831110667569
beta nocc = 7 HOMO = -0.527670443529386 LUMO = 0.156831110667574 beta nocc = 7 HOMO = -0.527670443529387 LUMO = 0.156831110667576
cycle= 6 E= -108.767488867958 delta_E= -5.24e-07 |g|= 0.000143 |ddm|= 0.00108 cycle= 6 E= -108.767488867958 delta_E= -5.24e-07 |g|= 0.000143 |ddm|= 0.00108
alpha nocc = 7 HOMO = -0.527603375860143 LUMO = 0.156896336092545 alpha nocc = 7 HOMO = -0.527603375860148 LUMO = 0.156896336092541
beta nocc = 7 HOMO = -0.527603375860141 LUMO = 0.156896336092546 beta nocc = 7 HOMO = -0.527603375860146 LUMO = 0.156896336092538
cycle= 7 E= -108.767488893983 delta_E= -2.6e-08 |g|= 4.93e-05 |ddm|= 0.000239 cycle= 7 E= -108.767488893983 delta_E= -2.6e-08 |g|= 4.93e-05 |ddm|= 0.000239
alpha nocc = 7 HOMO = -0.52765070515318 LUMO = 0.156872500788263 alpha nocc = 7 HOMO = -0.52765070515318 LUMO = 0.156872500788261
beta nocc = 7 HOMO = -0.527650705153182 LUMO = 0.156872500788271 beta nocc = 7 HOMO = -0.527650705153182 LUMO = 0.156872500788269
cycle= 8 E= -108.767488898007 delta_E= -4.02e-09 |g|= 1.06e-05 |ddm|= 9.2e-05 cycle= 8 E= -108.767488898007 delta_E= -4.02e-09 |g|= 1.06e-05 |ddm|= 9.2e-05
alpha nocc = 7 HOMO = -0.527658756971658 LUMO = 0.156874706934985 alpha nocc = 7 HOMO = -0.527658756971653 LUMO = 0.15687470693499
beta nocc = 7 HOMO = -0.527658756971654 LUMO = 0.156874706934988 beta nocc = 7 HOMO = -0.527658756971652 LUMO = 0.156874706934988
cycle= 9 E= -108.76748889822 delta_E= -2.13e-10 |g|= 1.78e-06 |ddm|= 2.85e-05 cycle= 9 E= -108.76748889822 delta_E= -2.13e-10 |g|= 1.78e-06 |ddm|= 2.85e-05
alpha nocc = 7 HOMO = -0.527658437248201 LUMO = 0.156874663133346 alpha nocc = 7 HOMO = -0.527658437248201 LUMO = 0.156874663133346
beta nocc = 7 HOMO = -0.527658437248201 LUMO = 0.156874663133352 beta nocc = 7 HOMO = -0.527658437248201 LUMO = 0.15687466313335
Extra cycle E= -108.767488898223 delta_E= -2.44e-12 |g|= 6.81e-07 |ddm|= 2.47e-06 Extra cycle E= -108.767488898223 delta_E= -2.49e-12 |g|= 6.81e-07 |ddm|= 2.47e-06
converged SCF energy = -108.767488898223 <S^2> = 2.6423741 2S+1 = 3.4013963 converged SCF energy = -108.767488898223 <S^2> = 2.6423741 2S+1 = 3.4013963
time for guess: 0.232 time for guess: 0.217
**** checking UHF/UKS internal stability ... **** checking UHF/UKS internal stability ...
tol 0.0001 toloose 0.01 tol 0.0001 toloose 0.01
max_cycle 50 max_space 12 max_memory 2000 incore True max_cycle 50 max_space 12 max_memory 2000 incore True
davidson 0 1 |r|= 2.36 e= [2.260759] max|de|= 2.26 lindep= 0.687 davidson 0 1 |r|= 2.37 e= [2.261294] max|de|= 2.26 lindep= 0.685
davidson 1 2 |r|= 1.21 e= [1.33899] max|de|= -0.922 lindep= 0.869 davidson 1 2 |r|= 1.24 e= [1.347562] max|de|= -0.914 lindep= 0.886
davidson 2 3 |r|= 0.349 e= [0.74339] max|de|= -0.596 lindep= 0.993 davidson 2 3 |r|= 0.353 e= [0.740493] max|de|= -0.607 lindep= 0.995
davidson 3 4 |r|= 0.307 e= [0.60085] max|de|= -0.143 lindep= 0.956 davidson 3 4 |r|= 0.305 e= [0.595557] max|de|= -0.145 lindep= 0.942
davidson 4 5 |r|= 0.128 e= [0.54915] max|de|= -0.0517 lindep= 0.99 davidson 4 5 |r|= 0.117 e= [0.543459] max|de|= -0.0521 lindep= 0.985
davidson 5 6 |r|= 0.0497 e= [0.54198] max|de|= -0.00717 lindep= 0.947 davidson 5 6 |r|= 0.0414 e= [0.538236] max|de|= -0.00522 lindep= 0.961
davidson 6 7 |r|= 0.0323 e= [0.540371] max|de|= -0.00161 lindep= 0.912 davidson 6 7 |r|= 0.0258 e= [0.537135] max|de|= -0.0011 lindep= 0.918
davidson 7 8 |r|= 0.0251 e= [0.539389] max|de|= -0.000982 lindep= 0.947 davidson 7 8 |r|= 0.0178 e= [0.536572] max|de|= -0.000562 lindep= 0.955
davidson 8 9 |r|= 0.0466 e= [0.538215] max|de|= -0.00117 lindep= 0.946 davidson 8 9 |r|= 0.0367 e= [0.535947] max|de|= -0.000626 lindep= 0.949
davidson 9 10 |r|= 0.0304 e= [0.536704] max|de|= -0.00151 lindep= 0.948 davidson 9 10 |r|= 0.0264 e= [0.534875] max|de|= -0.00107 lindep= 0.942
davidson 10 11 |r|= 0.032 e= [0.535809] max|de|= -0.000896 lindep= 0.941 davidson 10 11 |r|= 0.0237 e= [0.534334] max|de|= -0.00054 lindep= 0.943
davidson 11 12 |r|= 0.0458 e= [0.534898] max|de|= -0.000911 lindep= 0.858 davidson 11 12 |r|= 0.0271 e= [0.534005] max|de|= -0.000329 lindep= 0.822
davidson 12 1 |r|= 0.0458 e= [0.534898] max|de|= -2.22e-16 lindep= 0.998 davidson 12 1 |r|= 0.0271 e= [0.534005] max|de|= 6.66e-16 lindep= 1
davidson 13 2 |r|= 0.0262 e= [0.534441] max|de|= -0.000457 lindep= 0.808 davidson 13 2 |r|= 0.0186 e= [0.533829] max|de|= -0.000177 lindep= 0.823
davidson 14 3 |r|= 0.0157 e= [0.534147] max|de|= -0.000294 lindep= 0.95 davidson 14 3 |r|= 0.0115 e= [0.533683] max|de|= -0.000145 lindep= 0.938
davidson 15 4 |r|= 0.0157 e= [0.53393] max|de|= -0.000217 lindep= 0.91 davidson 15 4 |r|= 0.0114 e= [0.533563] max|de|= -0.00012 lindep= 0.916
davidson 16 5 |r|= 0.0119 e= [0.533788] max|de|= -0.000142 lindep= 0.924 root 0 converged |r|= 0.00586 e= 0.5335164750529766 max|de|= -4.66e-05
root 0 converged |r|= 0.00845 e= 0.5337111863526393 max|de|= -7.68e-05 converged 16 5 |r|= 0.00586 e= [0.533516] max|de|= -4.66e-05
converged 17 6 |r|= 0.00845 e= [0.533711] max|de|= -7.68e-05
UHF/UKS wavefunction is stable in the internal stability analysis UHF/UKS wavefunction is stable in the internal stability analysis
UNO ON: [ 2. 2. 1.999103 1.997838 1.550306 1.174501 1.174501 0.825499 0.825499 0.449694 0.002162 0.000897 0. 0. 0. UNO ON: [ 2. 2. 1.999103 1.997838 1.550306 1.174501 1.174501 0.825499 0.825499 0.449694 0.002162 0.000897 0. 0. 0.
0. 0. 0. 0. 0. 0. -0. -0. -0. -0. -0. -0. -0. ] 0. 0. 0. 0. 0. 0. -0. -0. -0. -0. -0. -0. -0. ]
...@@ -135,18 +134,18 @@ Converting <class 'pyscf.scf.uhf.UHF'> to RHF ...@@ -135,18 +134,18 @@ Converting <class 'pyscf.scf.uhf.UHF'> to RHF
UNO in active space UNO in active space
#0 #1 #2 #3 #4 #5 #0 #1 #2 #3 #4 #5
0 N 3s 0.184 0 N 3s 0.184
0 N 2px 0.458 0.505 0 N 2px 0.411 0.203 -0.112 0.494
0 N 2py -0.458 -0.505 0 N 2py 0.203 -0.411 0.494 0.112
0 N 2pz -0.442 0.565 0 N 2pz -0.442 0.565
0 N 3px 0.313 0.334 0 N 3px 0.281 0.139 0.328
0 N 3py -0.313 -0.334 0 N 3py 0.139 -0.281 0.328
0 N 3pz -0.295 0.390 0 N 3pz -0.295 0.390
1 N 3s -0.184 1 N 3s -0.184
1 N 2px 0.458 -0.505 1 N 2px 0.411 0.203 0.112 -0.494
1 N 2py -0.458 0.505 1 N 2py 0.203 -0.411 -0.494 -0.112
1 N 2pz 0.442 0.565 1 N 2pz 0.442 0.565
1 N 3px 0.313 -0.334 1 N 3px 0.281 0.139 -0.328
1 N 3py -0.313 0.334 1 N 3py 0.139 -0.281 -0.328
1 N 3pz 0.295 0.390 1 N 3pz 0.295 0.390
******** <class 'pyscf.mcscf.mc1step.CASSCF'> ******** ******** <class 'pyscf.mcscf.mc1step.CASSCF'> ********
...@@ -172,8 +171,8 @@ natorb = True ...@@ -172,8 +171,8 @@ natorb = True
canonicalization = True canonicalization = True
sorting_mo_energy = False sorting_mo_energy = False
ao2mo_level = 2 ao2mo_level = 2
chkfile = /share/home/srwang/pyAutoMR/examples/tmplgxc6xk3 chkfile = /share/home/srwang/pyAutoMR/examples/tmp81586oaj
max_memory 1000 MB (current use 119 MB) max_memory 1000 MB (current use 92 MB)
internal_rotation = False internal_rotation = False
******** <class 'pyscf.fci.direct_spin1.FCISolver'> ******** ******** <class 'pyscf.fci.direct_spin1.FCISolver'> ********
max. cycles = 100 max. cycles = 100
...@@ -188,65 +187,65 @@ pspace_size = 400 ...@@ -188,65 +187,65 @@ pspace_size = 400
spin = 0 spin = 0
CASCI E = -108.799475961089 S^2 = 0.0000000 CASCI E = -108.799475961089 S^2 = 0.0000000
Set conv_tol_grad to 0.000316228 Set conv_tol_grad to 0.000316228
macro iter 1 (12 JK 4 micro), CASSCF E = -108.800824500873 dE = -0.0013485398 S^2 = 0.0000001 macro iter 1 (12 JK 4 micro), CASSCF E = -108.800824503827 dE = -0.0013485427 S^2 = 0.0000001
|grad[o]|=0.0392 |grad[c]|= 0.0016639979777087854 |ddm|=0.0463 |grad[o]|=0.0392 |grad[c]|= 0.0016643544928822674 |ddm|=0.0463
macro iter 2 (6 JK 2 micro), CASSCF E = -108.800824782637 dE = -2.8176403e-07 S^2 = 0.0000000 macro iter 2 (6 JK 2 micro), CASSCF E = -108.800824782567 dE = -2.7873958e-07 S^2 = 0.0000000
|grad[o]|=0.000664 |grad[c]|= 1.952430924247553e-05 |ddm|=0.000258 |grad[o]|=0.000659 |grad[c]|= 2.0210383431047432e-05 |ddm|=0.00026
macro iter 3 (1 JK 1 micro), CASSCF E = -108.800824782819 dE = -1.8212631e-10 S^2 = 0.0000000 macro iter 3 (1 JK 1 micro), CASSCF E = -108.80082478276 dE = -1.9370816e-10 S^2 = 0.0000000
|grad[o]|=2.59e-05 |grad[c]|= 8.120035030199519e-06 |ddm|=1.85e-05 |grad[o]|=2.51e-05 |grad[c]|= 9.94169625494495e-06 |ddm|=1.86e-05
1-step CASSCF converged in 3 macro (19 JK 7 micro) steps 1-step CASSCF converged in 3 macro (19 JK 7 micro) steps
CASSCF canonicalization CASSCF canonicalization
Natural occ [1.733014 1.391519 1.391518 0.608475 0.608475 0.266999] Natural occ [1.733012 1.391514 1.391514 0.60848 0.608479 0.267001]
Natural orbital (expansion on AOs) in CAS space Natural orbital (expansion on AOs) in CAS space
#1 #2 #3 #4 #5 #1 #2 #3 #4 #5
0 N 1s -0.00068 0.00000 0.00000 -0.00000 -0.00000 0 N 1s -0.00068 0.00000 0.00000 0.00000 -0.00000
0 N 2s -0.00511 0.00000 0.00000 -0.00000 -0.00000 0 N 2s -0.00511 0.00000 0.00000 0.00000 -0.00000
0 N 3s 0.05371 0.00000 -0.00000 0.00000 -0.00000 0 N 3s 0.05371 -0.00000 -0.00000 0.00000 0.00000
0 N 2px 0.00000 0.39622 -0.21569 -0.23985 0.45521 0 N 2px -0.00000 0.43899 0.10394 -0.11681 0.50110
0 N 2py 0.00000 -0.21569 -0.39622 -0.45521 -0.23985 0 N 2py -0.00000 0.10394 -0.43898 0.50110 0.11681
0 N 2pz -0.43997 0.00000 0.00000 0.00000 0.00000 0 N 2pz -0.43997 0.00000 0.00000 -0.00000 -0.00000
0 N 3px 0.00000 0.28155 -0.15327 -0.15173 0.28797 0 N 3px -0.00000 0.31194 0.07386 -0.07390 0.31700
0 N 3py 0.00000 -0.15327 -0.28155 -0.28798 -0.15173 0 N 3py -0.00000 0.07386 -0.31195 0.31701 0.07390
0 N 3pz -0.29468 -0.00000 -0.00000 -0.00000 -0.00000 0 N 3pz -0.29468 -0.00000 0.00000 -0.00000 -0.00000
0 N 3dxy 0.00000 0.00000 0.00000 0.00000 -0.00000 0 N 3dxy 0.00000 0.00000 -0.00000 0.00000 -0.00000
0 N 3dyz 0.00000 -0.00571 -0.01048 -0.00506 -0.00266 0 N 3dyz 0.00000 0.00275 -0.01161 0.00557 0.00130
0 N 3dz^2 -0.02028 -0.00000 -0.00000 -0.00000 0.00000 0 N 3dz^2 -0.02028 -0.00000 -0.00000 -0.00000 -0.00000
0 N 3dxz 0.00000 0.01048 -0.00571 -0.00266 0.00506 0 N 3dxz 0.00000 0.01161 0.00275 -0.00130 0.00557
0 N 3dx2-y2 -0.00000 -0.00000 0.00000 0.00000 0.00000 0 N 3dx2-y2 -0.00000 -0.00000 -0.00000 0.00000 -0.00000
1 N 1s -0.00068 0.00000 -0.00000 -0.00000 0.00000 1 N 1s -0.00068 -0.00000 0.00000 -0.00000 -0.00000
1 N 2s -0.00512 0.00000 -0.00000 -0.00000 0.00000 1 N 2s -0.00511 -0.00000 0.00000 -0.00000 -0.00000
1 N 3s 0.05371 0.00000 0.00000 0.00000 0.00000 1 N 3s 0.05371 0.00000 0.00000 -0.00000 0.00000
1 N 2px 0.00000 0.39622 -0.21569 0.23985 -0.45521 1 N 2px -0.00000 0.43899 0.10394 0.11681 -0.50110
1 N 2py -0.00000 -0.21569 -0.39622 0.45521 0.23985 1 N 2py -0.00000 0.10394 -0.43899 -0.50110 -0.11681
1 N 2pz 0.43997 0.00000 0.00000 -0.00000 0.00000 1 N 2pz 0.43997 -0.00000 -0.00000 -0.00000 -0.00000
1 N 3px -0.00000 0.28155 -0.15327 0.15173 -0.28797 1 N 3px 0.00000 0.31194 0.07386 0.07390 -0.31700
1 N 3py -0.00000 -0.15327 -0.28155 0.28798 0.15173 1 N 3py 0.00000 0.07386 -0.31194 -0.31701 -0.07390
1 N 3pz 0.29468 -0.00000 -0.00000 0.00000 -0.00000 1 N 3pz 0.29468 0.00000 -0.00000 0.00000 0.00000
1 N 3dxy 0.00000 -0.00000 0.00000 0.00000 -0.00000 1 N 3dxy 0.00000 -0.00000 0.00000 0.00000 0.00000
1 N 3dyz 0.00000 0.00571 0.01048 -0.00506 -0.00266 1 N 3dyz -0.00000 -0.00275 0.01161 0.00557 0.00130
1 N 3dz^2 -0.02028 -0.00000 0.00000 0.00000 -0.00000 1 N 3dz^2 -0.02028 0.00000 0.00000 0.00000 0.00000
1 N 3dxz 0.00000 -0.01048 0.00571 -0.00266 0.00506 1 N 3dxz -0.00000 -0.01161 -0.00275 -0.00130 0.00557
1 N 3dx2-y2 0.00000 0.00000 0.00000 -0.00000 -0.00000 1 N 3dx2-y2 0.00000 -0.00000 -0.00000 0.00000 0.00000
#6 #6
0 N 1s 0.00450 0 N 1s 0.00450
0 N 2s 0.09824 0 N 2s 0.09824
0 N 3s 0.17696 0 N 3s 0.17696
0 N 2px -0.00000 0 N 2px 0.00000
0 N 2py -0.00000 0 N 2py 0.00000
0 N 2pz 0.57925 0 N 2pz 0.57925
0 N 3px 0.00000 0 N 3px -0.00000
0 N 3py 0.00000 0 N 3py -0.00000
0 N 3pz 0.35815 0 N 3pz 0.35815
0 N 3dxy 0.00000 0 N 3dxy 0.00000
0 N 3dyz -0.00000 0 N 3dyz 0.00000
0 N 3dz^2 0.00398 0 N 3dz^2 0.00398
0 N 3dxz 0.00000 0 N 3dxz -0.00000
0 N 3dx2-y2 0.00000 0 N 3dx2-y2 0.00000
1 N 1s -0.00450 1 N 1s -0.00450
1 N 2s -0.09824 1 N 2s -0.09824
1 N 3s -0.17696 1 N 3s -0.17696
1 N 2px 0.00000 1 N 2px 0.00000
1 N 2py -0.00000 1 N 2py 0.00000
1 N 2pz 0.57925 1 N 2pz 0.57925
1 N 3px -0.00000 1 N 3px -0.00000
1 N 3py -0.00000 1 N 3py -0.00000
...@@ -255,62 +254,58 @@ Natural orbital (expansion on AOs) in CAS space ...@@ -255,62 +254,58 @@ Natural orbital (expansion on AOs) in CAS space
1 N 3dyz -0.00000 1 N 3dyz -0.00000
1 N 3dz^2 -0.00398 1 N 3dz^2 -0.00398
1 N 3dxz 0.00000 1 N 3dxz 0.00000
1 N 3dx2-y2 -0.00000 1 N 3dx2-y2 0.00000
<CAS-nat-orb|mo-hf> 5 5 0.99930048 <CAS-nat-orb|mo-hf> 5 5 0.99930057
<CAS-nat-orb|mo-hf> 6 6 0.89904547 <CAS-nat-orb|mo-hf> 6 6 0.97448608
<CAS-nat-orb|mo-hf> 6 7 0.43772472 <CAS-nat-orb|mo-hf> 7 7 0.97448607
<CAS-nat-orb|mo-hf> 7 6 -0.43772473 <CAS-nat-orb|mo-hf> 8 8 0.99990790
<CAS-nat-orb|mo-hf> 7 7 0.89904547 <CAS-nat-orb|mo-hf> 9 9 0.99990787
<CAS-nat-orb|mo-hf> 8 8 0.83599165 <CAS-nat-orb|mo-hf> 10 10 0.99954893
<CAS-nat-orb|mo-hf> 8 9 -0.54861913 CASSCF energy = -108.80082478276
<CAS-nat-orb|mo-hf> 9 8 0.54861913 CASCI E = -108.80082478276 E(CI) = -9.66807332507661 S^2 = 0.0000000
<CAS-nat-orb|mo-hf> 9 9 0.83599163
<CAS-nat-orb|mo-hf> 10 10 0.99954895
CASSCF energy = -108.800824782819
CASCI E = -108.800824782819 E(CI) = -9.66807552984044 S^2 = 0.0000000
Natrual Orbs Natrual Orbs
#0 #1 #2 #3 #4 #5 #0 #1 #2 #3 #4 #5
0 N 3s 0.184 0 N 3s 0.184
0 N 2px 0.458 0.505 0 N 2px 0.411 0.203 -0.112 0.494
0 N 2py -0.458 -0.505 0 N 2py 0.203 -0.411 0.494 0.112
0 N 2pz -0.442 0.565 0 N 2pz -0.442 0.565
0 N 3px 0.313 0.334 0 N 3px 0.281 0.139 0.328
0 N 3py -0.313 -0.334 0 N 3py 0.139 -0.281 0.328
0 N 3pz -0.295 0.390 0 N 3pz -0.295 0.390
1 N 3s -0.184 1 N 3s -0.184
1 N 2px 0.458 -0.505 1 N 2px 0.411 0.203 0.112 -0.494
1 N 2py -0.458 0.505 1 N 2py 0.203 -0.411 -0.494 -0.112
1 N 2pz 0.442 0.565 1 N 2pz 0.442 0.565
1 N 3px 0.313 -0.334 1 N 3px 0.281 0.139 -0.328
1 N 3py -0.313 0.334 1 N 3py 0.139 -0.281 -0.328
1 N 3pz 0.295 0.390 1 N 3pz 0.295 0.390
***** CI components ****** ***** CI components ******
c**2 Gaussian-type vector c**2 Gaussian-type vector
0.406424 111000 0.406420 111000
0.117272 110100 0.117311 110100
0.117272 101010 0.117311 101010
0.047998 100110 0.047997 100110
0.040393 1abba0 0.040414 1baab0
0.040393 1baab0 0.040414 1abba0