ReactionMechanismGenerator / RMG-Py

Python version of the amazing Reaction Mechanism Generator (RMG).
http://reactionmechanismgenerator.github.io/RMG-Py/
Other
381 stars 226 forks source link

Use the raw data points (klist) from Arkane in the kinetic library instead of using modified Arrhenius #1608

Closed hwpang closed 5 years ago

hwpang commented 5 years ago

Hi,

Motivation or Problem

I used Arkane to obtain the fitted modified Arrhenius kinetic parameters with a large temperature range (Tmin=303.3 K, Tmax=2500 K) and a small temperature range (Tmin=303.3 K, Tmax=473 K). The two fitted rates have around two orders of magnitude difference at the desired small temperature range (303.3 K to 473 K). Although I could just use the small temperature range fitted rates for the project that I am working on, I think it would not be helpful to others if I add the small temperature range fitted rates into the kinetic library.

Desired Solution

Now RMG read in the rates in the modified Arrhenius form. Would it be possible to let RMG read in the raw data points from Arkane (the "klist") for the desired temperature? For example, putting the klist into a kinetic library so that the rate is accurate at all desired temperatures?

Thank you.

alongd commented 5 years ago

@hwpang, this is an excellent point!

I had a brief discussion with @goldmanm about this issue following your post. Here are some points to think about:

  1. Before discussing this issue, I'd suggest first understanding why the low T deviation is so large (usually I get significantly lower deviations for low T). Did you have tunneling on?
  2. During an RMG run, we will need the rate coefficient at an arbitrary temperature point (the reactor's T set by the user), so some fitting/interpolation/extrapolation will need to be done anyway. I agree with the point you're making, though, that just fitting to the entire T range does injustice to the low T rates in this case.
  3. One possibility is to try fitting your k_list to a Chebyshev form. Although your rate is high-P limit (no P-dependence), the Chebyshev fit might do more justice than a modified Arrhenius fit. Note that this isn't automated in Arkane, and you'll need to make the fit yourself (we could think of automating it if point 1 above is answered and we see there's a real problem, and there's no better solution). Note that such fit could only be used in libraries, not in training reactions.
  4. Currently our family trees avarage A, Ea, and n, so an Arrhenius expression is needed for training. If we just add the k/T lists as training reactions, this means restructuring the way rate estimations are made. So we'll need some interpolation (linear? other?). Possible, but we need code for that.

Let me know what you think, as I said I'm most interested in understanding the source for the deviation you see.

hwpang commented 5 years ago

I've checked the input files and found that I didn't notice the quantum calculation files were changed by a colleague after my first calculation. The huge difference was due to the file change.

Thanks for your time and help!