diff --git a/rmgpy/rmg/main.py b/rmgpy/rmg/main.py index 79797d3629..cb6f95bbfd 100644 --- a/rmgpy/rmg/main.py +++ b/rmgpy/rmg/main.py @@ -585,6 +585,25 @@ def initialize(self, **kwargs): # Initialize reaction model + # Also always add in a few bath gases (since RMG-Java does) + for label, smiles in [('Ar', '[Ar]'), ('He', '[He]'), ('Ne', '[Ne]'), ('N2', 'N#N')]: + molecule = Molecule().from_smiles(smiles) + spec, is_new = self.reaction_model.make_new_species(molecule, label=label, reactive=False) + if is_new: + self.initial_species.append(spec) + + for spec in self.initial_species: + submit(spec, self.solvent) + + # Add nonreactive species (e.g. bath gases) to core first + # This is necessary so that the PDep algorithm can identify the bath gas + for spec in self.initial_species: + if not spec.reactive: + self.reaction_model.enlarge(spec) + for spec in self.initial_species: + if spec.reactive: + self.reaction_model.enlarge(spec) + # Seed mechanisms: add species and reactions from seed mechanism # DON'T generate any more reactions for the seed species at this time for seed_mechanism in self.seed_mechanisms: @@ -595,13 +614,6 @@ def initialize(self, **kwargs): for library, option in self.reaction_libraries: self.reaction_model.add_reaction_library_to_edge(library) - # Also always add in a few bath gases (since RMG-Java does) - for label, smiles in [('Ar', '[Ar]'), ('He', '[He]'), ('Ne', '[Ne]'), ('N2', 'N#N')]: - molecule = Molecule().from_smiles(smiles) - spec, is_new = self.reaction_model.make_new_species(molecule, label=label, reactive=False) - if is_new: - self.initial_species.append(spec) - # Perform species constraints and forbidden species checks on input species for spec in self.initial_species: if self.database.forbidden_structures.is_molecule_forbidden(spec.molecule[0]): @@ -654,15 +666,6 @@ def initialize(self, **kwargs): spec.get_liquid_volumetric_mass_transfer_coefficient_data() spec.get_henry_law_constant_data() - # Add nonreactive species (e.g. bath gases) to core first - # This is necessary so that the PDep algorithm can identify the bath gas - for spec in self.initial_species: - if not spec.reactive: - self.reaction_model.enlarge(spec) - for spec in self.initial_species: - if spec.reactive: - self.reaction_model.enlarge(spec) - # chatelak: store constant SPC indices in the reactor attributes if any constant SPC provided in the input file # advantages to write it here: this is run only once (as species indexes does not change over the generation) if self.solvent is not None: