Formatting the provided input file to make it easier for others to assist.
memory 1050 mb
def orb_rotate(C, h, i, j, theta):
if h > C.nirrep():
raise p4util.PsiException("ROTATE: Expression %s irrep number is larger than the number of irreps" % (str(h)))
if max(i, j) > C.coldim()[h]:
raise p4util.PsiException("ROTATE: Expression %s orbital number exceeds number of orbitals in irrep" % (str(max(i, j))))
theta = np.deg2rad(theta)
x = C.nph[h][:, i].copy()
y = C.nph[h][:, j].copy()
xp = np.cos(theta) * x - np.sin(theta) * y
yp = np.sin(theta) * x + np.cos(theta) * y
C.nph[h][:, i] = xp
C.nph[h][:, j] = yp
molecule Mn {
0 6
Mn
}
set {
reference rohf
basis cc-pvdz
maxiter 250
docc [4,0,0,0,0,2,2,2]
socc [2,1,1,1,0,0,0,0]
units angstrom
print_MOs true
MOM_START 10
print 2
SCF_TYPE PK
}
scf_e, scf_wfn = energy('scf', return_wfn=True)
clean()
orb_rotate(scf_wfn.Ca(), 0, 3, 4, 90.0)
filename = core.get_writer_file_prefix(scf_wfn.molecule().name()) + ".180.npz"
data = {}
data.update(scf_wfn.Ca().np_write(None, prefix="Ca"))
data.update(scf_wfn.Cb().np_write(None, prefix="Cb"))
Ca_occ = scf_wfn.Ca_subset("SO", "OCC")
data.update(Ca_occ.np_write(None, prefix="Ca_occ"))
Cb_occ = scf_wfn.Cb_subset("SO", "OCC")
data.update(Cb_occ.np_write(None, prefix="Cb_occ"))
data["reference"] = core.get_option('SCF', 'REFERENCE')
data["nsoccpi"] = scf_wfn.soccpi().to_tuple()
data["ndoccpi"] = scf_wfn.doccpi().to_tuple()
data["nalphapi"] = scf_wfn.nalphapi().to_tuple()
data["nbetapi"] = scf_wfn.nbetapi().to_tuple()
data["symmetry"] = scf_wfn.molecule().schoenflies_symbol()
data["BasisSet"] = scf_wfn.basisset().name()
data["BasisSet PUREAM"] = scf_wfn.basisset().has_puream()
np.savez(filename, **data)
set {
reference rohf
basis cc-pvdz
maxiter 250
docc [4,0,0,0,0,2,2,2]
socc [2,1,1,1,0,0,0,0]
units angstrom
guess read
print_MOs true
MOM_START 10
print 2
SCF_TYPE PK
}
scf_e, scf_wfn = energy('scf', return_wfn=True)
clean()