CanteraのCTIファイルについて説明する。
CTIファイルは反応メカニズムや化学種の特性を定義するためファイルである。Canteraのインストールディレクトリにいくつか保存されているので参考にしてみる。Windowsなら、
ユーザーのホーム\Anaconda*\pkgs\cantera-2.4.0-***\Lib\site-packages\cantera\data
に格納されている。ここでは、gri30.ctiの中身を見てみる。gri30.cti には、GRI-Mech 3.0の反応メカニズムが定義されている。このファイルには、53の化学種と325の素反応式が含まれる。
目次
単位系の設定
まず単位系が設定されている。
units(length = "cm", time = "s", quantity = "mol", act_energy = "cal/mol")
length:長さ、time:時間、quantity:物質量、act_energy:反応エネルギー。
ガス相の定義
次にガス相の定義ブロックがある。
ideal_gas(name = "gri30_mix",
elements = " O H C N Ar ",
species = """ H2 H O O2 OH H2O HO2 H2O2 C CH
CH2 CH2(S) CH3 CH4 CO CO2 HCO CH2O CH2OH CH3O
CH3OH C2H C2H2 C2H3 C2H4 C2H5 C2H6 HCCO CH2CO HCCOH
N NH NH2 NH3 NNH NO NO2 N2O HNO CN
HCN H2CN HCNN HCNO HOCN HNCO NCO N2 AR C3H7
C3H8 CH2CHO CH3CHO """,
reactions = "all",
transport = "Mix",
initial_state = state(temperature = 300.0,
pressure = OneAtm) )
name:名称、elements:構成原子、species:化学種、reactions:反応式の宣言箇所、transport:輸送モデル、initial_state:デフォルトの温度、圧力。
ideal_gasで理想気体として定義されている。
reactionsのallは、このファイル内にすべての反応式が定義されていることを表している。
輸送モデルは、MixがMixture-Averagedモデル、MultiがMulticomponentモデルである。
化学種の定義
次に化学種の特性データが設定されている。
species(name = "H2",
atoms = " H:2 ",
thermo = (
NASA( [ 200.00, 1000.00], [ 2.344331120E+00, 7.980520750E-03,
-1.947815100E-05, 2.015720940E-08, -7.376117610E-12,
-9.179351730E+02, 6.830102380E-01] ),
NASA( [ 1000.00, 3500.00], [ 3.337279200E+00, -4.940247310E-05,
4.994567780E-07, -1.795663940E-10, 2.002553760E-14,
-9.501589220E+02, -3.205023310E+00] )
),
transport = gas_transport(
geom = "linear",
diam = 2.92,
well_depth = 38.00,
polar = 0.79,
rot_relax = 280.00),
note = "TPIS78"
)
name:化学種の名称、atoms:構成原子と数、thermo:熱力学特性データ、transport:輸送特性データ、note:コメント。
thermoのNASAは、NASAの熱力学特性データ形式であることを表している。
NASA([200, 1000], [a0, a1, a2, a3, a4, a5, a6])は、温度が200[K]~1000[K]の範囲で、比熱、エンタルピー、エントロピーが
$$ \frac{c_p^0(T)}{R} = a_0 + a_1 T + a_2 T^2 + a_3 T^3 + a_4 T^4$$
$$ \frac{h^0(T)}{RT} = a_0 + \frac{a_1}{2} T + \frac{a_2}{3} T^2 + \frac{a_3}{4} T^3 + \frac{a_4}{5}T^4 + \frac{a_5}{T}$$
$$ \frac{s^0(T)}{R} = a_0 \ln T+ a_1 T + \frac{a_2}{2} T^2 + \frac{a_3}{3} T^3 + \frac{a_4}{4}T^4 + a_6$$
であることを表している。
transportは、輸送特性を表すパラメータを設定する。geomのatomは単原子分子、linearは線形分子、nonlinearは非線形分子である。diamはLennard-Jones衝突直径[Å]、well_depthはLeannard-Jonesポテンシャル井戸深さ[K]、polarは分極率[Å3]、dipoleは双極子モーメント[Debye]、rot_relaxは298[K]での回転緩和衝突数である。
反応式の定義
最後に反応式が定義されている。
reaction( "CH2 + O2 => 2 H + CO2", [5.80000E+12, 0, 1500])
この反応は、
$$\mathrm{CH_2} + \mathrm{O_2 } \rightarrow \mathrm{2H} + \mathrm{CO_2}$$
の反応式であり、反応速度定数は修正アレニウス式、
$$ k_f(T) = A T^b \exp(-E/ R T)$$
ここで、$A=5.8 \times 10^{12}、b=0、E=1500$
を表している。
第三体反応
three_body_reaction( "2 O + M <=> O2 + M", [1.20000E+17, -1, 0],
efficiencies = " AR:0.83 C2H6:3 CH4:2 CO:1.75 CO2:3.6 H2:2.4 H2O:15.4 ")
この反応定義は第三体反応
$$ \mathrm{2 O} + \mathrm{M} \leftrightarrow \mathrm{O_2} + \mathrm{M}$$
の反応式で、Collision efficienciesがAr=0.83、C2H6=3、CH4=2、CO=1.75、CO2=3.6、H2=2.4、H2O=15.4(他は1.0)である。
Falloff反応
falloff_reaction( "H + CH2 (+ M) <=> CH3 (+ M)",
kf = [6.00000E+14, 0, 0],
kf0 = [1.04000E+26, -2.76, 1600],
falloff = Troe(A = 0.562, T3 = 91, T1 = 5836, T2 = 8552),
efficiencies = " AR:0.7 C2H6:3 CH4:2 CO:1.5 CO2:2 H2:2 H2O:6 ")
この反応定義は、Falloff反応である。kfはhigh-pressure limitの反応速度定数を、kf0はlow-pressure limitの反応速度定数を表す。
Troeは、Troeの関数で、
$$F_{cent}(T) = (1-A) \exp(-T/T_3) + A \exp (-T/T_1) + \exp(-T_2/T)$$
の係数を指定する。SRI関数は、
$$F(T, P_r) = d \bigl[a \exp(-b/T) + \exp(-T/c)\bigr]^{1/(1+\log_{10}^2 P_r )} T^e$$
の各係数を入力することができる。falloffを指定しない場合は、Lindemann式が使われる。
その他、詳細はCanteraのホームページを参照するとよい。
https://cantera.org/tutorials/input-files.html