# ORCA NO2 doublet UHF optimisation

from chemsh       import *
from chemsh.utils import testutils

no2 = Fragment(coords="no2.cjson")

# default: convergence='tightscf'
orca = ORCA(frag=no2, method="hf", basis="3-21g", scftype="uhf", mult=2)

opt = Opt(theory=orca,
          algorithm="lbfgs", tolerance=0.0003, trust_radius="energy",
          maxcycle=100, maxene=100, maxstep=1.0)
          
opt.run()

ecalc = opt.result.energy

# Tcl-ChemShell 3.7.1/ORCA 4.2.1 result
# convergence=normalscf from Tcl-ChemShell
#eref = -202.843456192666
# convergence=tightscf
#eref = -202.843456202069
# ORCA 5.0.3 
eref = -202.84345675

testutils.validate(ecalc, eref)
