from chemsh import *
from chemsh.utils import testutils

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

pyscf = PySCF(frag=no2, method="hf", scftype="uhf", basis="3-21g", mult=2)

opt = Opt(
    theory=pyscf,
    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

# pyscf reference
eref = -202.843456200550

testutils.validate(ecalc, eref)
