From 4e3c8ffdffb41f1bfd994e881347cf965d21ccef Mon Sep 17 00:00:00 2001 From: alongd Date: Fri, 7 Jun 2019 22:41:32 -0400 Subject: [PATCH] Calculate the translational mode if doesn't exist Sometimes the translational mode is not appended to modes for monoatomic species. If it doesn't exist, determine it from the mass. --- arkane/statmech.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/arkane/statmech.py b/arkane/statmech.py index 258807f734..2111b1849c 100644 --- a/arkane/statmech.py +++ b/arkane/statmech.py @@ -365,13 +365,20 @@ def load(self, pdep=False): spinMultiplicity=spinMultiplicity, opticalIsomers=opticalIsomers, label=self.species.label) + translational_mode_exists = False for mode in conformer.modes: if isinstance(mode, (LinearRotor, NonlinearRotor)): self.supporting_info.append(mode) break + if isinstance(mode, (Translation, IdealGasTranslation)): + translational_mode_exists = True if unscaled_frequencies: self.supporting_info.append(unscaled_frequencies) + if not translational_mode_exists: + # Sometimes the translational mode is not appended to modes for monoatomic species + conformer.modes.append(IdealGasTranslation(mass=self.species.molecularWeight)) + if conformer.spinMultiplicity == 0: raise ValueError("Could not read spin multiplicity from log file {0},\n" "please specify the multiplicity in the input file.".format(self.path))