Esempio n. 1
0
    def test_casci_grad(self):
        mc = mcscf.CASCI(mf, 4, 4).run()
        g1 = casci_grad.Gradients(mc).kernel()
        self.assertAlmostEqual(lib.finger(g1), -0.066025991364829367, 7)

        g1ref = kernel(mc)
        self.assertAlmostEqual(abs(g1 - g1ref).max(), 0, 7)

        mcs = mc.as_scanner()
        pmol = mol.copy()
        e1 = mcs(pmol.set_geom_('N 0 0 0; N 0 0 1.201; H 1 1 0; H 1 1 1.2'))
        e2 = mcs(pmol.set_geom_('N 0 0 0; N 0 0 1.199; H 1 1 0; H 1 1 1.2'))
        self.assertAlmostEqual(g1[1, 2], (e1 - e2) / 0.002 * lib.param.BOHR, 5)
Esempio n. 2
0
 def nuc_grad_method(self):
     from pyscf.grad import casci
     return casci.Gradients(self)