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

NH3 thermo and kinetic data additions #620

Merged
merged 9 commits into from
Jul 30, 2024
Merged

NH3 thermo and kinetic data additions #620

merged 9 commits into from
Jul 30, 2024

Conversation

alongd
Copy link
Member

@alongd alongd commented May 20, 2023

Added the NH3 therno library based on CCSD(T)-F12/cc-pVTZ-F12//B2PLYPD3/aug-cc-pVTZ computations (enthalpies taken from ATcT where available)

Made significant modifications and additions to the kinetic promaryNitrogenLibrary based on updated literature and based on the submitted "NH3-1" paper

Also added several forbidden species and made two minor modifications to the primaryNitrogenLibrary kinetic library

We should still add PDep reactions calculated by us on the N2H3 surface, and later we expect to have updated reactions of the N2H4 surface.

Points for discussion:

  • There are many non-phisical species in the H/N/O space (with legitimate Lewis structure and Molecule representation, but which do not exist, see here). Should we keep adding them to the forbidden structures file (they were originally suggested by RMG and many made it into the core in early model generation iterations), or should we consider another approach?
  • The Dean&Bozzelli library has an unreasonable rate for NH2 + OH <=> NH(S} + H2O. One updated source that studies all NH2/NH3 + OH reaction at all multiplicities is this, though it is very confusing, and some of the rates are still very high. This is currently unresolved.

@alongd alongd requested review from kspieks and josemvdh May 20, 2023 17:41
@alongd alongd force-pushed the nh3 branch 3 times, most recently from 7c20f0f to 58fda23 Compare May 21, 2023 10:56
@alongd alongd marked this pull request as draft May 22, 2023 01:38
@alongd alongd force-pushed the nh3 branch 5 times, most recently from a4c81cc to 8a58f39 Compare May 26, 2023 04:38
@alongd alongd force-pushed the nh3 branch 3 times, most recently from 69c4794 to 7b90618 Compare June 6, 2023 04:18
@alongd alongd marked this pull request as ready for review August 10, 2023 06:46
@alongd alongd changed the title Added the NH3 thermo library NH3 thermo and kinetic data additions Jul 16, 2024
Copy link
Contributor

@jonwzheng jonwzheng left a comment

Choose a reason for hiding this comment

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

Hi Alon, thank you and your team for this big update of the thermo database. It can be difficult and tedious work to search carefully through the literature - so once again, thank you for your effort!

Due to the large size of this PR, I will split my review into multiple stages. This will help me get feedback to you as soon as possible rather than all at once.

I double-checked the new data added in primaryNitrogenLibrary, primaryNS, primaryH2O2 and HydrazinePDep. I started looking at forbiddenStructures but will continune in a future review. I haven't yet looked at NH3 library. Here are my overall comments:

  • We have some concerns about forbidding these structures; a species may exist even if it cannot be found at a certain QM LOT. If we forbid a structure that ends up being an important intermediate, this could dramatically - and silently - impair model performance. On Bill's suggestion, I've started commenting on those ones that may need additional discussion, as several pathways in principle seem reasonable for generating those species (and I will examine the rest of the reactions in a future review). Could you please comment about your thoughts on this issue?

  • Many reactions had their kinetic data replaced with newer data, could you briefly comment on this - were such old data in serious error?

  • Some of the data seem to be transcribed in error, please check out the individual line comments.

input/forbiddenStructures.py Show resolved Hide resolved
input/forbiddenStructures.py Outdated Show resolved Hide resolved
input/forbiddenStructures.py Outdated Show resolved Hide resolved
input/forbiddenStructures.py Outdated Show resolved Hide resolved
input/forbiddenStructures.py Outdated Show resolved Hide resolved
Copy link
Member Author

@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.

Thanks for the helpful comments, and for actually checking the sources! Much appreciated.
Sorry for this huge PR.
Regarding the forbidden species, I'm open to remove most of them

This comment was marked as off-topic.

@jonwzheng
Copy link
Contributor

Thanks for checking the review comments. There are still a few small loose ends in the new library data, but those are just a matter of checking the original sources. I checked the NH3 library and it looks okay to me.

The main question right now is whether we should merge the forbidden structures. I see the merit in excluding those potentially problematic species, but I also worry that some of them are real intermediates that could play a key role. One option is to not forbid those structures, and then in our subsequent modeling work, see if they form in any appreciable amounts, and perhaps do a deeper analysis at that point. Is that what you suggested?

Either is okay with me, but since this would affect the modeling workflow for the ammonia project, we should discuss with the team.

@alongd
Copy link
Member Author

alongd commented Jul 22, 2024

@jonwzheng, I addressed the last comment on the PNL. Please let me know whether there are additional comments or whether I missed anything. I truly appreciate the time and effort of double-checking the values in this library, I know this is a relatively large PR that requires some time and effort to review.

I removed most of the forbidden species, let only two that were studied seriously.

I squashed the modifications, I think the PR is ready to be merged, of course let me know if there are any additional comments or concerns.

Copy link
Contributor

@jonwzheng jonwzheng left a comment

Choose a reason for hiding this comment

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

Just one comment about the index changing.
Otherwise, looks good to me!

)

entry(
index=419,
Copy link
Contributor

Choose a reason for hiding this comment

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

My last comment is that the indexing changes since 417 and 418 were removed. I don't know whether this will make a practical difference, but best to make the indexing consistent anyway.

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:09
Current: Execution time (DD:HH:MM:SS): 00:00:01:08
Reference: Memory used: 2778.46 MB
Current: Memory used: 2782.63 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:15
Current: Execution time (DD:HH:MM:SS): 00:00:02:10
Reference: Memory used: 2921.68 MB
Current: Memory used: 2907.16 MB

liquid_oxidation Failed Core Comparison ❌

Original model has 37 species.
Test model has 37 species. ✅
Original model has 215 reactions.
Test model has 215 reactions. ✅

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

k(1bar) 300K 400K 500K 600K 800K 1000K 1500K 2000K
k(T): 7.83 7.49 7.23 7.02 6.68 6.42 5.95 5.61
k(T): 3.77 4.45 4.86 5.14 5.48 5.68 5.96 6.09

kinetics: Arrhenius(A=(3.18266e+20,'cm^3/(mol*s)'), n=-2.694, Ea=(0,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_Ext-5R-R_7R!H->C_N-7C-inRing""")
kinetics: Arrhenius(A=(3.2e+12,'cm^3/(mol*s)'), n=0, Ea=(3.756,'kcal/mol'), T0=(1,'K'), comment="""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
kinetics: Estimated from node Root_Ext-5R-R_7R!H->C_N-7C-inRing_Ext-5R-R

liquid_oxidation Failed Edge Comparison ❌

Original model has 202 species.
Test model has 202 species. ✅
Original model has 1618 reactions.
Test model has 1610 reactions. ❌
The original model has 9 reactions that the tested model does not have. ❌
rxn: [CH2]CCOO(77) + CCCCCOO(105) <=> CCCOO(35) + CC[CH]CCOO(122) origin: H_Abstraction
rxn: [CH2]CCOO(77) + CCCCCOO(105) <=> CCCOO(35) + CCC[CH]COO(121) origin: H_Abstraction
rxn: [CH2]CCOO(77) + CCCCCOO(105) <=> CCCOO(35) + C[CH]CCCOO(123) origin: H_Abstraction
rxn: [CH2]CCOO(77) + CCCCCOO(105) <=> CCCOO(35) + CCCC[CH]OO(135) origin: H_Abstraction
rxn: CCCOO(35) + [CH2]CCCCOO(124) <=> [CH2]CCOO(77) + CCCCCOO(105) origin: H_Abstraction
rxn: C[CH]CCCO(157) + CCCCCO[O](103) <=> CC=CCCO(183) + CCCCCOO(105) origin: Disproportionation
rxn: C[CH]CCCO(157) + CCCCCO[O](103) <=> C=CCCCO(184) + CCCCCOO(105) origin: Disproportionation
rxn: C[CH]CCCO(157) + C[CH]CCCO(157) <=> CC=CCCO(183) + CCCCCO(130) origin: Disproportionation
rxn: C[CH]CCCO(157) + C[CH]CCCO(157) <=> C=CCCCO(184) + CCCCCO(130) origin: Disproportionation
The tested model has 1 reactions that the original model does not have. ❌
rxn: CCCCCO[O](104) + CCCCCO[O](104) <=> oxygen(1) + CCCCC=O(106) + CCCCCO(130) origin: Peroxyl_Termination

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

k(1bar) 300K 400K 500K 600K 800K 1000K 1500K 2000K
k(T): 7.83 7.49 7.23 7.02 6.68 6.42 5.95 5.61
k(T): 3.77 4.45 4.86 5.14 5.48 5.68 5.96 6.09

kinetics: Arrhenius(A=(3.18266e+20,'cm^3/(mol*s)'), n=-2.694, Ea=(0,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_Ext-5R-R_7R!H->C_N-7C-inRing""")
kinetics: Arrhenius(A=(3.2e+12,'cm^3/(mol*s)'), n=0, Ea=(3.756,'kcal/mol'), T0=(1,'K'), comment="""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
kinetics: Estimated from node Root_Ext-5R-R_7R!H->C_N-7C-inRing_Ext-5R-R

Non-identical kinetics! ❌
original:
rxn: CCCCCO[O](103) + CC(CC(C)OO)O[O](104) <=> 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:25
Current: Execution time (DD:HH:MM:SS): 00:00:01:28
Reference: Memory used: 2905.29 MB
Current: Memory used: 2907.06 MB

nitrogen Failed Core Comparison ❌

Original model has 41 species.
Test model has 41 species. ✅
Original model has 360 reactions.
Test model has 360 reactions. ✅
The original model has 1 species that the tested model does not have. ❌
spc: ON=N
The tested model has 1 species that the original model does not have. ❌
spc: [O-][NH+]=N
The original model has 15 reactions that the tested model does not have. ❌
rxn: N2(24) + OH(5) <=> ON=[N](124) origin: R_Addition_MultipleBond
rxn: N2O(39) + H(3) <=> ON=[N](124) origin: R_Addition_MultipleBond
rxn: O(4) + ON=[N](124) <=> N2O(39) + OH(5) origin: Disproportionation
rxn: H(3) + ON=[N](124) <=> N2O(39) + H2(6) origin: Disproportionation
rxn: OH(5) + ON=[N](124) <=> N2O(39) + H2O(7) origin: Disproportionation
rxn: O2(2) + ON=[N](124) <=> N2O(39) + HO2(9) origin: Disproportionation
rxn: ON=[N](124) + CH3NH(60) <=> N2O(39) + NC(1) origin: Disproportionation
rxn: ON=[N](124) + CH2NH2(59) <=> N2O(39) + NC(1) origin: Disproportionation
rxn: ON=[N](124) + H2CN(56) <=> N2O(39) + H2CNH(61) origin: Disproportionation
rxn: ON=[N](124) + HCNH(58) <=> N2O(39) + H2CNH(61) origin: Disproportionation
rxn: ON=[N](124) + NH2(41) <=> N2O(39) + NH3(40) origin: Disproportionation
rxn: N(37) + ON=[N](124) <=> N2O(39) + NH(T)(45) origin: Disproportionation
rxn: HO2(9) + ON=[N](124) <=> N2O(39) + H2O2(10) origin: Disproportionation
rxn: NO(38) + ON=[N](124) <=> N2O(39) + HNO(48) origin: Disproportionation
rxn: ON=[N](124) + NCO(66) <=> N2O(39) + HNCO(64) origin: Disproportionation
The tested model has 15 reactions that the original model does not have. ❌
rxn: N2O(39) + H(3) <=> [O-][NH+]=[N](125) origin: R_Addition_MultipleBond
rxn: O(4) + [O-][NH+]=[N](125) <=> N2O(39) + OH(5) origin: Disproportionation
rxn: H(3) + [O-][NH+]=[N](125) <=> N2O(39) + H2(6) origin: Disproportionation
rxn: OH(5) + [O-][NH+]=[N](125) <=> N2O(39) + H2O(7) origin: Disproportionation
rxn: O2(2) + [O-][NH+]=[N](125) <=> N2O(39) + HO2(9) origin: Disproportionation
rxn: [O-][NH+]=[N](125) + CH3NH(60) <=> N2O(39) + NC(1) origin: Disproportionation
rxn: [O-][NH+]=[N](125) + CH2NH2(59) <=> N2O(39) + NC(1) origin: Disproportionation
rxn: [O-][NH+]=[N](125) + H2CN(56) <=> N2O(39) + H2CNH(61) origin: Disproportionation
rxn: [O-][NH+]=[N](125) + HCNH(58) <=> N2O(39) + H2CNH(61) origin: Disproportionation
rxn: [O-][NH+]=[N](125) + NH2(41) <=> N2O(39) + NH3(40) origin: Disproportionation
rxn: N(37) + [O-][NH+]=[N](125) <=> N2O(39) + NH(T)(45) origin: Disproportionation
rxn: HO2(9) + [O-][NH+]=[N](125) <=> N2O(39) + H2O2(10) origin: Disproportionation
rxn: NO(38) + [O-][NH+]=[N](125) <=> N2O(39) + HNO(48) origin: Disproportionation
rxn: [O-][NH+]=[N](125) + NCO(66) <=> N2O(39) + HNCO(64) origin: Disproportionation
rxn: O(4) + NNH(46) <=> [O-][NH+]=[N](125) origin: Birad_R_Recombination

nitrogen Failed Edge Comparison ❌

Original model has 132 species.
Test model has 133 species. ❌
Original model has 997 reactions.
Test model has 983 reactions. ❌
The tested model has 1 species that the original model does not have. ❌
spc: O1N[N]1(130)
The original model has 17 reactions that the tested model does not have. ❌
rxn: N2(24) + OH(5) <=> ON=[N](124) origin: R_Addition_MultipleBond
rxn: N2O(39) + H(3) <=> ON=[N](124) origin: R_Addition_MultipleBond
rxn: O(4) + ON=[N](124) <=> N2O(39) + OH(5) origin: Disproportionation
rxn: H(3) + ON=[N](124) <=> N2O(39) + H2(6) origin: Disproportionation
rxn: OH(5) + ON=[N](124) <=> N2O(39) + H2O(7) origin: Disproportionation
rxn: O2(2) + ON=[N](124) <=> N2O(39) + HO2(9) origin: Disproportionation
rxn: ON=[N](124) + CH3NH(60) <=> N2O(39) + NC(1) origin: Disproportionation
rxn: ON=[N](124) + CH2NH2(59) <=> N2O(39) + NC(1) origin: Disproportionation
rxn: ON=[N](124) + H2CN(56) <=> N2O(39) + H2CNH(61) origin: Disproportionation
rxn: ON=[N](124) + HCNH(58) <=> N2O(39) + H2CNH(61) origin: Disproportionation
rxn: ON=[N](124) + NH2(41) <=> N2O(39) + NH3(40) origin: Disproportionation
rxn: N(37) + ON=[N](124) <=> N2O(39) + NH(T)(45) origin: Disproportionation
rxn: HO2(9) + ON=[N](124) <=> N2O(39) + H2O2(10) origin: Disproportionation
rxn: NO(38) + ON=[N](124) <=> N2O(39) + HNO(48) origin: Disproportionation
rxn: ON=[N](124) + NCO(66) <=> N2O(39) + HNCO(64) origin: Disproportionation
rxn: ON=[N](124) + CN(67) <=> N2O(39) + HCN(57) origin: Disproportionation
rxn: HNNO(44) <=> ON=[N](124) origin: intra_H_migration
The tested model has 3 reactions that the original model does not have. ❌
rxn: O(4) + NNH(46) <=> [O-][NH+]=[N](125) origin: Birad_R_Recombination
rxn: [O-][NH+]=[N](125) <=> HNNO(44) origin: intra_H_migration
rxn: [O-][NH+]=[N](125) <=> O1N[N]1(130) origin: Intra_R_Add_Endocyclic

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:31
Current: Execution time (DD:HH:MM:SS): 00:00:02:29
Reference: Memory used: 2773.82 MB
Current: Memory used: 2782.09 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:56
Current: Execution time (DD:HH:MM:SS): 00:00:00:56
Reference: Memory used: 2877.01 MB
Current: Memory used: 2888.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:41
Current: Execution time (DD:HH:MM:SS): 00:00:00:39
Reference: Memory used: 2968.86 MB
Current: Memory used: 2983.57 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:26
Current: Execution time (DD:HH:MM:SS): 00:00:02:23
Reference: Memory used: 3436.02 MB
Current: Memory used: 3449.57 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:06:01
Current: Execution time (DD:HH:MM:SS): 00:00:05:57
Reference: Memory used: 3369.58 MB
Current: Memory used: 3370.43 MB

RMS_CSTR_liquid_oxidation Passed Core Comparison ✅

Original model has 37 species.
Test model has 37 species. ✅
Original model has 232 reactions.
Test model has 232 reactions. ✅

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. ✅

Non-identical kinetics! ❌
original:
rxn: CCCO[O](34) + CCCC(C)O[O](33) <=> oxygen(1) + CCC[O](94) + CCCC(C)[O](61) origin: Peroxyl_Disproportionation
tested:
rxn: CCCO[O](36) + CCCC(C)O[O](33) <=> oxygen(1) + CCC[O](93) + CCCC(C)[O](61) origin: Peroxyl_Disproportionation

k(1bar) 300K 400K 500K 600K 800K 1000K 1500K 2000K
k(T): 7.83 7.49 7.23 7.02 6.68 6.42 5.95 5.61
k(T): 3.69 4.39 4.82 5.10 5.45 5.66 5.94 6.08

kinetics: Arrhenius(A=(3.18266e+20,'cm^3/(mol*s)'), n=-2.694, Ea=(0,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_Ext-5R-R_7R!H->C_N-7C-inRing""")
kinetics: Arrhenius(A=(3.2e+12,'cm^3/(mol*s)'), n=0, Ea=(3.866,'kcal/mol'), T0=(1,'K'), comment="""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
kinetics: Estimated from node Root_Ext-5R-R_7R!H->C_N-7C-inRing_Ext-5R-R

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 🤖

shortDesc = u"""[Dievart2020]""",
index=432,
label="N2H3 + NH2 <=> H2NN(S) + NH3",
duplicate=True,
Copy link

Choose a reason for hiding this comment

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

There are two reactions (this reaction and the last reaction) with index=432. Please move this reaction to the end and change the index number.

@alongd
Copy link
Member Author

alongd commented Jul 27, 2024

@ChgCao, I updated the indices and squashed, if the tests pass I think we should be good to go

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:08
Current: Execution time (DD:HH:MM:SS): 00:00:01:05
Reference: Memory used: 2767.81 MB
Current: Memory used: 2772.97 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:08
Current: Execution time (DD:HH:MM:SS): 00:00:02:09
Reference: Memory used: 2904.43 MB
Current: Memory used: 2913.14 MB

liquid_oxidation Failed Core Comparison ❌

Original model has 37 species.
Test model has 37 species. ✅
Original model has 216 reactions.
Test model has 216 reactions. ✅

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

k(1bar) 300K 400K 500K 600K 800K 1000K 1500K 2000K
k(T): 7.83 7.49 7.23 7.02 6.68 6.42 5.95 5.61
k(T): 3.77 4.45 4.86 5.14 5.48 5.68 5.96 6.09

kinetics: Arrhenius(A=(3.18266e+20,'cm^3/(mol*s)'), n=-2.694, Ea=(0,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_Ext-5R-R_7R!H->C_N-7C-inRing""")
kinetics: Arrhenius(A=(3.2e+12,'cm^3/(mol*s)'), n=0, Ea=(3.756,'kcal/mol'), T0=(1,'K'), comment="""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
kinetics: Estimated from node Root_Ext-5R-R_7R!H->C_N-7C-inRing_Ext-5R-R

liquid_oxidation Failed Edge Comparison ❌

Original model has 202 species.
Test model has 202 species. ✅
Original model has 1613 reactions.
Test model has 1610 reactions. ❌
The original model has 4 reactions that the tested model does not have. ❌
rxn: C[CH]CCCO(157) + CCCCCO[O](103) <=> CC=CCCO(183) + CCCCCOO(105) origin: Disproportionation
rxn: C[CH]CCCO(157) + CCCCCO[O](103) <=> C=CCCCO(184) + CCCCCOO(105) origin: Disproportionation
rxn: C[CH]CCCO(157) + C[CH]CCCO(157) <=> CC=CCCO(183) + CCCCCO(130) origin: Disproportionation
rxn: C[CH]CCCO(157) + C[CH]CCCO(157) <=> C=CCCCO(184) + CCCCCO(130) origin: Disproportionation
The tested model has 1 reactions that the original model does not have. ❌
rxn: CCCCCO[O](104) + CCCCCO[O](104) <=> oxygen(1) + CCCCC=O(112) + CCCCCO(130) origin: Peroxyl_Termination

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

k(1bar) 300K 400K 500K 600K 800K 1000K 1500K 2000K
k(T): 7.83 7.49 7.23 7.02 6.68 6.42 5.95 5.61
k(T): 3.77 4.45 4.86 5.14 5.48 5.68 5.96 6.09

kinetics: Arrhenius(A=(3.18266e+20,'cm^3/(mol*s)'), n=-2.694, Ea=(0,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_Ext-5R-R_7R!H->C_N-7C-inRing""")
kinetics: Arrhenius(A=(3.2e+12,'cm^3/(mol*s)'), n=0, Ea=(3.756,'kcal/mol'), T0=(1,'K'), comment="""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
kinetics: Estimated from node Root_Ext-5R-R_7R!H->C_N-7C-inRing_Ext-5R-R

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

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

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: 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: 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

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:23
Current: Execution time (DD:HH:MM:SS): 00:00:01:26
Reference: Memory used: 2896.11 MB
Current: Memory used: 2904.50 MB

nitrogen Failed Core Comparison ❌

Original model has 41 species.
Test model has 41 species. ✅
Original model has 360 reactions.
Test model has 360 reactions. ✅
The original model has 1 species that the tested model does not have. ❌
spc: ON=N
The tested model has 1 species that the original model does not have. ❌
spc: [O-][NH+]=N
The original model has 15 reactions that the tested model does not have. ❌
rxn: N2(24) + OH(5) <=> ON=[N](124) origin: R_Addition_MultipleBond
rxn: N2O(39) + H(3) <=> ON=[N](124) origin: R_Addition_MultipleBond
rxn: O(4) + ON=[N](124) <=> N2O(39) + OH(5) origin: Disproportionation
rxn: H(3) + ON=[N](124) <=> N2O(39) + H2(6) origin: Disproportionation
rxn: OH(5) + ON=[N](124) <=> N2O(39) + H2O(7) origin: Disproportionation
rxn: O2(2) + ON=[N](124) <=> N2O(39) + HO2(9) origin: Disproportionation
rxn: ON=[N](124) + CH3NH(60) <=> N2O(39) + NC(1) origin: Disproportionation
rxn: ON=[N](124) + CH2NH2(59) <=> N2O(39) + NC(1) origin: Disproportionation
rxn: ON=[N](124) + H2CN(56) <=> N2O(39) + H2CNH(61) origin: Disproportionation
rxn: ON=[N](124) + HCNH(58) <=> N2O(39) + H2CNH(61) origin: Disproportionation
rxn: ON=[N](124) + NH2(41) <=> N2O(39) + NH3(40) origin: Disproportionation
rxn: N(37) + ON=[N](124) <=> N2O(39) + NH(T)(45) origin: Disproportionation
rxn: HO2(9) + ON=[N](124) <=> N2O(39) + H2O2(10) origin: Disproportionation
rxn: NO(38) + ON=[N](124) <=> N2O(39) + HNO(48) origin: Disproportionation
rxn: ON=[N](124) + NCO(66) <=> N2O(39) + HNCO(64) origin: Disproportionation
The tested model has 15 reactions that the original model does not have. ❌
rxn: N2O(39) + H(3) <=> [O-][NH+]=[N](125) origin: R_Addition_MultipleBond
rxn: O(4) + [O-][NH+]=[N](125) <=> N2O(39) + OH(5) origin: Disproportionation
rxn: H(3) + [O-][NH+]=[N](125) <=> N2O(39) + H2(6) origin: Disproportionation
rxn: OH(5) + [O-][NH+]=[N](125) <=> N2O(39) + H2O(7) origin: Disproportionation
rxn: O2(2) + [O-][NH+]=[N](125) <=> N2O(39) + HO2(9) origin: Disproportionation
rxn: [O-][NH+]=[N](125) + CH3NH(60) <=> N2O(39) + NC(1) origin: Disproportionation
rxn: [O-][NH+]=[N](125) + CH2NH2(59) <=> N2O(39) + NC(1) origin: Disproportionation
rxn: [O-][NH+]=[N](125) + H2CN(56) <=> N2O(39) + H2CNH(61) origin: Disproportionation
rxn: [O-][NH+]=[N](125) + HCNH(58) <=> N2O(39) + H2CNH(61) origin: Disproportionation
rxn: [O-][NH+]=[N](125) + NH2(41) <=> N2O(39) + NH3(40) origin: Disproportionation
rxn: N(37) + [O-][NH+]=[N](125) <=> N2O(39) + NH(T)(45) origin: Disproportionation
rxn: HO2(9) + [O-][NH+]=[N](125) <=> N2O(39) + H2O2(10) origin: Disproportionation
rxn: NO(38) + [O-][NH+]=[N](125) <=> N2O(39) + HNO(48) origin: Disproportionation
rxn: [O-][NH+]=[N](125) + NCO(66) <=> N2O(39) + HNCO(64) origin: Disproportionation
rxn: O(4) + NNH(46) <=> [O-][NH+]=[N](125) origin: Birad_R_Recombination

nitrogen Failed Edge Comparison ❌

Original model has 132 species.
Test model has 133 species. ❌
Original model has 997 reactions.
Test model has 983 reactions. ❌
The tested model has 1 species that the original model does not have. ❌
spc: O1N[N]1(130)
The original model has 17 reactions that the tested model does not have. ❌
rxn: N2(24) + OH(5) <=> ON=[N](124) origin: R_Addition_MultipleBond
rxn: N2O(39) + H(3) <=> ON=[N](124) origin: R_Addition_MultipleBond
rxn: O(4) + ON=[N](124) <=> N2O(39) + OH(5) origin: Disproportionation
rxn: H(3) + ON=[N](124) <=> N2O(39) + H2(6) origin: Disproportionation
rxn: OH(5) + ON=[N](124) <=> N2O(39) + H2O(7) origin: Disproportionation
rxn: O2(2) + ON=[N](124) <=> N2O(39) + HO2(9) origin: Disproportionation
rxn: ON=[N](124) + CH3NH(60) <=> N2O(39) + NC(1) origin: Disproportionation
rxn: ON=[N](124) + CH2NH2(59) <=> N2O(39) + NC(1) origin: Disproportionation
rxn: ON=[N](124) + H2CN(56) <=> N2O(39) + H2CNH(61) origin: Disproportionation
rxn: ON=[N](124) + HCNH(58) <=> N2O(39) + H2CNH(61) origin: Disproportionation
rxn: ON=[N](124) + NH2(41) <=> N2O(39) + NH3(40) origin: Disproportionation
rxn: N(37) + ON=[N](124) <=> N2O(39) + NH(T)(45) origin: Disproportionation
rxn: HO2(9) + ON=[N](124) <=> N2O(39) + H2O2(10) origin: Disproportionation
rxn: NO(38) + ON=[N](124) <=> N2O(39) + HNO(48) origin: Disproportionation
rxn: ON=[N](124) + NCO(66) <=> N2O(39) + HNCO(64) origin: Disproportionation
rxn: ON=[N](124) + CN(67) <=> N2O(39) + HCN(57) origin: Disproportionation
rxn: HNNO(44) <=> ON=[N](124) origin: intra_H_migration
The tested model has 3 reactions that the original model does not have. ❌
rxn: O(4) + NNH(46) <=> [O-][NH+]=[N](125) origin: Birad_R_Recombination
rxn: [O-][NH+]=[N](125) <=> HNNO(44) origin: intra_H_migration
rxn: [O-][NH+]=[N](125) <=> O1N[N]1(130) origin: Intra_R_Add_Endocyclic

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:29
Current: Execution time (DD:HH:MM:SS): 00:00:02:28
Reference: Memory used: 2763.64 MB
Current: Memory used: 2771.99 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:56
Current: Execution time (DD:HH:MM:SS): 00:00:00:56
Reference: Memory used: 2867.61 MB
Current: Memory used: 2879.66 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:39
Current: Execution time (DD:HH:MM:SS): 00:00:00:39
Reference: Memory used: 2993.47 MB
Current: Memory used: 2967.07 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: 3464.22 MB
Current: Memory used: 3437.17 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:51
Current: Execution time (DD:HH:MM:SS): 00:00:05:53
Reference: Memory used: 3382.67 MB
Current: Memory used: 3370.49 MB

RMS_CSTR_liquid_oxidation Passed Core Comparison ✅

Original model has 37 species.
Test model has 37 species. ✅
Original model has 232 reactions.
Test model has 232 reactions. ✅

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. ✅

Non-identical kinetics! ❌
original:
rxn: CCCO[O](35) + CCCC(C)O[O](33) <=> oxygen(1) + CCC[O](96) + CCCC(C)[O](61) origin: Peroxyl_Disproportionation
tested:
rxn: CCCO[O](35) + CCCC(C)O[O](33) <=> oxygen(1) + CCC[O](90) + CCCC(C)[O](61) origin: Peroxyl_Disproportionation

k(1bar) 300K 400K 500K 600K 800K 1000K 1500K 2000K
k(T): 7.83 7.49 7.23 7.02 6.68 6.42 5.95 5.61
k(T): 3.69 4.39 4.82 5.10 5.45 5.66 5.94 6.08

kinetics: Arrhenius(A=(3.18266e+20,'cm^3/(mol*s)'), n=-2.694, Ea=(0,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_Ext-5R-R_7R!H->C_N-7C-inRing""")
kinetics: Arrhenius(A=(3.2e+12,'cm^3/(mol*s)'), n=0, Ea=(3.866,'kcal/mol'), T0=(1,'K'), comment="""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
kinetics: Estimated from node Root_Ext-5R-R_7R!H->C_N-7C-inRing_Ext-5R-R

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 🤖

@jonwzheng
Copy link
Contributor

LGTM! but given the large scope @ChgCao could you also take a final look? If you approve, I'll go ahead and merge it in.

@jonwzheng
Copy link
Contributor

Chuangchuang approves (in Slack)!

@jonwzheng jonwzheng merged commit aa03925 into main Jul 30, 2024
3 checks passed
@jonwzheng jonwzheng deleted the nh3 branch July 30, 2024 14:12
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.

3 participants