Esempio n. 1
0
 def test_2gto_1skp(self):
     # us = [ l2.STO(2, z) for z in [(0.0361962-0.0271314j), (0.148847-0.145461j)] ]
     us = [ l2.GTO(1.0, 2, z) for z in [(0.036-0.027j), (0.15-0.14j)] ]
     eps = 0.0000001
     opt_res = opt_cbf.optimize_hydrogen_pi(us, '1s->kp', 0.5, eps = eps)
     self.assertTrue(opt_res[1])
     zs = [ basis.z for basis in opt_res[1]]
     self.assertTrue( abs(0.0361962-0.0271314j - zs[0]) < eps * 10)
     self.assertTrue( abs(0.148847-0.145461j   - zs[1]) < eps * 10)
Esempio n. 2
0
    def test_3basis_1skp(self):
        us = [ l2.STO(1.0, 2, z) for z 
               in [0.96-0.008j, 1.04-0.71j, 0.45-1.37j]]
        res = opt_cbf.optimize_hydrogen_pi(us, '1s->kp', 0.9, eps = 0.000001, max_iter = 100)
        self.assertTrue(res[0])
        zs = [ basis.z for basis in res[1]]
        self.assertAlmostEqual(0.9899070351-0.0123382063j, zs[0])
        self.assertAlmostEqual(1.0418217968-0.7127594141j, zs[1])
        self.assertAlmostEqual(0.4509924544-1.3744734865j, zs[2])

        (psi, cs, a) = opt_cbf.solve(res[1], channel = '1s->kp', energy = 0.9)