Coverage for gpaw/test/mmefile.py: 100%
14 statements
« prev ^ index » next coverage.py v7.7.1, created at 2025-07-12 00:18 +0000
« prev ^ index » next coverage.py v7.7.1, created at 2025-07-12 00:18 +0000
1from pathlib import Path
3from gpaw.new.ase_interface import GPAW
4from gpaw.nlopt.matrixel import make_nlodata
5from gpaw.test.cachedfilehandler import CachedFilesHandler
6from gpaw.test.gpwfile import GPWFiles, response_band_cutoff
9class MMEFiles(CachedFilesHandler):
10 """Create files that store momentum matrix elements."""
12 def __init__(self, folder: Path, gpw_files: GPWFiles):
13 super().__init__(folder, '.npz')
14 self.gpw_files = gpw_files
16 def _calculate_and_write(self, name, work_path):
17 calc = GPAW(self.gpw_files[name], parallel={'domain': 1, 'band': 1})
18 nb = response_band_cutoff[
19 name if not name.endswith('_spinpol') else name[:-8]]
20 nlodata = make_nlodata(calc, ni=0, nf=nb)
21 nlodata.write(work_path)