예제 #1
0
파일: test_tdrks.py 프로젝트: y1xiaoc/pyscf
    def test_dTDA(self):
        td = rks.dTDA(mf_lda)
        td._scf.xc = ''
        es = td.kernel(nstates=3)[0]
        self.assertAlmostEqual(lib.fp(es), 0.3237948650800024, 6)

        td = rks.dTDA(mf_lda)
        es = td.kernel(nstates=3)[0]
        self.assertAlmostEqual(lib.fp(es), 0.3237948650800024, 6)
예제 #2
0
    def test_dTDA(self):
        td = rks.dTDA(mf_lda)
        td._scf.xc = ''
        es = td.kernel(nstates=3)[0]
        self.assertAlmostEqual(lib.fp(es), 0.3237948650800024, 6)

        td = rks.dTDA(mf_lda)
        es = td.kernel(nstates=5)[0]
        self.assertAlmostEqual(lib.fp(es[:3]), 0.3237948650800024, 6)
        ref = [10.05245288, 10.05245288, 16.03497655, 30.7120363,  30.7120363 ]
        self.assertAlmostEqual(abs(es * 27.2114 - ref).max(), 0, 6)
예제 #3
0
파일: __init__.py 프로젝트: MSwenne/BEP
def dTDA(mf):
    if isinstance(mf, scf.uhf.UHF):
        return uks.dTDA(mf)
    else:
        return rks.dTDA(mf)