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

1from pathlib import Path 

2 

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 

7 

8 

9class MMEFiles(CachedFilesHandler): 

10 """Create files that store momentum matrix elements.""" 

11 

12 def __init__(self, folder: Path, gpw_files: GPWFiles): 

13 super().__init__(folder, '.npz') 

14 self.gpw_files = gpw_files 

15 

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)