Skip to content

Conversation

@davidfarinajr
Copy link
Contributor

@davidfarinajr davidfarinajr commented Apr 27, 2021

This PR adds halogens to the kinetics database
Note: the database tests will not pass until ReactionMechanismGenerator/RMG-Py#1997 is merged since the PR depends on the R!H!Val7 atomtype

FAMILIES

New Families - F_Abstraction, Cl_Abstraction, Br_Abstraction, Disproportionation-Y, XY_Addition_MulitpleBond, 1,2_XY_interchange

The families are put in a new halogens set in recommended.py acb9b8f

Existing Families -

The strategy for adding halogens to existing families was primarily to add the Val7 atomtype to H atom nodes

H_Abstraction - new groups are machine written, *3 halogen atom abstractors, added training reactions
Disproportionation -new groups are machine written, *1 halogen atom abstractors, added training reactions
R_Addition_MulitpleBond - new groups are machine written, *3 halogen atoms can add, added training reactions
1,2_Insertion_carbene - added halogens and training reactions
1+2_Cycloaddition - H -> [H,Val7] for unlabeled atoms
1,2-Birad_to_alkene - H -> [H,Val7] for unlabeled atoms
1,2_Insertion_CO - *3 H -> [H,Val7]
1,3_Insertion_CO2 - *3 halogens
1,3_Insertion_ROR - - *3 H -> [H,Val7]
Birad_R_Recombination - machine written, *1 [H,Val7]
Intra_H_migration - *3 H -> [H,Val7] (halogens can migrate). Plan to make new families (intra_X_migration) when we have more kinetic data
Singlet_Carbene_Intra_Dispropotionation -*3 H -> *3 [H,Val7]
CO_Dispropotionation - machine written H -> [H,Val7]
R_Recombination - new halogen groups added, new training reactions, this family should be reconstructed with automated tree gen
Intra_Disproportionation - *4 H -> [H,Val7]
Intra_ene_reaction - *6 H -> *6 [H,Val7]
Concerted Intra Diels alder monocyclic 1,2 shiftH - *7 H -> [H,Val7]
2+2_cycloaddition_CCO - H -> [H,Val7]
2+2_cycloaddition_Cd - H -> [H,Val7]
2+2_cycloaddition_CO - H -> [H,Val7]
Intra_RH_Add_Endocyclic - H -> [H,Val7]
Intra_RH_Add_Exocyclic - H -> [H,Val7]
ketoenol groups - H -> [H,Val7]
R_Addition_COm - H -> [H,Val7]

LIBRARIES

  • HFC mech (NIST)

  • CH2F2 (NIST)

  • YF

  • 2-BTP/CF3Br (NIST)

  • DTU mech CH3Cl

4 C u0 p0 c0 {3,S} {5,D} {10,S}
5 C u0 p0 c0 {4,D} {6,S} {12,S}
6 *1 C u0 p0 c0 {1,D} {5,S} {7,S}
1 *2 C u0 p0 c0 {2,B} {6,B} {8,S}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is this change from kekulized to aromatic intentional and beneficial?

@davidfarinajr
Copy link
Contributor Author

Now simultaneous with PR ReactionMechanismGenerator/RMG-Py#2135 because we need to swap labels for new own reverse families

@davidfarinajr
Copy link
Contributor Author

======================================================================
1745
FAIL: test that the right number of reactions are in output network
1746
----------------------------------------------------------------------
1747
Traceback (most recent call last):
1748
  File "/home/runner/work/RMG-database/RMG-Py/arkane/explorerTest.py", line 81, in test_reactions
1749
    self.assertEqual(len(self.explorer_job.networks[0].path_reactions), 7)
1750
AssertionError: 6 != 7
1751

Lol, we just changed this from 6 to 7 when CO was added to primaryThermoLibrary 😂. I add a bunch of training reactions in this PR, so I must have altered the kinetics so we get 6 now instead of 7.

@davidfarinajr
Copy link
Contributor Author

Non-identical kinetics!
3077original:
3078rxn: H(4) + CH2CHCHCH(15) <=> butadiene13(17)		origin: R_Recombination
3079tested:
3080rxn: butadiene13(17) <=> H(4) + CH2CHCHCH(15)		origin: R_Recombination
3081k(1bar)|300K   |400K   |500K   |600K   |800K   |1000K  |1500K  |2000K  
3082
3083k(T):  |   9.21|   9.03|   8.88|   8.76|   8.58|   8.43|   8.17|   7.98
3084k(T):  | -66.67| -45.24| -32.57| -24.25| -14.07|  -8.15|  -0.66|   2.76
3085
3086Kinetics: Arrhenius(A=(8.15666e+18,'cm^3/(mol*s)'), n=-1.493, Ea=(0,'kcal/mol'), T0=(1,'K'), comment="""BM rule fitted to 2 training reactions at node Root_1R->H_N-2R->S_N-2CHNO->H_N-2CNO-inRing_Ext-2CNO-R_Sp-3R!H=2CCNNOO_N-3R!H->O Total Standard Deviation in ln(k): 7.13613102162
3087Kinetics: Arrhenius(A=(5.3e+44,'s^-1'), n=-8.62, Ea=(123.608,'kcal/mol'), T0=(1,'K'), comment="""Matched reaction 188 C4H6-8 <=> C4H5-3 + H in R_Recombination/training
3088kinetics: BM rule fitted to 2 training reactions at node Root_1R->H_N-2R->S_N-2CHNO->H_N-2CNO-inRing_Ext-2CNO-R_Sp-3R!H=2CCNNOO_N-3R!H->O Total Standard Deviation in ln(k): 7.13613102162
3089kinetics: Matched reaction 188 C4H6-8 <=> C4H5-3 + H in R_Recombination/training

looks like the kinetics are being compared in opposite directions 🤔

@davidfarinajr
Copy link
Contributor Author

Change in observables:

Observables Test Case: Aromatics Comparison
4069================
4070
4071All Observables varied by less than 0.500 on average between old model and new model in all conditions!

Observables Test Case: NC Comparison
5246================
5247
5248All Observables varied by less than 0.200 on average between old model and new model in all conditions!

Observables Test Case: SO2 Comparison
5572================
5573
5574The following observables did not match:
5575
5576Observable species O=S=O varied by more than 0.100 on average between old model SO2(15) and new model SO2(15) in condition 1.
5577
5578

Observables Test Case: EG1 Comparison
3529================
3530
3531All Observables varied by less than 0.050 on average between old model and new model in all conditions!
3532
3533

Observables Test Case: Oxidation Comparison
12394================
12395
12396The following observables did not match:
12397
12398Observable species [OH] varied by more than 0.500 on average between old model OH(5) and new model OH(5) in condition 1.
12399
12400

Observables Test Case: liquid_oxidation Comparison
16195================
16196
16197All Observables varied by less than 0.100 on average between old model and new model in all conditions!

New `intra_Y_migration` (Y=F,Cl,Br) should be made when we have more kinetic data for these
Note: this family should be rebuilt using automated tree gen
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants