KUCRS-chemgen
(c) 2002–2023 by A. Miyoshi
All rights reserved.
KUCRS
– Knowledge-basing Utilities for Complex Reaction Systems –

English
戻る

chemgen マニュアル


  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) とサンプル入力は以下からダウンロードできます。
  1. 上のリンクをクリックして chemgen20081222.zip を保存します。   以下の説明では C:\ に保存したと仮定しています。
  2. chemgen20081222.zip を解凍します。  フォルダ chemgen の中に以下のファイルが生成します。
    chemgen.exe
    elm_tbl.dat
    rxn_macr.dat
    sample_chg.inp
    sample_thg.dat
  3. コマンドプロンプトを開いて chemgen を解凍したディレクトリに 移動し、以下のコマンドを実行します。
    C:\chemgen> chemgen sample_chg.inp sample_thg.dat > sample_chg.log
  4. 以下のファイルが新たに生成します。
    sample_chg.log
    sample_chm.inp
    sample_rxn.inp
    sample_spc.inp
    sample_thm.dat
  5. ここで実行したサンプルでは、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   Ea
    macro_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.inpbname は、 反応リストファイル名から末尾の "_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 入力を生成するための一時ファイルで、通常は必要ありません。

[#1] 環境変数 KUCRS_LIB を設定して他のディレクトリに置くこともできます。  例えば KUCRS の setenv.bat では set KUCRS_LIB=C:\KUCRS\libdata となっています。