# LSDalton DFT (BLYP) optimisation

from chemsh       import *
from chemsh.utils import testutils

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

lsdalton = LSDalton(frag=water, method="dft", functional="blyp", basis="3-21G")

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

ecalc = opt.result.energy

# Test result from ChemShell 3
eref = -75.95124869


testutils.validate(ecalc, eref)
