def test_tda_gamma_point(self): mf = RHF(cell).run() td_model = tdscf.TDA(mf) td_model.kernel() e1 = td_model.e kmf = KRHF(cell, cell.make_kpts([1, 1, 1])).run() td_model = tdscf.KTDA(kmf) td_model.kernel() e2 = td_model.e self.assertAlmostEqual(abs(e1-e2).max(), 0, 6) self.assertAlmostEqual(abs(e1 - 1.0329858545904074).max(), 0, 6)
def test_tda_gamma_point(self): mf = RHF(cell).run() td_model = tdscf.TDA(mf) td_model.conv_tol = 1e-4 td_model.kernel() e1 = td_model.e kmf = KRHF(cell, cell.make_kpts([1, 1, 1])).run() td_model = tdscf.KTDA(kmf) td_model.conv_tol = 1e-4 td_model.kernel() e2 = td_model.e self.assertAlmostEqual(abs(e1 - e2).max(), 0, 4) self.assertAlmostEqual(lib.finger(e1), 1.1612366465054151, 5)
def test_tda_gamma_point(self): mf = RHF(cell).run() mf.exxdiv = None td_model = tdscf.TDA(mf) td_model.conv_tol = 1e-4 td_model.kernel() e1 = td_model.e kmf = KRHF(cell, cell.make_kpts([1, 1, 1])).run() kmf.exxdiv = None td_model = tdscf.KTDA(kmf) td_model.conv_tol = 1e-4 td_model.kernel() e2 = td_model.e self.assertAlmostEqual(abs(e1 - e2).max(), 0, 4)
cell.atom = ''' C 0. 0. 0. C 1.68506879 1.68506879 1.68506879 ''' cell.a = ''' 0. 3.37013758 3.37013758 3.37013758 0. 3.37013758 3.37013758 3.37013758 0. ''' cell.basis = 'gth-szv' cell.pseudo = 'gth-pade' cell.build() mf = scf.KRHF(cell, cell.make_kpts([2, 2, 2])).set(exxdiv=None) mf.run() td = tdscf.KTDA(mf) td.nstates = 5 td.verbose = 5 print(td.kernel()[0] * 27.2114) td = tdscf.KTDDFT(mf) td.nstates = 5 td.verbose = 5 print(td.kernel()[0] * 27.2114) mf = scf.RHF(cell, exxdiv=None) mf.kernel() td = tdscf.TDA(mf) td.kernel() # TODO: