※Canteraバージョン:3.0.0
Canteraで火炎の化学イオンを計算してみる。
ここでは、メタン-空気の燃焼を考える。Canteraの例題にGRI Mech3.0の反応メカニズムにイオン化の反応式を加えたYAMLファイル gri30_ion.yamlがあるのでそれを使う。gri30_ion.yamlを見ると、$\mathrm{HCO^+}$、 $\mathrm{ H3O^+}$、 $\mathrm{ e^-}$が考慮されており、以下の反応式が加えられている。
$$ \mathrm{CH} + \mathrm{O} \rightarrow \mathrm{HCO^+} + \mathrm{e^-}$$
$$ \mathrm{HCO^+} + \mathrm{H_2O} \rightarrow \mathrm{H_3O^+} + \mathrm{CO}$$
$$ \mathrm{H_3O^+} + \mathrm{e^-} \rightarrow \mathrm{H_2O} + \mathrm{H}$$
$$ \mathrm{H_3O^+} + \mathrm{e^-} \rightarrow \mathrm{OH} + \mathrm{H} + \mathrm{H} $$
$$ \mathrm{H_3O^+} + \mathrm{e^-} \rightarrow \mathrm{H_2} + \mathrm{OH}$$
$$ \mathrm{H_3O^+} + \mathrm{e^-} \rightarrow \mathrm{O} + \mathrm{H_2} + \mathrm{H} $$
計算
自由伝播火炎のモデルでイオンを含めた計算ができるモジュールIonFreeFlameを使う。
# Simulation parameters
p = ct.one_atm # pressure [Pa]
Tin = 300.0 # unburned gas temperature [K]
phi = 1.0
width = 0.03 # [m]
圧力、温度、当量比、解析領域を設定する。
# IdealGasMix object used to compute mixture properties
gas = ct.Solution('gri30_ion.yaml')
gas.TP = Tin, p
gas.set_equivalence_ratio(phi, 'CH4', 'O2:1.0, N2:3.76')
気相のオブジェクトを設定する。gri30_ion.yamlの反応設定ファイルを使う。
# Flame object
f = ct.FreeFlame(gas, width=width)
f.set_refine_criteria(ratio=3, slope=0.07, curve=0.14)
f.solve(loglevel=1, auto=True)
f.solve(loglevel=1, stage=2)
f.save('ion_flame.csv', basis='mole', overwrite=True)
FreeFlameのオブジェクトを設定して計算を実行する。計算は2段階に分けて解く。最初のsolveは電界の計算がされず、2番めのsolveで電界計算が実行される。最後に結果をCSVファイルに出力している。
火炎帯付近の化学種と温度の結果。
イオンの分布。反応帯でイオン濃度がピークとなっている。
電界の結果。