diff --git a/aiida_cp2k/workchains/base.py b/aiida_cp2k/workchains/base.py index 08b2159..76cc312 100644 --- a/aiida_cp2k/workchains/base.py +++ b/aiida_cp2k/workchains/base.py @@ -1,5 +1,7 @@ """Base work chain to run a CP2K calculation.""" +import re + from aiida import common, engine, orm, plugins from .. import utils @@ -85,7 +87,7 @@ def restart_incomplete_calculation(self, calc): content_string = calc.outputs.retrieved.base.repository.get_object_content(calc.base.attributes.get('output_filename')) # CP2K was updating geometry - continue with that. - restart_geometry_transformation = "Max. gradient =" in content_string or "OPT| Maximum gradient " in content_string or "MD| Step number" in content_string + restart_geometry_transformation = re.search(r"Max. gradient\s+=", content_string) or re.search(r"OPT\| Maximum gradient\s*[-+]?\d*\.?\d+", content_string) or "MD| Step number" in content_string end_inner_scf_loop = "Total energy: " in content_string # The message is written in the log file when the CP2K input parameter `LOG_PRINT_KEY` is set to True. if not (restart_geometry_transformation or end_inner_scf_loop or "Writing RESTART" in content_string):