Coverage for gpaw/test/tddft/test_ehrenfest_nacl.py: 100%

16 statements  

« prev     ^ index     » next       coverage.py v7.7.1, created at 2025-07-14 00:18 +0000

1from gpaw.tddft import TDDFT 

2from gpaw.tddft.ehrenfest import EhrenfestVelocityVerlet 

3import pytest 

4 

5 

6def test_tddft_ehrenfest_nacl(in_tmp_dir, gpw_files): 

7 

8 td_calc = TDDFT(gpw_files['nacl_fd'], propagator='EFSICN') 

9 evv = EhrenfestVelocityVerlet(td_calc, 0.001) 

10 

11 i = 0 

12 evv.get_energy() 

13 r = evv.x[1][2] - evv.x[0][2] 

14 # print 'E = ', [i, r, evv.Etot, evv.Ekin, evv.e_coulomb] 

15 

16 for i in range(5): 

17 evv.propagate(1.0) 

18 evv.get_energy() 

19 r = evv.x[1][2] - evv.x[0][2] 

20 print('E = ', [i + 1, r, evv.Etot, evv.Ekin, evv.e_coulomb]) 

21 

22 assert r == pytest.approx(7.558883144, abs=1e-6) 

23 assert evv.Etot == pytest.approx(-0.10359175317017391, abs=1e-4)