はじめに
カーボンニュートラルへの取り組みが世界的に進められています。
燃焼を扱う分野においては、燃料が燃焼する際の化学反応の過程や、結果として排出される NOx などの温室効果ガスの排出量を定量的に知ることが重要となってきます。高温で複雑な燃焼場の計測は一般的に難しいですが、数値計算によりその詳細を知ることができます。空燃比などの燃焼パラメータを変更した際の複数パターンを比較する際にも効果的です。
Advance/FrontFlow/red では素反応モデルによる詳細な化学反応の計算や、拡散火炎に特化した Flamelet モデルによるデータベースを用いた燃焼計算を行うことが可能です。これら2つの燃焼解析モデルに関連して、Advance/FrontFlow/red と Cantera との連携機能を開発しました。
Cantera とは?
Cantera は化学反応や熱力学、および化学種・熱の輸送プロセスを取り扱うことができるオープンソースソフトウェアです。
Cantera 自体は C++ で書かれており、Python や Matlab、Fortran90 へのインターフェースや簡単なサンプルが整備されているため、C++ に慣れていないユーザーも比較的簡単に利用することができます。アプリケーション先として、燃焼、爆発、燃料電池、表面反応などがあります。
Cantera でできること
Cantera でできることとして、0次元、1次元での化学反応解析があります。
様々な空燃比における燃焼反応を解析することで、結果として得られる化学物質や放出される熱量などを解析することができます。1次元解析では、燃焼速度や流れがある場における化学反応の経過などを解析することができます。
下図では例として、0次元における窒素分子(N2)からの化学反応経路図を解析したものを示しています。このような解析から、温室効果ガスである NOx の発生割合などを予測することができます。もう一つの例として、1次元対向流拡散火炎を解析して、得られるデータベースをテーブル化した、Flamelet テーブルを示しています。様々に条件を変更して解析することで、複雑な燃焼場に適用できるデータベースを作成することができます。
Advance/FrontFlow/red と Cantera の連携
開発した連携機能は2つあります。下図にその概略図を示します。図3 は従来の化学反応計算設定方法、図4 は今回開発した Cantera との連携機能を使用した化学反応計算設定方法となります。以下でその詳細をご説明します。
多数の化学種物性値・化学反応式の自動設定機能
連携機能の1つ目は、化学種物性値、化学反応式の自動設定機能です。素反応モデルを使用した化学反応解析では、事前に解析に使用する化学種、化学反応メカニズムを入力する必要があります。
例として、水素を燃料とした化学反応メカニズムの場合、化学種の数は11、化学反応式の数は29となります。一方で、炭化水素系の燃料の燃焼を考える場合にはその数は飛躍的に増加します。天然ガスの燃焼実験を再現するように最適化された詳細素反応モデルとして知られる GRI-Mech ver.3.0 では、化学種の数は53、化学反応式の数は325となります。従来は、このような多数の化学種の物性値、化学反応式を1つずつ確認して、入力する必要がありました。
これに対して、Cantera の入力ファイルから化学種、化学反応式の設定を行うことができる機能を開発しました。すでに実績のある Cantera の入力ファイルを使用することで入力・確認作業をスキップすることができます。
Flamelet モデルのデータベース自動作成機能
もう1つは、Flamelet モデル使用時のデータベースを自動で作成する機能です。従来は、解析する前準備として、1次元対向流拡散火炎などを解析し、ユーザーがデータベースを作成する必要がありました。
今回の開発した機能では、Cantera の化学反応解析機能を使用することで、データベースを自動で作成し、AFFr のデータベース形式への変換まで行うことが可能です。下図は、AFFr への入力用に作成した密度、温度、化学種のテーブルデータを示しています。テクニカルサイトにて、作成した Flamelet テーブルを使用した解析事例を公開しています(サイトへのアクセスにはユーザーIDとパスワードが必要です)。
こちらの機能は今後も拡張予定であり、Flamelet Generated Manifolds(FGM)法に代表される複数パラメータのテーブルへの対応を予定しています。