Cantera:層流燃焼速度の計算

Canteraでメタンの層流燃焼速度を計算してみる。1次元の火炎モデルを使う。

ソースファイル(GitHub)

# Simulation parameters
p = ct.one_atm  # pressure [Pa]
Tin = 300.0  # unburned gas temperature [K]
phi = 0.9
width = 0.03  # m

圧力を1atm、温度を300K、当量比を0.9に設定、widthは計算領域。

# IdealGasMix object used to compute mixture properties
gas = ct.Solution('gri30.xml', 'gri30_mix')
gas.TP = Tin, p
gas.set_equivalence_ratio(phi, 'CH4', 'O2:1.0, N2:3.76')

反応メカニズムは、GRI-Mech3.0を使う。ガス相をgasに定義し、温度、圧力、組成を設定。

# 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)
print('\nmixture-averaged flamespeed = {:7f} m/s\n'.format(f.u[0]))

freely-propagating flat flameのモデルを使う。set_refine_criteriaでグリッドの制御パラメータを設定。solveで解く。層流燃焼速度はu[0]で取得して表示している。

plt.figure('Fig.1')
plt.subplot(2,1,1)
plt.plot(f.grid, f.T)
plt.xlabel('Axial distance [m]')
plt.ylabel('Temperature [K]')
plt.grid(True)
plt.subplot(2,1,2)
plt.plot(f.grid, f.u)
plt.xlabel('Axial distance [m]')
plt.ylabel('Flame speed [m/s]')
plt.tight_layout()
plt.grid(True)
plt.show()

最後にグラフを出力する。ここでは、軸方向の温度と燃焼速度を出力。

当量比に対する層流燃焼速度を計算し、実測との比較を行ったグラフを載せておく。

参考文献:
Vagelopoulos, C. M.; Egolfopoulos, F. N. Proc. Combust. Inst. 1998, vol. 27, p. 513

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

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

お問い合わせはこちら

フォローする

スポンサーリンク