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
« 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
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)
14 ecut = 50
15 rpa = RPACorrelation(calc, qsym=False, nfrequencies=8, ecut=[ecut])
16 E_rpa_noqsym = rpa.calculate()
18 rpa = RPACorrelation(calc, qsym=True, nfrequencies=8, ecut=[ecut])
19 E_rpa_qsym = rpa.calculate()
21 assert E_rpa_qsym == pytest.approx(-12.61, abs=0.01)
22 assert E_rpa_qsym == pytest.approx(E_rpa_noqsym)