Cantera:触媒反応を計算する

Canteraで触媒反応の計算をしてみる。

メタンの白金触媒での燃焼を計算する。Canteraの例題に同様のものがあるが、プログラムが少し冗長なのでコンパクトにしている。モデルは、1次元衝突噴流火炎のモデルを使って、白金触媒表面での表面反応計算を加えたものである。

ソースコード(GitHub)

#  parameter
p = ct.one_atm  # pressure [Pa]
tinlet = 300.0  # inlet temperature [K]
tsurf = 900.0  # surface temperature [K]
mdot = 0.06  # inlet flux [kg/m^2/s]
width = 0.1 # inlet/surface separation [m]
comp = 'CH4:0.095, O2:0.21, N2:0.78, AR:0.01' # inlet composition

条件を設定する。圧力p、流入温度tinlet、表面温度tsurf、流量mdot、触媒表面/流入面間距離width、流入の組成compを設定する。

# gas object
gas = ct.Solution('ptcombust.cti', 'gas')
gas.TPX = tinlet, p, comp

# interface object
surf_phase = ct.Interface('ptcombust.cti', 'Pt_surf', [gas])
surf_phase.TP = tsurf, p

ガスgasと表面surf_phaseのオブジェクトを定義する。表面反応メカニズムは、 Deutschman らのメカニズムである。気相反応は、GRI-Mech 3.0が使われている。

参考文献:
Deutschmann, O.; Schmidt, R.; Behrendt, F.; Warnatz, J. Numerical modelling of catalytic ignition. Twenty-Sixth Symposium (International) on Combustion, The Combustion Institute, 1996, p. 1747-1754.

# integrate the coverage equations in time for 1 s, for initial 
surf_phase.advance_coverages(1.0)

表面反応の初期条件を仮定するため、予備計算を実行する。気相の組成は固定した状態で解かれる。

# impinging jet object
sim = ct.ImpingingJet(gas=gas, width=width, surface=surf_phase)
sim.inlet.mdot = mdot
sim.inlet.T = tinlet
sim.inlet.X = comp
sim.surface.T = tsurf

1次元衝突噴流火炎モデルを定義し、流入条件と表面温度を設定する。

# solve
sim.set_refine_criteria(3.0, 0.06, 0.12, 0.0)
sim.solve(loglevel=1, auto=True)
sim.show_solution()

グリッド制御パラメータ(set_refine_criteria)を設定して、solveで計算を実行する。最終結果を出力する。

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> surface <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

    Temperature:        900 K
    Coverages:
                   PT(S)      0.124
                    H(S)  2.615e-07
                  H2O(S)  3.054e-05
                   OH(S)    0.00749
                   CO(S)  3.902e-05
                  CO2(S)  4.231e-10
                  CH3(S)  3.188e-09
                 CH2(S)s  3.188e-09
                   CH(S)  3.188e-09
                    C(S)  1.387e-07
                    O(S)     0.8684

反応表面の化学種のモル分率が出力される。

# write csv file 
sim.write_csv('catalytic_combustion.csv', quiet=False)

気相の結果をCSVファイルに出力している。流入面からの距離に対する軸方向速度、半径方向速度、温度、密度、化学種のモル分率が出力される。

スポンサーリンク
科学技術計算のご相談は「キャットテックラボ」へ

科学技術計算やCAEに関するご相談、計算用プログラムの開発などお困りのことは「株式会社キャットテックラボ」へお問い合わせください。

お問い合わせはこちら

フォローする

スポンサーリンク