見出し画像

水素内燃機関の課題は?

背景

トヨタが取り組んでいる水素を燃焼ガスとして使用するオットーサイクルエンジン。何が課題なのだろうか?
化学シミュレーターとやらを動かして何かできないかと考えてみた。水素エンジンに関して化学シミュレータを動かして考えてみる。

トヨタの水素エンジンの動画

化学シミュレータ

「断熱火炎温度を化学反応解析ソフトcanteraを使用して計算する。」
断熱火炎温度は、熱の損失がない理想的な条件下での燃焼温度を示します。
この方のスクリプトを使用すれば燃焼ガスにCH4を使用した場合の燃焼後の温度を計算することができます。横軸は当量比。当量比=1.0の時にCH4とO2が完全に反応します。1.0以上の場合は燃焼ガスが多い(自動車で言う生ガスが出る場合です。)
では実行。

燃焼温度

CH4リッチの場合は熱解離により燃焼温度が下がります。ガソリンエンジンで言うところの「ガソリン冷却」ってやつですね。
では、H2では?
スクリプトは下記のように改変。

import cantera as ct
import numpy as np
import sys
import csv

##############################################################################
# Edit these parameters to change the initial temperature, the pressure, and
# the phases in the mixture.

T = 300.0
P = 101325.0

# phases
gas = ct.Solution('gri30.yaml')
carbon = ct.Solution('graphite.yaml')  # dummy
species = {S.name: S for S in ct.Species.list_from_file('gri30.yaml')}
complete_species = [species[S] for S in ('H2', 'O2', 'N2', 'CO2', 'H2O')]
gas2 = ct.Solution(thermo='ideal-gas', species=complete_species)

# the phases that will be included in the calculation, and their initial moles
mix_phases = [(gas, 1.0), (carbon, 0.0)]
mix_phases2 = [(gas2, 1.0), (carbon, 0.0)]

# gaseous fuel species
fuel_species = 'H2'

# equivalence ratio range
npoints = 50
phi = np.linspace(0.3, 3.5, npoints)

##############################################################################

mix = ct.Mixture(mix_phases)
mix2 = ct.Mixture(mix_phases2)

# create some arrays to hold the data
tad = np.zeros(npoints)
tad2 = np.zeros(npoints)
xeq = np.zeros((mix.n_species, npoints))
xeq2 = np.zeros((mix2.n_species, npoints))

for i in range(npoints):
    # set the gas state
    gas.set_equivalence_ratio(phi[i], fuel_species, 'O2:1.0, N2:3.76')
    gas2.set_equivalence_ratio(phi[i], fuel_species, 'O2:1.0, N2:3.76')

    # create a mixture of 1 mole of gas, and 0 moles of solid carbon.
    mix = ct.Mixture(mix_phases)
    mix.T = T
    mix.P = P
    mix2 = ct.Mixture(mix_phases2)
    mix2.T = T
    mix2.P = P

    # equilibrate the mixture adiabatically at constant P
    mix.equilibrate('HP', solver='gibbs', max_steps=1000)
    mix2.equilibrate('HP', solver='gibbs', max_steps=1000)

    tad[i] = mix.T
    tad2[i] = mix2.T
    print('At phi = {0:12.4g}, Tad = {1:12.4g}, Tad2 = {2:12.4g}'.format(phi[i], tad[i], tad2[i]))
    xeq[:, i] = mix.species_moles
    xeq2[:, i] = mix2.species_moles


import matplotlib.pyplot as plt
plt.plot(phi, tad, label='[H2]adiabatic flame temperature')
plt.plot(phi, tad2, label='[H2]theoretical', linestyle='--')
plt.xlabel('Equivalence ratio')
plt.ylabel('Adiabatic flame temperature [K]')
plt.legend()
plt.show()
燃焼温度

まず分かることは、燃焼温度のピークが2200Kから2400Kに200度上がると。燃料リッチにしても燃焼温度は下がらない。水素ガスH2は熱解離によっても燃焼温度は下がらないのでしょう。(熱乖離しないのでしょう)

まとめ

水素内燃機関の課題

  1. 燃焼温度が(200度?)高い

  2. 燃料リッチにして燃焼温度を下げることが出来ない。

今のガソリンエンジンは燃料リッチはやらないか最小限と聞きますが、業界の人ではないで分かりません。
水素は安定的に燃焼させるのが難しいのは結果からも昔から言われている通り。

(今日のブログ終わり・・・)

この記事が気に入ったらサポートをしてみませんか?