diff --git a/parser/parser-gpaw/parser2.py b/parser/parser-gpaw/parser2.py index 21d8144a74dacacc84befac1648ea23de22b4f36..08c6aa79e19087d6d0e7f08dc2e1e4c807829bdd 100644 --- a/parser/parser-gpaw/parser2.py +++ b/parser/parser-gpaw/parser2.py @@ -137,7 +137,7 @@ def parse(filename): p.addRealValue('energy_reference_fermi', c(r.occupations.fermilevel, 'eV')) if hasattr(r.results, 'forces'): - p.addArrayValues('atom_forces_free', + p.addArrayValues('atom_forces_free_raw', c(r.results.forces, 'eV/angstrom')) if hasattr(r.results, 'magmoms'): p.addArrayValues('x_gpaw_magnetic_moments', @@ -154,6 +154,22 @@ def parse(filename): p.addArrayValues('eigenvalues_occupation', r.wave_functions.occupations) #p.addArrayValues('eigenvalues_kpoints', r.IBZKPoints) + if hasattr(r.wave_functions, 'band_paths'): # could change in GPAW + with o(p, 'section_k_band'): + for band_path in r.wave_functions.band_paths: + with o(p, 'section_k_band_segment'): + p.addArrayValues('band_energies', + c(band_path.eigenvalues, 'eV')) + p.addArrayValues('band_k_points', 'eV', + band_path.kpoints) + p.addArrayValues('band_segm_labels', + band_path.labels) + p.addArrayValues('band_segm_start_end', + np.asarray( + [band_path.kpoints[0], + band_path.kpoints[-1]]) + + p.finishedParsingSession("ParseSuccess", None) if __name__ == '__main__':