Coverage for gpaw/test/rpa/test_rpa_energy_Si.py: 100%

17 statements  

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

1import pytest 

2from gpaw.mpi import serial_comm 

3from gpaw import GPAW 

4from gpaw.xc.rpa import RPACorrelation 

5 

6 

7@pytest.mark.rpa 

8@pytest.mark.response 

9@pytest.mark.parametrize('gpwfilename', ['si_pw', 'si_noisy_kpoints']) 

10def test_rpa_energy_si(in_tmp_dir, gpw_files, gpwfilename): 

11 calc = GPAW(gpw_files[gpwfilename], communicator=serial_comm) 

12 calc.diagonalize_full_hamiltonian(nbands=50) 

13 

14 ecut = 50 

15 rpa = RPACorrelation(calc, qsym=False, nfrequencies=8, ecut=[ecut]) 

16 E_rpa_noqsym = rpa.calculate() 

17 

18 rpa = RPACorrelation(calc, qsym=True, nfrequencies=8, ecut=[ecut]) 

19 E_rpa_qsym = rpa.calculate() 

20 

21 assert E_rpa_qsym == pytest.approx(-12.61, abs=0.01) 

22 assert E_rpa_qsym == pytest.approx(E_rpa_noqsym)