Skip to content

Relationship between ReacTorch and Cantera Chemkin

Weiqi Ji edited this page May 29, 2020 · 1 revision

This might be a question raised in your mind, and so do i :)

Here I would like to share my own views. Cantera and Chemkin are great softwares which advanced the combustion modeling field in the past half century. In general, the usage of Cantera can be put into two categories, one is standalone modeling tool for zero-dimensional and one-dimensional reactors, the other one is a package for interpreting and computing the kinetics of mixture. For the former one, Cantera already do a great job, and it is object-oriented, which make me think that there is not much need to develop another package for this purpose. Although there are some new features from differential programming might advance those zero-D and one-D simulations, especially the sensitivity analysis and uncertainty quantification, which might be good motivations for ReacTorch.

Therefore, ReacTorch is more motivated for the second category. Here, the governing equations are written in users own software and ReacTorch is used to interpreting and computing the kinetics of the mixture, including the rates, thermodynamic and transport data. If the governing equations are also written in a differentiable way, then the entire model is differentiable. Then a lot of funs could start from here. It is also worthy to mention that those differential programing is usually associated with GPU, so that the entire model can be easily adapted to GPU. (This is also part of the reason why using ReacTorch for traditional modeling tasks in CPU could be much slower than Cantera and Chemkin).

On the other hand, as an open source library, I think we can try to make it flexible for many different tasks. For example, it is already can be used to computed Jacobian matrix in parallel, which can be integrated with Cantera.

Clone this wiki locally