12.3. Kinetics Database

This section describes the general usage of RMG’s kinetic database. See Modifying the Kinetics Database for instructions on modifying the database.

Pressure independent reaction rates in RMG are calculated using a modified Arrhenius equation, designating the reaction coefficient as \(k(T)\) at temperature \(T\).

\[k(T) = A\left(\frac{T}{T_0}\right)^ne^{-(E_0 + \alpha \Delta H_{rxn})/(RT)}\]

\(R\) is the universal gas constant. The kinetic parameters determining the rate coefficient are:

  • \(A\): the pre-exponential A-factor
  • \(T_0\): the reference temperature
  • \(n\): the temperature exponent
  • \(E_0\): the activation energy for a thermoneutral reaction (a barrier height intrinsic to the kinetics family)
  • \(\alpha\): the Evans-Polanyi coefficient (characterizes the position of the transition state along the reaction coordinate, \(0 \le \alpha \le 1\))
  • \(\Delta H_{rxn}\): the enthalpy of reaction

When Evans-Polanyi corrections are used, \(\Delta H_{rxn}\) is calculated using RMG’s thermo database, instead of being specified in the kinetic database. When Evans-Polanyi corrections are not used, \(\Delta H_{rxn}\) and \(\alpha\) are set to zero, and \(E_0\) is the activation energy of the reaction.

12.3.1. Libraries

Kinetic libraries delineate kinetic parameters for specific reactions. RMG always chooses to use kinetics from libraries over families. If multiple libraries contain the same reaction, then precedence is given to whichever library is listed first in the input.py file.

For combustion mechanisms, you should always use at least one small-molecule combustion library, such as the pre-packaged BurkeH2O2 and/or FFCM1 for natural gas. The reactions contained in these libraries are poorly estimated by kinetic families and are universally important to combustion systems.

Kinetic libraries should also be used in the cases where:

  • A set of reaction rates were optimized together
  • You know the reaction rate is not generalizable to similar species (perhaps due to catalysis or aromatic structures)
  • No family exists for the class of reaction
  • You are not confident about the accuracy of kinetic parameters

Below is a list of pre-packaged kinetics library reactions in RMG:

Library Description
1989_Stewart_2CH3_to_C2H5_H Chemically Activated Methyl Recombination to Ethyl (2CH3 -> C2H5 + H)
2001_Tokmakov_H_Toluene_to_CH3_Benzene H + Toluene = CH3 + Benzene
2005_Senosiain_OH_C2H2 pathways on the OH + acetylene surface
2006_Joshi_OH_CO pathways on OH + CO = HOCO = H + CO2 surface
BurkeH2O2inArHe Comprehensive H2/O2 kinetic model in Ar or He atmosphere
BurkeH2O2inN2 Comprehensive H2/O2 kinetic model in N2 atmosphere
C10H11 Cyclopentadiene pyrolysis in the presence of ethene
C3 Cyclopentadiene pyrolysis in the presence of ethene
C6H5_C4H4_Mebel Formation Mechanism of Naphthalene and Indene
Chernov Soot Formation with C1 and C2 Fuels (aromatic reactions only)
CurranPentane Ignition of pentane isomers
Dooley Methyl formate (contains several mechanisms)
ERC-FoundationFuelv0.9 Small molecule combustio (natural gas)
Ethylamine Ethylamine pyrolysis and oxidation
FFCM1(-) Foundational Fuel Chemistry Model Version 1.0 (excited species removed)
Fulvene_H Cyclopentadiene pyrolysis in the presence of ethene
GRI-HCO The HCO <=> H + CO reaction
GRI-Mech3.0 Gas Research Institute natural gas mechanism optimized for 1 atm (discountinued Feb. 2000)
GRI-Mech3.0-N GRI-Mech3.0 including nitrogen chemistry (NOx from N2)
Glarborg Mechanisms by P. Glarborg, assorted by carbon number
JetSurF2.0 Jet Surrogate Fuel model up tp C12 (excited species removed)
Mebel_C6H5_C2H2 Pathways from benzene to naphthalene
Mebel_Naphthyl Reactions of naphthyl-1 and naphthyl-2
Methylformate Methyl formate
Narayanaswamy Oxidation of substituted aromatic species (aromatic reactions only)
Nitrogen_Dean_and_Bozzelli Combustion Chemistry of Nitrogen
Nitrogen_Glarborg_Gimenez_et_al High pressure C2H4 oxidation with nitrogen chemistry
Nitrogen_Glarborg_Lucassen_et_al Fuel-nitrogen conversion in the combustion of small amines
Nitrogen_Glarborg_Zhang_et_al Premixed nitroethane flames at low pressure
OxygenSingTrip Reactions of singlet and triplet oxygen
Sulfur/DMDS Dimethyl disulfide (CH3SSCH3)
Sulfur/DMS Dimethyl disulfide (CH3SSCH3)
Sulfur/DTBS Di-tert-butyl Sulfide (C4H9SSC4H9)
Sulfur/Hexanethial_nr Hexyl sulfide (C6H13SC6H13) + hexadecane (C16H34)
Sulfur/Sendt Small sulfur molecule
Sulfur/TP_Song Thiophene (C4H4S, aromatic)
Sulfur/Thial_Hydrolysis Thioformaldehyde (CH2S) and thioacetaldehyde (C2H4S) to COS and CO2
TEOS Organic oxidized silicone
c-C5H5_CH3_Sharma Cyclopentadienyl + CH3
combustion_core Leeds University natural gas mechanism (contains versions 2-5)
fascella Cyclopentadienyl + acetyl
kislovB Formation of indene in combustion
naphthalene_H Cyclopentadiene pyrolysis in the presence of ethene Part 1
vinylCPD_H Cyclopentadiene pyrolysis in the presence of ethene Part 2

12.3.2. Families

Allowable reactions in RMG are divided up into classes called reaction families. All reactions not listed in a kinetic library have their kinetic parameters estimated from the reaction families.

Each reaction family contains the files:

  • groups.py containing the recipe, group definitions, and hierarchical trees
  • training.py containing a training set for the family
  • rules.py containing kinetic parameters for rules

There are currently 45 reaction families in RMG:

1+2_Cycloaddition

../../../_images/1+2_Cycloaddition.png

1,2-Birad_to_alkene

../../../_images/1,2-Birad_to_alkene.png

1,2_Insertion_carbene

../../../_images/1,2_Insertion_carbene.png

1,2_Insertion_CO

../../../_images/1,2_Insertion_CO.png

1,2_shiftS

../../../_images/1,2_shiftS.png

1,3_Insertion_CO2

../../../_images/1,3_Insertion_CO2.png

1,3_Insertion_ROR

../../../_images/1,3_Insertion_ROR.png

1,3_Insertion_RSR

../../../_images/1,3_Insertion_RSR.png

1,4_Cyclic_birad_scission

../../../_images/1,4_Cyclic_birad_scission.png

1,4_Linear_birad_scission

../../../_images/1,4_Linear_birad_scission.png

2+2_cycloaddition_CCO

../../../_images/2+2_cycloaddition_CCO.png

2+2_cycloaddition_Cd

../../../_images/2+2_cycloaddition_Cd.png

2+2_cycloaddition_CO

../../../_images/2+2_cycloaddition_CO.png

Birad_recombination

../../../_images/Birad_recombination.png

Cyclic_Ether_Formation

../../../_images/Cyclic_Ether_Formation.png

Diels_alder_addition

../../../_images/Diels_alder_addition.png

Disproportionation

../../../_images/Disproportionation.png

H_Abstraction

../../../_images/H_Abstraction.png

H_shift_cyclopentadiene

../../../_images/H_shift_cyclopentadiene.png

HO2_Elimination_from_PeroxyRadical

../../../_images/HO2_Elimination_from_PeroxyRadical.png

Intra_Diels_alder

../../../_images/Intra_Diels_alder.png

Intra_Disproportionation

../../../_images/Intra_Disproportionation.png

intra_H_migration

../../../_images/intra_H_migration.png

intra_NO2_ONO_conversion

../../../_images/intra_NO2_ONO_conversion.png

intra_OH_migration

../../../_images/intra_OH_migration.png

Intra_R_Add_Endocyclic

../../../_images/Intra_R_Add_Endocyclic.png

Intra_R_Add_Exocyclic

../../../_images/Intra_R_Add_Exocyclic.png

Intra_R_Add_ExoTetCyclic

../../../_images/Intra_R_Add_ExoTetCyclic.png

Intra_RH_Add_Endocyclic

../../../_images/Intra_RH_Add_Endocyclic.png

Intra_RH_Add_Exocyclic

../../../_images/Intra_RH_Add_Exocyclic.png

intra_substitutionCS_cyclization

../../../_images/intra_substitutionCS_cyclization.png

intra_substitutionCS_isomerization

../../../_images/intra_substitutionCS_isomerization.png

intra_substitutionS_cyclization

../../../_images/intra_substitutionS_cyclization.png

intra_substitutionS_isomerization

../../../_images/intra_substitutionS_isomerization.png

ketoenol

../../../_images/ketoenol.png

Korcek_step1

../../../_images/Korcek_step1.png

Korcek_step2

../../../_images/Korcek_step2.png

lone_electron_pair_bond

../../../_images/lone_electron_pair_bond.png

Oa_R_Recombination

../../../_images/Oa_R_Recombination.png

R_Addition_COm

../../../_images/R_Addition_COm.png

R_Addition_CSm

../../../_images/R_Addition_CSm.png

R_Addition_MultipleBond

../../../_images/R_Addition_MultipleBond.png

R_Recombination

../../../_images/R_Recombination.png

Substitution_O

../../../_images/Substitution_O.png

SubstitutionS

../../../_images/SubstitutionS.png

12.3.2.1. Recipe

The recipe can be found near the top of groups.py and describes the changes in bond order and radicals that occur during the reaction. Reacting atoms are labelled with a starred number. Shown below is the recipe for the H-abstraction family.

../../../_images/Recipe.png

The table below shows the possible actions for recipes. The arguments are given in the curly braces as shown above. For the order of bond change in the Change_Bond action, a -1 could represent a triple bond changing to a double bond while a +1 could represent a single bond changing to a double bond.

Action Argument1 Argument2 Argument3
Break_Bond First bonded atom Type of bond Second bonded atom
Form_Bond First bonded atom Type of bond Second bonded atom
Change_Bond First bonded atom Order of bond change Second bonded atom
Gain_Radical Specified atom Number of radicals  
Lose_Radical Specified atom Number of radicals  

Change_Bond order cannot be directly used on benzene bonds. During generation, aromatic species are kekulized to alternating double and single bonds such that reaction families can be applied. However, RMG cannot properly handle benzene bonds written in the kinetic group definitions.

12.3.2.2. Training Set vs Rules

The training set and rules both contain trusted kinetics that are used to fill in templates in a family. The training set contains kinetics for specific reactions, which are then matched to a template. The kinetic rules contain kinetic parameters that do not necessarily correspond to a specific reaction, but have been generalized for a template.

When determining the kinetics for a reaction, a match for the template is searched for in the kinetic database. The three cases in order of decreasing reliability are:

  1. Reaction match from training set
  2. Node template exact match using either training set or rules
  3. Node template estimate averaged from children nodes

Both training sets and reaction libraries use the observed rate, but rules must first be divided by the degeneracy of the reaction. For example, the reaction CH4 + OH –> H2O + CH3 has a reaction degeneracy of 4. If one performed an experiment or obtained this reaction rate using Cantherm (applying the correct symmetry), the resultant rate parameters would be entered into libraries and training sets unmodified. However a kinetic rule created for this reaction must have its A-factor divided by 4 before being entered into the database.

The reaction match from training set is accurate within the documented uncertainty for that reaction. A template exact match is usually accurate within about one order of magnitude. When there is no kinetics available for for the template in either the training set or rules, the kinetics are averaged from the children nodes as an estimate. In these cases, the kinetic parameters are much less reliable. For more information on the estimation algorithm see Kinetics Estimation.

The training set can be modified in training.py and the rules can be modified in rules.py. For more information on modification see Adding Training Reactions and Adding Kinetic Rules.