From e378375c980ac9f52adc0aefa214ea7a5939d330 Mon Sep 17 00:00:00 2001 From: Jonathan Chico Date: Sat, 25 Nov 2023 17:43:21 +0100 Subject: [PATCH] Adding check for the raw calculation to see if lammps has exited with an error. Addresses #87 --- aiida_lammps/calculations/base.py | 2 +- aiida_lammps/calculations/raw.py | 5 +++++ aiida_lammps/parsers/raw.py | 7 +++++++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/aiida_lammps/calculations/base.py b/aiida_lammps/calculations/base.py index 81ee22e8..25f520ea 100644 --- a/aiida_lammps/calculations/base.py +++ b/aiida_lammps/calculations/base.py @@ -198,7 +198,7 @@ def define(cls, spec): spec.exit_code( 309, "ERROR_PARSER_DETECTED_LAMMPS_RUN_ERROR", - message="The parser detected the lampps error :{error}", + message="The parser detected the lammps error :{error}", ) spec.exit_code( 400, diff --git a/aiida_lammps/calculations/raw.py b/aiida_lammps/calculations/raw.py index 32046517..73bb4302 100644 --- a/aiida_lammps/calculations/raw.py +++ b/aiida_lammps/calculations/raw.py @@ -49,6 +49,11 @@ def define(cls, spec): required=True, help="The data extracted from the lammps out file", ) + spec.exit_code( + 309, + "ERROR_PARSER_DETECTED_LAMMPS_RUN_ERROR", + message="The parser detected the lammps error :{error}", + ) spec.exit_code( 351, "ERROR_OUTFILE_MISSING", diff --git a/aiida_lammps/parsers/raw.py b/aiida_lammps/parsers/raw.py index 58dc7b02..722ce471 100644 --- a/aiida_lammps/parsers/raw.py +++ b/aiida_lammps/parsers/raw.py @@ -26,6 +26,13 @@ def parse(self, **kwargs): if parsed_data is None: return self.exit_codes.ERROR_PARSING_OUTFILE + if parsed_data["global"]["errors"]: + for entry in parsed_data["global"]["errors"]: + self.logger.error(f"LAMMPS emitted the error {entry}") + return self.exit_codes.ERROR_PARSER_DECTECTED_LAMMPS_RUN_ERROR.format( + error=entry + ) + global_data = parsed_data["global"] results = {"compute_variables": global_data}