In [ ]:
import os
from IPython.display import display
import rmgpy
from rmgpy.data.rmg import RMGDatabase
from rmgpy.reaction import Reaction
from rmgpy.molecule.molecule import Molecule
from rmgpy.species import Species
from rmgpy.rmg.react import *
In [ ]:
databasePath = os.path.join(rmgpy.settings['test_data.directory'], 'testing_database')
database = RMGDatabase()
database.load(
path = databasePath,
thermoLibraries = ['primaryThermoLibrary'],
reactionLibraries = ['GRI-Mech3.0'],
seedMechanisms = [],
kineticsFamilies = 'default',
)
for family in database.kinetics.families.itervalues():
family.addKineticsRulesFromTrainingSet(thermoDatabase=database.thermo)
family.fillKineticsRulesByAveragingUp(verbose=True)
In [ ]:
reactants = [
Species().fromSMILES('[OH]'),
Species().fromSMILES('O[CH2]'),
]
products = [
Species().fromSMILES('O'),
Species().fromSMILES('C=C'),
]
for r in reactants:
r.generateResonanceIsomers()
for p in products:
p.generateResonanceIsomers()
rxn = Reaction(reactants=reactants, products=products)
In [ ]:
result = reactSpecies(reactants)
In [ ]:
for res in result:
display(res)
In [ ]:
rxn0 = result[3]
# for rxn in database.kinetics.libraries['GRI-Mech3.0'].getLibraryReactions():
# if rxn0.isIsomorphic(rxn):
# kinetics = rxn.kinetics
# break
kinetics = database.kinetics.families[rxn0.family].getKinetics(rxn0, templateLabels=rxn0.template, degeneracy=rxn0.degeneracy, returnAllKinetics=False)
In [ ]:
kinetics
In [ ]:
print kinetics[0].comment
In [ ]: