Skip to content

Commit

Permalink
add the lindep in unit tests
Browse files Browse the repository at this point in the history
  • Loading branch information
puzhichen committed Feb 14, 2025
1 parent 08731c7 commit dc18bd9
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 1 deletion.
4 changes: 4 additions & 0 deletions gpu4pyscf/tdscf/tests/test_tdrhf.py
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,7 @@ def test_tdhf_singlet(self):
nstates = self.nstates
td = mf.TDHF().set(nstates=nstates)
assert td.device == 'gpu'
td.lindep=1.0E-6
e = td.kernel()[0]
ref = [11.8348584, 11.8348584, 16.6630381]
self.assertAlmostEqual(abs(e[:len(ref)] * 27.2114 - ref).max(), 0, 5)
Expand All @@ -91,6 +92,7 @@ def test_tdhf_singlet(self):

df_mf = self.df_mf
td = df_mf.TDHF().set(nstates=nstates)
td.lindep=1.0E-6
e = td.kernel()[0]
ref = td.to_cpu().kernel()[0][:3]
self.assertAlmostEqual(abs(e[:len(ref)] - ref).max(), 0, 7)
Expand All @@ -103,6 +105,7 @@ def test_tdhf_triplet(self):
td = mf.TDHF().set(nstates=nstates)
assert td.device == 'gpu'
td.singlet = False
td.lindep=1.0E-6
e = td.kernel()[0]
ref = [10.8919091, 10.8919091, 12.6343507]
self.assertAlmostEqual(abs(e[:len(ref)] * 27.2114 - ref).max(), 0, 5)
Expand All @@ -112,6 +115,7 @@ def test_tdhf_triplet(self):
df_mf = self.df_mf
td = df_mf.TDHF().set(nstates=nstates)
td.singlet = False
td.lindep=1.0E-6
e = td.kernel()[0]
ref = td.to_cpu().kernel()[0][:3]
self.assertAlmostEqual(abs(e[:len(ref)] - ref).max(), 0, 7)
Expand Down
17 changes: 16 additions & 1 deletion gpu4pyscf/tdscf/tests/test_tdrks.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ def setUpClass(cls):
cls.mol = mol.build()

cls.mf = mf = mol.RHF().to_gpu().run()
cls.td_hf = mf.TDHF().run(conv_tol=1e-6)
cls.td_hf = mf.TDHF().run(conv_tol=1e-6, lindep=1.0E-6)

mf_lda = mol.RKS().to_gpu().density_fit()
mf_lda.xc = 'lda, vwn'
Expand Down Expand Up @@ -64,6 +64,7 @@ def test_nohbrid_lda(self):
mf_lda = self.mf_lda
td = mf_lda.CasidaTDDFT()
assert td.device == 'gpu'
td.lindep=1.0E-6
es = td.kernel(nstates=5)[0]
ref = td.to_cpu().kernel(nstates=5)[0]
self.assertAlmostEqual(abs(es - ref).max(), 0, 5)
Expand All @@ -73,6 +74,7 @@ def test_nohbrid_b88p86(self):
mf_bp86 = self.mf_bp86
td = mf_bp86.CasidaTDDFT()
assert td.device == 'gpu'
td.lindep=1.0E-6
es = td.kernel(nstates=5)[0]
ref = td.to_cpu().kernel()[0]
self.assertAlmostEqual(abs(es - ref).max(), 0, 8)
Expand All @@ -82,6 +84,7 @@ def test_tddft_lda(self):
mf_lda = self.mf_lda
td = mf_lda.TDDFT()
assert td.device == 'gpu'
td.lindep=1.0E-6
es = td.kernel(nstates=5)[0]
ref = td.to_cpu().kernel(nstates=5)[0]
self.assertAlmostEqual(abs(es - ref).max(), 0, 8)
Expand All @@ -92,6 +95,7 @@ def test_tddft_b88p86(self):
td = mf_bp86.TDDFT()
assert td.device == 'gpu'
td.conv_tol = 1e-5
td.lindep=1.0E-6
es = td.kernel(nstates=5)[0]
ref = td.to_cpu().kernel(nstates=5)[0]
self.assertAlmostEqual(abs(es - ref).max(), 0, 8)
Expand All @@ -101,6 +105,7 @@ def test_tddft_b3lyp(self):
mf_b3lyp = self.mf_b3lyp
td = mf_b3lyp.TDDFT()
assert td.device == 'gpu'
td.lindep=1.0E-6
es = td.kernel(nstates=5)[0]
ref = td.to_cpu().kernel(nstates=5)[0]
self.assertAlmostEqual(abs(es - ref).max(), 0, 8)
Expand All @@ -113,6 +118,7 @@ def test_tddft_camb3lyp(self):
td = mf.TDDFT().to_gpu()
assert td.device == 'gpu'
td.conv_tol = 1e-5
td.lindep=1.0E-6
es = td.kernel(nstates=4)[0]
e_ref = td.to_cpu().kernel(nstates=4)[0]
self.assertAlmostEqual(abs(es[:3]-e_ref[:3]).max(), 0, 8)
Expand All @@ -127,6 +133,7 @@ def test_tda_b3lypg(self):
mf.scf()
td = mf.TDA().to_gpu()
assert td.device == 'gpu'
td.lindep=1.0E-6
es = td.kernel(nstates=5)[0]
ref = td.to_cpu().kernel(nstates=5)[0]
self.assertAlmostEqual(abs(es - ref).max(), 0, 8)
Expand All @@ -136,6 +143,7 @@ def test_tda_lda(self):
mf_lda = self.mf_lda
td = mf_lda.TDA()
assert td.device == 'gpu'
td.lindep=1.0E-6
es = td.kernel(nstates=5)[0]
ref = td.to_cpu().kernel(nstates=5)[0]
self.assertAlmostEqual(abs(es - ref).max(), 0, 8)
Expand All @@ -146,6 +154,7 @@ def test_tda_b3lyp_triplet(self):
td = mf_b3lyp.TDA()
assert td.device == 'gpu'
td.singlet = False
td.lindep=1.0E-6
es = td.kernel(nstates=5)[0]
ref = td.to_cpu().kernel(nstates=5)[0]
self.assertAlmostEqual(abs(es - ref).max(), 0, 8)
Expand All @@ -157,6 +166,7 @@ def test_tda_lda_triplet(self):
td = mf_lda.TDA()
assert td.device == 'gpu'
td.singlet = False
td.lindep=1.0E-6
es = td.kernel(nstates=6)[0]
ref = td.to_cpu().kernel(nstates=6)[0]
self.assertAlmostEqual(abs(es - ref).max(), 0, 8)
Expand All @@ -167,6 +177,7 @@ def test_tddft_b88p86_triplet(self):
td = mf_bp86.TDDFT()
assert td.device == 'gpu'
td.singlet = False
td.lindep=1.0E-6
es = td.kernel(nstates=5)[0]
ref = td.to_cpu().kernel(nstates=5)[0]
self.assertAlmostEqual(abs(es - ref).max(), 0, 8)
Expand All @@ -179,6 +190,7 @@ def test_tda_rsh(self):
mf.kernel()
mf.cphf_grids = mf.grids
td = mf.TDA().to_gpu()
td.lindep=1.0E-6
assert td.device == 'gpu'
e_td = td.set(nstates=5).kernel()[0]
ref = td.to_cpu().kernel(nstates=5)[0]
Expand All @@ -189,6 +201,7 @@ def test_tda_m06l_singlet(self):
mf_m06l = self.mf_m06l
td = mf_m06l.TDA()
assert td.device == 'gpu'
td.lindep=1.0E-6
es = td.kernel(nstates=5)[0]
ref = td.to_cpu().kernel(nstates=5)[0]
self.assertAlmostEqual(abs(es - ref).max(), 0, 8)
Expand All @@ -197,6 +210,7 @@ def test_tda_m06l_singlet(self):
def test_analyze(self):
td_hf = self.td_hf
assert td_hf.device == 'gpu'
td_hf.lindep=1.0E-6
f = td_hf.oscillator_strength(gauge='length')
self.assertAlmostEqual(lib.fp(f), -0.13908774016795605, 5)
f = td_hf.oscillator_strength(gauge='velocity', order=2)
Expand Down Expand Up @@ -240,6 +254,7 @@ def test_reset(self):
mol = self.mol
td = mol.RHF().newton().TDHF().to_gpu()
assert td.device == 'gpu'
td.lindep=1.0E-6
td.reset(mol1)
self.assertTrue(td.mol is mol1)
self.assertTrue(td._scf.mol is mol1)
Expand Down
2 changes: 2 additions & 0 deletions gpu4pyscf/tdscf/tests/test_tduhf.py
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ def test_tda(self):
def test_tdhf(self):
mf = self.mf
td = mf.TDHF()
td.lindep = 1e-6
assert td.device == 'gpu'
td.nstates = 5
td.conv_tol = 1e-5
Expand All @@ -84,6 +85,7 @@ def test_tda1(self):
def test_tdhf1(self):
mf1 = self.mf1
td = mf1.TDHF()
td.lindep = 1e-6
assert td.device == 'gpu'
td.nstates = 4
e = td.kernel()[0]
Expand Down

0 comments on commit dc18bd9

Please sign in to comment.