From d49837cc5dd67e4b9f38f5ee7aaddd174c09aab6 Mon Sep 17 00:00:00 2001 From: Richard West Date: Mon, 18 Nov 2019 00:42:37 -0500 Subject: [PATCH] When making a Species allow adsorbate resonance structures different multiplicity. When a metal surface is involved, your adsorbate may have different multiplicity in different resonance forms because you may hybridize a radical onto the metal where it "disappears". It is an attempt to address https://github.com/ReactionMechanismGenerator/RMG-Py/issues/1820 --- rmgpy/species.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/rmgpy/species.py b/rmgpy/species.py index 922d84bed2..3d7c4d5225 100644 --- a/rmgpy/species.py +++ b/rmgpy/species.py @@ -123,7 +123,9 @@ def __init__(self, index=-1, label='', thermo=None, conformer=None, molecule=Non self._smiles = smiles # Check multiplicity of each molecule is the same - if molecule is not None and len(molecule) > 1: + # although forgive things with a surface site because metals can + # "absorb" radicals. + if molecule is not None and len(molecule) > 1 and not molecule[0].contains_surface_site(): mult = molecule[0].multiplicity for m in molecule[1:]: if mult != m.multiplicity: