Source code for aiida_lammps.parsers.parse_raw.final_data

"""Set of functions to parse the files containing the final variables printed by LAMMPS"""

from typing import Optional

import yaml


[docs]def parse_final_data( filename: Optional[str] = None, file_contents: Optional[str] = None ) -> dict: """ Read the yaml file with the global final data. The final iteration for each of computed variables is sotred into a yaml file which is then read and stored as a dictionary. :param filename: name of the yaml file where the variables are stored, defaults to None :type filename: str, optional :param file_contents: contents of the yaml file where the variables are stored, defaults to None :type file_contents: str, optional :return: dictionary with the final compute variables :rtype: dict """ if filename is None and file_contents is None: return None if filename is not None: try: with open(filename) as handle: data = yaml.load(handle, Loader=yaml.Loader) except OSError: data = None if file_contents is not None: data = yaml.load(file_contents, Loader=yaml.Loader) return data