コード例 #1
0
ファイル: test_rhf.py プロジェクト: verena-neufeld/pyscf
    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)
コード例 #2
0
    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)
コード例 #3
0
    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)
コード例 #4
0
ファイル: 22-k_points_tddft.py プロジェクト: zwang123/pyscf
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: