chemgen
は KUCRS のコンポーネントの一つで、
マクロ表現の反応リストを処理して Chemkin 形式の化学反応入力を生成します。
規則に基づいた反応速度定数を持つ反応機構を、正確に効率よく生成するための
基本的なツールです。 KUCRS とは切り離して単独で用いたり、
KUCRS の反応機構を部分的に修正したり、
補完したりするために用いることができます。
要約
使用法
chemgen bname_chg.inp
thermo_data > log_file
入力
必須 | ||
bname_chg.inp | * | マクロ表現の反応のリスト |
thermo_data | * | 熱力学データ |
KUCRS_LIB\bas_rxns.inp | (ベース反応機構) | |
KUCRS_LIB\bas_thrm.dat | (ベース熱力学データ) | |
KUCRS_LIB\elm_tbl.dat | * | 元素データ |
KUCRS_LIB\rxn_macr.dat | * | マクロ定義 |
KUCRS_LIB\ = 環境変数 KUCRS_LIB の指すディレクトリ
(未定義の場合はカレントディレクトリ)
出力
log_file | chemgen の診断出力 |
bname_chm.inp | Chemkin 形式の反応機構 |
bname_rxn.inp | 〃 (reactions ブロック) |
bname_spc.inp | 〃 (elements/species ブロック) |
bname_thm.dat | 〃 (thermo ブロック) |
ダウンロードとサンプルの実行 (Windows)
KUCRS と切り離して単独で用いるための
chemgen
の実行ファイル (Windows) とサンプル入力は以下からダウンロードできます。
- 上のリンクをクリックして
chemgen20081222.zip
を保存します。 以下の説明では C:\ に保存したと仮定しています。 chemgen20081222.zip
を解凍します。 フォルダchemgen
の中に以下のファイルが生成します。chemgen.exe elm_tbl.dat rxn_macr.dat sample_chg.inp sample_thg.dat
- コマンドプロンプトを開いて
chemgen
を解凍したディレクトリに 移動し、以下のコマンドを実行します。C:\chemgen> chemgen sample_chg.inp sample_thg.dat > sample_chg.log - 以下のファイルが新たに生成します。
sample_chg.log sample_chm.inp sample_rxn.inp sample_spc.inp sample_thm.dat
- ここで実行したサンプルでは、
sample_chg.inp
に記述された マクロ表現の反応リストを処理して、Chemkin 形式の反応入力sample_chm.inp
を生成しています。 マクロはrxn_macr.dat
の中で定義しています。 入出力ファイルはすべてテキストファイルですので、テキストエディタ (メモ帳やワードパッド) で編集・閲覧することができます。 入力ファイルの書式などは以下の解説を参照して下さい。
入力ファイル
元素データ (必須)
- 元素を追加する場合以外は、変更する必要はありません。
ファイル名は固定
(
elm_tbl.dat
) でカレントディレクトリに置きます。 [#1]
マクロ定義 (必須)
- 指定されたファイル名 (
rxn_macr.dat
) でカレントディレクトリに置きます。 [#1] 以下に、サンプルのマクロ定義を示します。rxn_macr.dat
! sample macro definitions ! ----- H-abstraction by OH Habs/by-OH/Prim 8.83E+06 1.80 855. ! per one CH3 group Habs/by-OH/Tert 5.73E+10 0.51 63. ! per one CH group ! ! ----- decomposition of hydrocarbons Rv/Dcmp/C-Me 1.00E+13 0. 0. !
- マクロは以下の形式で定義します。
macro_name A n Eamacro_name はマクロの名前で、A, n, Ea は修正アレニウス式k = AT n exp(−Ea / RT)のパラメータです。 速度パラメータの単位系は Chemkin のデフォルト (cm3-mol-s-cal) です。
- 感嘆符 (
!
) から行末までは注釈です。 - 名前が
Rv/
で始まるマクロは、与えられた A, n, Ea は逆反応の速度パラメータであると解釈されます。 例えば上の例の最後のマクロは、炭化水素からメチルが脱離する熱分解の 逆反応の速度定数が 1×1013 であることを示しています。 一般に解離反応などは、 逆反応の速度定数を与える方が便利です。
反応リスト (必須)
- ファイル名は
bname_chg.inp
のように"_chg.inp"
で終わらなければなりません。bname
の部分は、 出力ファイル名に使用されます。chemgen
を実行するときの コマンドラインの第 1 引数としてファイル名を指定します。 以下にサンプルファイルの内容を示します。sample_chg.inp
# sample chemgen input ! ! isobutane reactions with OH iC4H10 OH = iC4H9 H2O $ Habs/by-OH/Prim 0 3 Y iC4H10 OH = tC4H9 H2O $ Habs/by-OH/Tert 0 1 Y ! ! decomposition of isobutane iC4H10 = CH3 iC3H7 $ Rv/Dcmp/C-Me 0 3 Y
- 1 つの反応は以下の形式で 1 行に記述します。
reactant1 ... = product1 ... $ macro_name ΔEa mult_A flag_rev$ までが反応式で、 = の左に反応物、 右に生成物をそれぞれ空白で区切って 並べます。
- ΔEa はマクロ定義の 活性化エネルギーを調整する場合に 0 以外を設定します。
- mult_A は前指数因子を変更する場合に 1 以外を設定します。 ここの例では、イソブタンは等価なメチル基を 3 つ持つために、 一級炭素からの水素引抜の速度定数と、 CH3 脱離の速度定数 を 3 倍するために使っています。
- 最後の flag_rev は逆反応を考慮するかどうかのフラグで
Y
を書くと逆反応が考慮され、N
の場合は逆反応が無視されます。 !
,#
で始まる行はいずれも注釈行ですが、!
で始まる行は、 Chemkin 入力にもこのまま注釈としてコピーされます。#
で始まる行は Chemkin 入力には出力されません。
熱力学データ (必須)
- ファイル名は任意で、
chemgen
を実行するときの コマンドラインの第 2 引数として指定します。 サンプルの一部を以下に示します。 形式は Chemkin の熱力学データと同じです。sample_thg.dat
THERMO 300.000 1500.000 5000.000 iC4H10 thgen C 4H 10 G 300.000 5000.000 1389.00 1 1.25733188E+01 2.18921034E-02-7.52507819E-06 1.17199470E-09-6.81406454E-14 2 -2.31695053E+04-4.68052242E+01-1.01548278E+00 5.04801838E-02-3.00674447E-05 3 9.16431647E-09-1.15528714E-12-1.80491562E+04 2.74371619E+01 4 iC4H9 thgen C 4H 9 G 300.000 5000.000 1389.00 1 1.21596150E+01 1.97412861E-02-6.79323159E-06 1.05880234E-09-6.15918443E-14 2 1.89478674E+03-4.06305807E+01-2.60119556E-01 4.59801603E-02-2.76540140E-05 3 8.55997651E-09-1.10410554E-12 6.56626481E+03 2.71901259E+01 4 ...
- 熱力学データは THERM などを用いて生成することができます。
反応リストに記述されているすべての反応物と生成物の熱力学データが
このファイルまたは、以下のオプションの
bas_thrm.dat
に登録されていなければなりません。
オプション入力
- カレントディレクトリ [#1] に
bas_rxns.inp
あるいはbas_thrm.dat
(何れもファイル名は固定) が見つかった場合chemgen
はその内容をそれぞれ、 反応リスト、あるいは 熱力学データの最後の付加したものを生成します。 例えば、ベースになる H2-O2 反応機構をこれらのファイルに記述しておけば、 常にそれを含む反応機構を生成することができます。 KUCRS では C2 までの化学種とその反応がベースとして登録されています。
出力ファイル
Chemkin 入力
- ファイル名は
bname_chm.inp
でbname
は、 反応リストファイル名から末尾の"_chg.inp"
を除いたものです。 以下にサンプルファイルを処理した場合に生成する Chemkin 入力ファイルを示します。sample_chm.inp
elements H C O end species iC4H10 iC4H9 tC4H9 OH H2O CH3 iC3H7 end thermo all 300.000 1000.000 5000.000 iC4H10 thgen C 4H 10 G 300.000 5000.000 1389.00 1 1.25733188E+01 2.18921034E-02-7.52507819E-06 1.17199470E-09-6.81406454E-14 2 -2.31695053E+04-4.68052242E+01-1.01548278E+00 5.04801838E-02-3.00674447E-05 3 9.16431647E-09-1.15528714E-12-1.80491562E+04 2.74371619E+01 4 ...(中略)... end reactions cal/mole moles ! ! isobutane reactions with OH iC4H10+OH=iC4H9+H2O 2.649e+07 1.800 855.0 rev / 2.188e+04 2.313 18689.0 / iC4H10+OH=tC4H9+H2O 5.730e+10 0.510 63.0 rev / 4.536e+06 1.518 22283.5 / ! ! decomposition of isobutane iC4H10=CH3+iC3H7 4.480e+25 -2.321 89803.0 rev / 3.000e+13 0.000 0.0 / end
- species ブロックには
chemgen
実行時にコマンドラインの 第2引数に指定した熱力学データファイルとbas_thrm.dat
に登録されている化学種すべてが列挙されます。 elements ブロックはすべての化学種の熱力学データファイルから 自動的に生成されます。 N2, Ar などの希釈気体が必要な場合は、bas_thrm.dat
に登録しておけば、elements ブロックと species ブロックに自動的に登録されます。 - reactions ブロックではマクロ置換が行われていて、
逆反応の速度定数が計算されています。
Rv/
で始まるマクロが使われている最後の反応では マクロに指定した速度パラメータは逆反応に使われていることに 注意してください。
ログ
- ファイル名は
bname_chg.log
(反応リストファイル名の拡張子を.log
に変えたもの) です。 サンプルを実行したときに生成するログファイルの一部を以下に示します。sample_chg.log
15 elements loaded from [elm_tbl.dat] 3 rate macros loaded from [rxn_macr.dat] 7 thermodata loaded from [sample_thg.dat] reaction delH delS kcal/mol cal/K/mol iC4H10+OH=iC4H9+H2O -18.288 6.818 ---------- rate calculations ---------- rev / 2.188e+04 2.313 18689.0 / T/K kf kr Kc 300 1.816e+11 2.798e-04 6.490e+14 400 4.362e+11 1.434e+00 3.041e+11 500 8.082e+11 2.650e+02 3.049e+09 600 1.295e+12 9.207e+03 1.407e+08 800 2.601e+12 8.867e+05 2.933e+06 1000 4.327e+12 1.547e+07 2.797e+05 1500 1.036e+13 9.080e+08 1.141e+04 2000 1.869e+13 8.533e+09 2.190e+03 2500 2.915e+13 3.690e+10 7.899e+02 3000 4.165e+13 1.059e+11 3.934e+02 3500 5.611e+13 2.372e+11 2.365e+02 4000 7.246e+13 4.517e+11 1.604e+02 5000 1.106e+14 1.200e+12 9.219e+01 --------------------------------------- ...(中略)... Copying sample_spc.inp + sample_thm.dat + sample_rxn.inp -> sample_chm.inp - succeeded.
- 冒頭部分はオプションのものも含めて入力ファイルが 正常に読み込まれているかどうかの診断メッセージです。
- "
reaction ... delH delS
" の行以降は各反応の、 298 K における ΔH (エンタルピー変化), ΔS (エントロピー変化)、300 K から 5000 K の範囲の 正反応・逆反応の速度定数と平衡定数の計算結果を示しています。
その他
bname_spc.inp
,bname_thm.dat
,bname_rxn.inp
は Chemkin 入力を生成するための一時ファイルで、通常は必要ありません。