ReactionMechanismGenerator / RMG-database

The database of chemical parameters used with Reaction Mechanism Generator
http://rmg.mit.edu/database/
95 stars 139 forks source link

Some MultiPDepArrhenius rates in libraries don't validate in Cantera #379

Open rwest opened 4 years ago

rwest commented 4 years ago

The NOx2018 library index = 258, label = "C2H3 + CH2O <=> C2H4 + HCO", has a MultiPDepArrhenius rate expression that comes from (and generates) DUPLICATE sets of PLOG rates in Chemkin format. When translated to Cantera, it chokes with

***********************************************************************
CanteraError thrown by Plog::validate:
Invalid rate coefficient for reaction 'C2H3 + CH2O <=> C2H4 + HCO'
at P = 101.325, T = 200
***********************************************************************

The automatic validation checks an array of T and P, and reveals that at 200K the net rate (the sum of the two expressions) is negative.

The source of the NOx2018 library is Peter Glarborg, James A. Miller, Branko Ruscic, Stephen J. Klippenstein, Modeling nitrogen chemistry in combustion, Progress in Energy and Combustion Science, 67, 31-68, (2018) https://doi.org/10.1016/j.pecs.2018.01.002.

The chemkin file contains a comment pointing to a @cfgoldsmith paper on the second (negative) term. This term is exactly the same expression as the following reaction which has the same reactants but 3 products C2H4+H+CO. I guess the trick is to subtract the "hot" route direct to H+CO from the HCO channel and add in the stand-alone reaction. Makes sense. But at low temperatures, this expression is faster than the original, and the net rate ends up negative.

The original they used appears in several other models, including AramcoMech 2, though I'm not sure who used it first.

C2H3+CH2O=C2H4+HCO                   1.4E10   0.209    3934 ! 1 atm
 PLOG/ 0.001                         1.1E07   1.090    1807/
 PLOG/ 0.01                          2.5E07   0.993    1995/
 PLOG/ 0.1                           2.5E08   0.704    2596/
 PLOG/ 1                             1.4E10   0.209    3934/
 PLOG/ 10                            3.5E13  -0.726    6944/
 PLOG/ 100                           3.3E14  -0.866   10966/
 PLOG/ 1000                          1.7E01   3.170    9400/
 DUPLICATE
C2H3+CH2O=C2H4+HCO                  -8.5E19  -2.264   23862 ! 1 atm
 PLOG/ 1.000E-03                    -2.3E16  -1.269   20617 /
 PLOG/ 1.000E-02                    -5.2E16  -1.366   20805 /
 PLOG/ 1.000E-01                    -1.5E18  -1.769   22524 /
 PLOG/ 1.000E00                     -8.5E19  -2.264   23862 /
 PLOG/ 1.000E01                     -4.4E23  -3.278   27795 /
 PLOG/ 1.000E02                     -4.2E24  -3.418   31817 /
 PLOG/ 1.000E03                     -2.1E11   0.618   30251 /
 DUPLICATE
! C.F. Goldsmith et al., J. Phys. Chem. A 116 (2012) 3325�3346.
!
C2H3+CH2O=C2H4+H+CO                  8.5E19  -2.264   23862 ! 1 atm
 PLOG/ 1.000E-03                     2.3E16  -1.269   20617 /
 PLOG/ 1.000E-02                     5.2E16  -1.366   20805 /
 PLOG/ 1.000E-01                     1.5E18  -1.769   22524 /
 PLOG/ 1.000E00                      8.5E19  -2.264   23862 /
 PLOG/ 1.000E01                      4.4E23  -3.278   27795 /
 PLOG/ 1.000E02                      4.2E24  -3.418   31817 /
 PLOG/ 1.000E03                      2.1E11   0.618   30251 /

Any suggestions, @cfgoldsmith? I can think of...

  1. just revert to the AramcoMech rate and not use the hot route.
  2. change Cantera to not do these sanity checks? (or not do them at 200K)
  3. ...?
cfgoldsmith commented 4 years ago

The original expression predates the "hot" chemistry. The inclusion of the Duplicate reaction with the negative pre-exponential factor was done by N. Labbe via a script that automatically corrected reactions involving HCO to account for prompt dissociation. My personal opinion would be Suggestion 2b: modify the Cantera sanity check. Checking below 300K is not reasonable, since very few, if any, of the rate constants (and hot HCO corrections) were computed for T < 300K (I think in many cases, the lowest T considered was 400K; the master equation methods are not as robust at 300K and below, and under those conditions, tunneling can be a much bigger deal, which our ME methods don't capture as well).

On 1/10/20 12:22 AM, Richard West wrote:

The |NOx2018| library index = 258, label = "C2H3 + CH2O <=> C2H4 + HCO", has a MultiPDepArrhenius rate expression that comes from (and generates) DUPLICATE sets of PLOG rates in Chemkin format. When translated to Cantera, it chokes with

| CanteraError thrown by Plog::validate: Invalid rate coefficient for reaction 'C2H3 + CH2O <=> C2H4 + HCO' at P = 101.325, T = 200 |

The automatic validation checks an array of T and P, and reveals that at 200K the net rate (the sum of the two expressions) is negative.

The source of the NOx2018 library is Peter Glarborg, James A. Miller, Branko Ruscic, Stephen J. Klippenstein, Modeling nitrogen chemistry in combustion, Progress in Energy and Combustion Science, 67, 31-68, (2018) https://doi.org/10.1016/j.pecs.2018.01.002.

The chemkin file contains a comment pointing to a @cfgoldsmith https://github.com/cfgoldsmith paper on the second (negative) term. This term is exactly the same expression as the following reaction which has the same reactants but 3 products C2H4+H+CO. I guess the trick is to subtract the "hot" route direct to H+CO from the HCO channel and add in the stand-alone reaction. Makes sense. But at low temperatures, this expression is faster than the original, and the net rate ends up negative.

The original they used appears in several other models, including AramcoMech 2, though I'm not sure who used it first.

|C2H3+CH2O=C2H4+HCO 1.4E10 0.209 3934 ! 1 atm PLOG/ 0.001 1.1E07 1.090 1807/ PLOG/ 0.01 2.5E07 0.993 1995/ PLOG/ 0.1 2.5E08 0.704 2596/ PLOG/ 1 1.4E10 0.209 3934/ PLOG/ 10 3.5E13 -0.726 6944/ PLOG/ 100 3.3E14 -0.866 10966/ PLOG/ 1000 1.7E01 3.170 9400/ DUPLICATE C2H3+CH2O=C2H4+HCO -8.5E19 -2.264 23862 ! 1 atm PLOG/ 1.000E-03 -2.3E16 -1.269 20617 / PLOG/ 1.000E-02 -5.2E16 -1.366 20805 / PLOG/ 1.000E-01 -1.5E18 -1.769 22524 / PLOG/ 1.000E00 -8.5E19 -2.264 23862 / PLOG/ 1.000E01 -4.4E23 -3.278 27795 / PLOG/ 1.000E02 -4.2E24 -3.418 31817 / PLOG/ 1.000E03 -2.1E11 0.618 30251 / DUPLICATE ! C.F. Goldsmith et al., J. Phys. Chem. A 116 (2012) 3325�3346. ! C2H3+CH2O=C2H4+H+CO 8.5E19 -2.264 23862 ! 1 atm PLOG/ 1.000E-03 2.3E16 -1.269 20617 / PLOG/ 1.000E-02 5.2E16 -1.366 20805 / PLOG/ 1.000E-01 1.5E18 -1.769 22524 / PLOG/ 1.000E00 8.5E19 -2.264 23862 / PLOG/ 1.000E01 4.4E23 -3.278 27795 / PLOG/ 1.000E02 4.2E24 -3.418 31817 / PLOG/ 1.000E03 2.1E11 0.618 30251 / |

Any suggestions, @cfgoldsmith https://github.com/cfgoldsmith? I can think of...

  1. just revert to the AramcoMech rate and not use the hot route.
  2. change Cantera to not do these sanity checks? (or not do them at 200K)
  3. ...?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/ReactionMechanismGenerator/RMG-database/issues/379?email_source=notifications&email_token=AB57WIWHZDN5CIDKMWN6UV3Q5AAYVA5CNFSM4KFCSES2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4IFH3WQQ, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB57WIV2ZTXQ34I6IKS7TODQ5AAYVANCNFSM4KFCSESQ.

rwest commented 4 years ago

Ok. Only problem with that is I need to figure out how to compile Cantera from source. But that was due to happen one of these days anyway...