From 81682c80f3ac5b0ace36518ef6191d860f804ce6 Mon Sep 17 00:00:00 2001 From: ladinesa <67910858+ladinesa@users.noreply.github.com> Date: Thu, 4 Jul 2024 01:09:58 +0200 Subject: [PATCH] Add error handling asap parser (#116) --- atomisticparsers/asap/parser.py | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/atomisticparsers/asap/parser.py b/atomisticparsers/asap/parser.py index 3a59a1e..198307b 100644 --- a/atomisticparsers/asap/parser.py +++ b/atomisticparsers/asap/parser.py @@ -179,16 +179,19 @@ def index(): ) for step in self.thermodynamics_steps: - traj = self.traj_parser.traj[steps.index(step)] - if (total_energy := traj.get_total_energy()) is not None: - total_energy = total_energy * ureg.eV - if (forces := traj.get_forces()) is not None: - forces = forces * ureg.eV / ureg.angstrom - if (forces_raw := traj.get_forces(apply_constraint=False)) is not None: - forces_raw * ureg.eV / ureg.angstrom - self.parse_thermodynamics_step( - dict( - energy=dict(total=dict(value=total_energy)), - forces=dict(total=dict(value=forces, value_raw=forces_raw)), + try: + traj = self.traj_parser.traj[steps.index(step)] + if (total_energy := traj.get_total_energy()) is not None: + total_energy = total_energy * ureg.eV + if (forces := traj.get_forces()) is not None: + forces = forces * ureg.eV / ureg.angstrom + if (forces_raw := traj.get_forces(apply_constraint=False)) is not None: + forces_raw * ureg.eV / ureg.angstrom + self.parse_thermodynamics_step( + dict( + energy=dict(total=dict(value=total_energy)), + forces=dict(total=dict(value=forces, value_raw=forces_raw)), + ) ) - ) + except Exception: + pass