Coverage for gpaw/test/lcao/test_lcao_elpa.py: 100%
17 statements
« prev ^ index » next coverage.py v7.7.1, created at 2025-07-20 00:19 +0000
« prev ^ index » next coverage.py v7.7.1, created at 2025-07-20 00:19 +0000
1import pytest
2from gpaw.utilities.elpa import LibElpa
3from ase.build import molecule
4from gpaw.mpi import world
5from gpaw import GPAW, Mixer
7pytestmark = pytest.mark.skipif(not LibElpa.have_elpa(),
8 reason='not LibElpa.have_elpa()')
11def test_lcao_lcao_elpa():
12 size = (world.size // 2, 2) if world.size > 1 else (1, 1)
14 energies = []
15 for use_elpa in [1, 0]:
16 atoms = molecule('CH3CH2OH', vacuum=2.5)
17 calc = GPAW(mode='lcao', basis='dzp',
18 h=0.25,
19 parallel=dict(sl_default=(size[0], size[1], 3),
20 use_elpa=use_elpa),
21 mixer=Mixer(0.5, 5, 50.0))
22 atoms.calc = calc
23 E = atoms.get_potential_energy()
24 energies.append(E)
25 err = abs(energies[1] - energies[0])
26 assert err < 1e-10, err