Canteraをつかった触媒化学の理論解
By J.Aono
Canteraとは?
Canteraは化学反応や熱力学,および輸送プロセスなどに関連する問題に対応するオープンソースです.オブジェクト指向(C/C++)の概念を利用しており,ユーザが最小限の修正を加えることにより様々な問題に対応することができます.PythonやMatlab,Fortran90へのインターフェースがあるため,C/C++に慣れていないユーザも簡単に利用することができます.近年では燃焼・爆発・電気化学エネルギーへの変換や貯蔵,燃料電池,バッテリーなどのアプリケーションに使用されています.
層流を仮定した理論解
触媒化学は2010年代の後半からカーボンリサイクル技術の1つとして必要となってきています.ここで紹介するのはCanteraをつかって,層流を仮定した理論解を求めます.理論解で必要な密度や粘性をCanteraを使い算出します.
層流の場合の壁面から垂直方向のモル分率の理論解は下記です
$$ X_O(y)=\left(X_{O,1}-\frac{\nu_O}{\nu_O-\nu_P} \right) \exp \left[ {\eta \frac{Sc_O \dot{m}}{\mu}y} \right] + \frac{\nu_O}{\nu_O-\nu_P} \label{eq1}\tag{1} $$
ここで,$X$はモル分率,添字$O$は酸化剤,添字$P$は生成物,$\nu$は化学量論係数,$Sc$はシュミット数,$\mu$は粘性,$y$は触媒壁面からの距離です.$\eta$と$X_{O,1}$は下記によって表されます.
$$ \eta = \frac{W_P (\nu_O-\nu_P)}{\nu_O W_O-\nu_P W_P} \label{eq2}\tag{2} $$
$$ \dot{m}=X_{O,1}^{\nu_O} \left( \frac{p}{RT} \right)^{\nu_O} K_1(\nu_P W_P - \nu_O W_O) \label{eq3}\tag{3} $$
ここで,$W$は分子量,$p$は圧力,$T$は温度,$R$はガス定数,$K_1$は反応速度です.
Chabane1らの文献と同様に酸化剤や生成物などを表のように設定します.
| $\dot{m}$ | $P(atm)$ | $T(K)$ |
|---|---|---|
| $3.87\times10^{-4}$ | $1$ | $1400$ |
酸化剤や生成物などを下記のように設定します.
| $Oxidizer$ | $Product$ | $\nu_O$ | $\nu_P$ | $K_1$ |
|---|---|---|---|---|
| $CO_2$ | $CO$ | $2$ | $1$ | $6.92\times10^{-3}$ |
壁面触媒の計算の概略図です.

密度と粘性をCanteraをつかって求める
Canteraを使ったpythonのコードです.
gas = ct.Solution('gri30.yaml', 'gri30', transport_model=transport)
comp = 'CO:0.4646,CO2:0.5354'
t = 1400.0
p = ct.one_atm
gas.TPX = t, p, comp
print(gas.viscosity, gas.density_mass)
- 1行目はCanteraで使う反応機構の設定です.今回は$CO$と$CO_2$が含まれている反応セットであれば問題ありません.
- 2行目は$X_{O,1}$のモル分率の設定です.
- 3行目は温度です.
- 4行目は圧力です.Canteraは1atmの変数をもっていますので,それを利用します.
- 5行目で温度と圧力と質量分率を反応機構に設定します.
モル分率は$y$の関数(\ref{eq1})なので密度と粘性をCanteraを使って計算します.
壁面と垂直方向の速度は,流量が一定の条件から求めることができます.
Canteraをつかった計算結果
計算結果は下記になります.Chabaneらの結果と同等な結果をえることが確認できました.
