Skip to content

Commit

Permalink
add initial species in core before seed mechanism to make sure initia…
Browse files Browse the repository at this point in the history
…l species in phase.names
  • Loading branch information
hwpang committed Mar 2, 2023
1 parent 9f9bc89 commit 8574d62
Showing 1 changed file with 19 additions and 16 deletions.
35 changes: 19 additions & 16 deletions rmgpy/rmg/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand All @@ -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]):
Expand Down Expand Up @@ -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:
Expand Down

0 comments on commit 8574d62

Please sign in to comment.