Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Creation of an RMGC2 seed mechanism #301

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Creation of an RMGC2 seed mechanism #301

wants to merge 1 commit into from

Conversation

mjohnson541
Copy link
Contributor

New C2 chemistry seed based on Klippenstein_Glarborg2016 adding in rates from C2H4+O_Klipp2017 and other individual important rates. In addition to the rates in the above libraries I updated the rate for CH3OOH + HCO = CH2O + CH3OO and added rates for HCO + O2 <=> OCHOO, HO2 + OCHOOH <=> OCHOO + H2O2 and HO2 + CH3 <=> CH3OOH. If you have any chemistry you think is important to have in a general C2 seed for combustion of COH compounds that isn't in the above please let me know.

@mjohnson541
Copy link
Contributor Author

@jimchu10 is there anything you think would be important to make sure is included in this?

Copy link
Member

@alongd alongd left a comment

Choose a reason for hiding this comment

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

Overall looking good. Is there anything in particular you think I should look carefully into?
Also, is there any input from @aelong's thesis that you find relevant for this library?
See minor comments below


entry(
index = 1,
label = "H + O2 <=> HO2",
Copy link
Member

Choose a reason for hiding this comment

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

How does the H2/O2 subset compare to the Burke/Klipp. library? Is all included and relatively updated here?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

All of the reactions that are in both that I've checked look the same or updated, however there are a few missing. I'm unsure why they weren't included in Klippenstein_Glarborg2016. I'll take a look at tit.


entry(
index = 12,
label = "HO2 + H <=> H2 + O2",
Copy link
Member

Choose a reason for hiding this comment

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

Add elementary_high_p? Or, do we not care about this PES since we assume it's well explored?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Hmm...do you think there are any risks (increased uncertainty) to running pdep on a well explored surface?

Copy link
Member

Choose a reason for hiding this comment

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

I don't, I take it back


entry(
index = 52,
label = "HCO + O <=> CO + OH",
Copy link
Member

Choose a reason for hiding this comment

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

Add elementary_high_p?
Same for 53, 54...

@mjohnson541
Copy link
Contributor Author

I tried running with seedMechanisms=['RMGC2','BurkeH2O2inN2'] and it threw my model off pretty badly. It's possible my original run was a fluke, but I think it's much more likely something doesn't play nice between the two libraries.

@alongd
Copy link
Member

alongd commented Oct 21, 2018

And what if you reverse the library order?
BTW, what H/O chemistry isn't in agreement between the two?

@mjohnson541
Copy link
Contributor Author

Never mind, I've worked out what the problem was. It seems to be vital that one of the BurkeH2O2 libraries be included during non-pdep model construction because there is at least one not very significant reaction RMG will estimate if it doesn't have a library: O + OH = HO2 that is very pressure dependent and if it isn't estimated pdep the rate is high enough to impact ignition chemistry. The BurkeH2O2 libraries are also the only libraries with a rate for this reaction.

@mjohnson541
Copy link
Contributor Author

It may be worth considering having a primaryReactionLibrary for rates of typically insiginficant reactions that RMG will overestimate if not given a value for.

@mjohnson541
Copy link
Contributor Author

Note: We need to add an estimate for CH2OH = CH3O in this.

1 similar comment
@mjohnson541
Copy link
Contributor Author

Note: We need to add an estimate for CH2OH = CH3O in this.

@alongd
Copy link
Member

alongd commented Oct 22, 2018

I think that one of the Burke H/O libs should always be used (and be given priority). We could rename it to primaryH2/O2 or something of that sort as we discussed, or just recommend users to always use it. If we come up with non-H2/O2 rates that should be included in a primary library, then let's make a general primaryKinetics one.

@mjohnson541
Copy link
Contributor Author

Note: We need to add an estimate for CH2OH = CH3O in this.

1 similar comment
@mjohnson541
Copy link
Contributor Author

Note: We need to add an estimate for CH2OH = CH3O in this.

@mjohnson541
Copy link
Contributor Author

a rate for CH2OH = CH3O needs added to this

@jimchu10
Copy link
Contributor

jimchu10 commented Jan 2, 2019

Sorry, I didn't see your question before.
Have you compared the rates with FFCM rates?
In my methane modeling, I used
thermoLibraries = ['FFCM1(-)','BurkeH2O2','primaryThermoLibrary','DFT_QCI_thermo','CBS_QB3_1dHR'],
reactionLibraries = [('FFCM1(-)',False),('BurkeH2O2inArHe',False),('2005_Senosiain_OH_C2H2',False)],

So FFCM is always prioritized than other libraries. It might not be great for all cases, but at least it worked well for rich-methane combustion.

Based from Klippenstein_Glarborg2016 adding in rates from C2H4+O_Klipp2017 and other individual important rates
@JacksonBurns
Copy link
Contributor

@mjohnson541 any interest in getting this merged? From what we can see this got pretty close, just needs one additional reaction?

Copy link

Regression Testing Results

WARNING:root:Initial mole fractions do not sum to one; normalizing.
⚠️ One or more regression tests failed.
Please download the failed results and run the tests locally or check the log to see why.

Detailed regression test results.

Regression test aromatics:

Reference: Execution time (DD:HH:MM:SS): 00:00:01:07
Current: Execution time (DD:HH:MM:SS): 00:00:01:07
Reference: Memory used: 2769.81 MB
Current: Memory used: 2763.80 MB

aromatics Passed Core Comparison ✅

Original model has 15 species.
Test model has 15 species. ✅
Original model has 11 reactions.
Test model has 11 reactions. ✅

aromatics Passed Edge Comparison ✅

Original model has 106 species.
Test model has 106 species. ✅
Original model has 358 reactions.
Test model has 358 reactions. ✅

Observables Test Case: Aromatics Comparison

✅ All Observables varied by less than 0.500 on average between old model and new model in all conditions!

aromatics Passed Observable Testing ✅

Regression test liquid_oxidation:

Reference: Execution time (DD:HH:MM:SS): 00:00:02:09
Current: Execution time (DD:HH:MM:SS): 00:00:02:08
Reference: Memory used: 2909.37 MB
Current: Memory used: 2900.93 MB

liquid_oxidation Failed Core Comparison ❌

Original model has 37 species.
Test model has 37 species. ✅
Original model has 216 reactions.
Test model has 215 reactions. ❌
The original model has 1 reactions that the tested model does not have. ❌
rxn: CCO[O](31) <=> [OH](22) + CC=O(69) origin: intra_H_migration

liquid_oxidation Failed Edge Comparison ❌

Original model has 202 species.
Test model has 202 species. ✅
Original model has 1610 reactions.
Test model has 1610 reactions. ✅
The original model has 1 reactions that the tested model does not have. ❌
rxn: CCO[O](31) <=> [OH](22) + CC=O(69) origin: intra_H_migration
The tested model has 1 reactions that the original model does not have. ❌
rxn: CCO[O](31) <=> C[CH]OO(73) origin: intra_H_migration

Non-identical kinetics! ❌
original:
rxn: CCCCCO[O](104) + CC(CC(C)OO)O[O](103) <=> oxygen(1) + CCCCC[O](128) + CC([O])CC(C)OO(127) origin: Peroxyl_Disproportionation
tested:
rxn: CCCCCO[O](104) + CC(CC(C)OO)O[O](103) <=> oxygen(1) + CCCCC[O](127) + CC([O])CC(C)OO(129) origin: Peroxyl_Disproportionation

k(1bar) 300K 400K 500K 600K 800K 1000K 1500K 2000K
k(T): 3.52 4.27 4.71 5.01 5.39 5.61 5.91 6.06
k(T): 7.79 7.46 7.21 7.00 6.67 6.41 5.94 5.60

kinetics: Arrhenius(A=(3.2e+12,'cm^3/(mol*s)'), n=0, Ea=(4.096,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_Ext-5R-R_7R!H->C_N-7C-inRing_Ext-5R-R""")
kinetics: Arrhenius(A=(3.18266e+20,'cm^3/(mol*s)'), n=-2.694, Ea=(0.053,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_Ext-5R-R_7R!H->C_N-7C-inRing Ea raised from 0.0 to 0.2 kJ/mol to match endothermicity of reaction.""")
kinetics: Estimated from node Root_Ext-5R-R_7R!H->C_N-7C-inRing_Ext-5R-R
kinetics: Estimated from node Root_Ext-5R-R_7R!H->C_N-7C-inRing
Ea raised from 0.0 to 0.2 kJ/mol to match endothermicity of reaction.

Observables Test Case: liquid_oxidation Comparison

✅ All Observables varied by less than 0.100 on average between old model and new model in all conditions!

liquid_oxidation Passed Observable Testing ✅

Regression test nitrogen:

Reference: Execution time (DD:HH:MM:SS): 00:00:01:28
Current: Execution time (DD:HH:MM:SS): 00:00:01:25
Reference: Memory used: 2911.76 MB
Current: Memory used: 2908.32 MB

nitrogen Passed Core Comparison ✅

Original model has 41 species.
Test model has 41 species. ✅
Original model has 359 reactions.
Test model has 359 reactions. ✅

nitrogen Passed Edge Comparison ✅

Original model has 133 species.
Test model has 133 species. ✅
Original model has 981 reactions.
Test model has 981 reactions. ✅

Observables Test Case: NC Comparison

✅ All Observables varied by less than 0.200 on average between old model and new model in all conditions!

nitrogen Passed Observable Testing ✅

Regression test oxidation:

Reference: Execution time (DD:HH:MM:SS): 00:00:02:26
Current: Execution time (DD:HH:MM:SS): 00:00:02:26
Reference: Memory used: 2768.08 MB
Current: Memory used: 2765.59 MB

oxidation Passed Core Comparison ✅

Original model has 59 species.
Test model has 59 species. ✅
Original model has 694 reactions.
Test model has 694 reactions. ✅

oxidation Passed Edge Comparison ✅

Original model has 230 species.
Test model has 230 species. ✅
Original model has 1526 reactions.
Test model has 1526 reactions. ✅

Observables Test Case: Oxidation Comparison

✅ All Observables varied by less than 0.500 on average between old model and new model in all conditions!

oxidation Passed Observable Testing ✅

Regression test sulfur:

Reference: Execution time (DD:HH:MM:SS): 00:00:00:55
Current: Execution time (DD:HH:MM:SS): 00:00:00:57
Reference: Memory used: 2873.19 MB
Current: Memory used: 2871.96 MB

sulfur Passed Core Comparison ✅

Original model has 27 species.
Test model has 27 species. ✅
Original model has 74 reactions.
Test model has 74 reactions. ✅

sulfur Failed Edge Comparison ❌

Original model has 89 species.
Test model has 89 species. ✅
Original model has 227 reactions.
Test model has 227 reactions. ✅
The original model has 1 reactions that the tested model does not have. ❌
rxn: O(4) + SO2(15) (+N2) <=> SO3(16) (+N2) origin: primarySulfurLibrary
The tested model has 1 reactions that the original model does not have. ❌
rxn: O(4) + SO2(15) (+N2) <=> SO3(16) (+N2) origin: primarySulfurLibrary

Observables Test Case: SO2 Comparison

✅ All Observables varied by less than 0.100 on average between old model and new model in all conditions!

sulfur Passed Observable Testing ✅

Regression test superminimal:

Reference: Execution time (DD:HH:MM:SS): 00:00:00:40
Current: Execution time (DD:HH:MM:SS): 00:00:00:40
Reference: Memory used: 2991.20 MB
Current: Memory used: 2966.30 MB

superminimal Passed Core Comparison ✅

Original model has 13 species.
Test model has 13 species. ✅
Original model has 21 reactions.
Test model has 21 reactions. ✅

superminimal Passed Edge Comparison ✅

Original model has 18 species.
Test model has 18 species. ✅
Original model has 28 reactions.
Test model has 28 reactions. ✅

Regression test RMS_constantVIdealGasReactor_superminimal:

Reference: Execution time (DD:HH:MM:SS): 00:00:02:20
Current: Execution time (DD:HH:MM:SS): 00:00:02:22
Reference: Memory used: 3445.23 MB
Current: Memory used: 3469.24 MB

RMS_constantVIdealGasReactor_superminimal Passed Core Comparison ✅

Original model has 13 species.
Test model has 13 species. ✅
Original model has 19 reactions.
Test model has 19 reactions. ✅

RMS_constantVIdealGasReactor_superminimal Passed Edge Comparison ✅

Original model has 13 species.
Test model has 13 species. ✅
Original model has 19 reactions.
Test model has 19 reactions. ✅

Observables Test Case: RMS_constantVIdealGasReactor_superminimal Comparison

✅ All Observables varied by less than 0.100 on average between old model and new model in all conditions!

RMS_constantVIdealGasReactor_superminimal Passed Observable Testing ✅

Regression test RMS_CSTR_liquid_oxidation:

Reference: Execution time (DD:HH:MM:SS): 00:00:05:52
Current: Execution time (DD:HH:MM:SS): 00:00:06:00
Reference: Memory used: 3371.97 MB
Current: Memory used: 3371.97 MB

RMS_CSTR_liquid_oxidation Failed Core Comparison ❌

Original model has 37 species.
Test model has 37 species. ✅
Original model has 232 reactions.
Test model has 233 reactions. ❌
The tested model has 1 reactions that the original model does not have. ❌
rxn: CCO[O](36) <=> [OH](21) + CC=O(62) origin: intra_H_migration

RMS_CSTR_liquid_oxidation Failed Edge Comparison ❌

Original model has 206 species.
Test model has 206 species. ✅
Original model has 1508 reactions.
Test model has 1508 reactions. ✅
The original model has 1 reactions that the tested model does not have. ❌
rxn: CCO[O](35) <=> C[CH]OO(63) origin: intra_H_migration
The tested model has 1 reactions that the original model does not have. ❌
rxn: CCO[O](36) <=> [OH](21) + CC=O(62) origin: intra_H_migration

Observables Test Case: RMS_CSTR_liquid_oxidation Comparison

✅ All Observables varied by less than 0.100 on average between old model and new model in all conditions!

RMS_CSTR_liquid_oxidation Passed Observable Testing ✅

beep boop this comment was written by a bot 🤖

@mjohnson541
Copy link
Contributor Author

@alongd do you think this is still as good of an idea as we thought it was six years ago?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants