Cantera / enhancements

Repository for proposed and ongoing enhancements to Cantera
11 stars 5 forks source link

Blowers-Masel approximation in Cantera #66

Closed 12Chao closed 3 years ago

12Chao commented 3 years ago

Abstract

Blowers-Masel approximation allows Cantera to automatically adjust reaction barrier height when species' enthalpies in a reaction are changed. The using case should be, for example, when the species' enthalpy as a function of surface converage, scaling one catalyst surface to another, performing sensitivity analysis of thermochemistry.

Motivation

Describe the need for the proposed change:

Linear scaling relationship as implemented in RMG-Cat allows users to predict the binding energy of intermediate species from one metal surface to another. We can explore the effects of changing energetics of uncertain species by global sensitivity analysis. Besides, to match the simulation results to experimental data, some model fitting and optimization algorithms also involves changing species thermochemistry. In heterogeneous catalysis, the energies of some adsorbed species change in terms of coverage and can be modeled by coverage-dependent thermochemistry.

The aforesaid cases involves changing the enthalpy of one or more species. The barrier height or activation energy of a reaction should be adjusted accordingly when the energetics of a reaction is altered, but there is no correction applied on the activation energy in current implementation. Blowers-Masel approximation would add a builtin function in Cantera to correct the activation energy of a reaction when the enthalpies of reactants or products are changed.

The advantage of applying this approximation is that there are only few variables involved in the new activation energy estimation and it is easy to be implemented.

Possible Solutions

The Blowers and Masel expression is: image and is, from the derivation which applies to hydrogen transfer reactions, the average of the bond dissociation energy of the bond breaking and that being formed. However, the expression is very insensitive to as long as, so we can use an arbitrary high value of . is termed the ``intrinsic barrier to reaction'' and will equal the activation energy when .

For any reaction with a known and , we can find the value of , and then derive a change in for any given change in . (For very exothermic reactions we cannot actually solve for , but this doesn't matter because the change in will be zero anyway; likewise for very endothermic reactions is undefined but doesn't matter.)

Examples are provided in figure 1. image

To implement Blowers-Masel in Cantera, the consideration includes:

References

Paul Blowers and Rich Masel. Engineering approximations for activation energies in hydrogen transfer reactions. AIChE J., 46(10):2041–2052, 2000. doi: 10.1002/aic.690461015. Detailed proposal: BlowersMaselCantera.pdf

12Chao commented 3 years ago

The code about this project is on my forked branch. I have written a function to update forward rate coefficient according to the activation energy change for all the elementary reactions in a model, next step would be writing a new function to estimate the activation energy change according to the enthalpy change and link this with the forward rate coefficient.

rwest commented 3 years ago

In your pull request to cantera, as well as the docstrings don't forget the documentation files:

And make a new pull request on https://github.com/Cantera/cantera-website (with appropriate notes like "new in 2.6")

ischoegl commented 3 years ago

I believe that's closed via Cantera/cantera#987.

12Chao commented 3 years ago

@ischoegl Thanks for mentioning that , I'm working on some examples of how to use Blowers Masel code in analysis like thermodynamic sensitivity analysis, predicting surface reactions' kinetics when catalyst is changed etc., so I'm not sure if I should keep this open or open a new issue for these example work.

speth commented 3 years ago

Let's at least wait until the documentation PR Cantera/cantera-website#140 has been merged to close this.

ischoegl commented 3 years ago

Closing as documentation has been merged.