ここでは Windows バイナリ (minimal)
のインストールとコマンドプロプトからの使用法の例を示します。
目次
→ 入力ファイルの書式詳細
インストール
- CKmExDOS.exe を適当な場所
で実行すると、サブフォルダ CKmExDOS 内に、
以下のファイルが生成します。
- chem.exe senk.exe sb2c.exe findth.exe rxnc.exe shock.exe equil.exe tran.exe premix.exe pb2c.exe (実行ファイル)
- chem.inp therm.dat senk.inp sb2c.inp sb2c2.inp rxnc.inp shk_chem.inp shock.inp eq_chm.inp equil.inp pm_chem.inp pm_chem2.inp premix.inp premix2.inp pb2c.inp tran.dat (サンプル入力ファイル)
- サンプルの実行
- コマンドプロンプトでパッケージを解凍したディレクトリに移動します。
- 以下をこの順に入力して、正常に実行されることを
確認してください。
chem < chem.inp > chem.out senk < senk.inp > senk.out sb2c < sb2c.inp > sb2c.out sb2c < sb2c2.inp > sb2c2.out rxnc < rxnc.inp > rxnc.out chem < shk_chem.inp > shk_chem.out shock < shock.inp > shock.out chem < eq_chm.inp > eq_chm.out equil < equil.inp > equil.out chem < pm_chem.inp > pm_chem.out tran < tran.dat > tran.out premix < premix.inp > premix.out pb2c < pb2c.inp > pb2c.out chem < pm_chem2.inp > pm_chem2.out tran < tran.dat > tran.out premix < premix2.inp > premix2.out pb2c < pb2c2.inp > pb2c2.out
- 出力ファイル (.out) をメモ帳などで開いて、 エラー表示がなければ、正常に実行されています。
プログラムの概要
chem(.exe)
CHEMKIN Interpreter と呼ばれまるプログラムで、テキストファイル
記述された、化学種・反応機構・熱力学データの情報を読み込み、
次の senkin プログラム (senk) で使用する、バイナリ形式のファイルに
翻訳 (interpret) します。
senk(.exe)
これが SINKIN 本体のプログラムです。chem が生成した
バイナリファイルから化学種・反応機構・熱力学データを読み込み、
反応の初期条件・計算時間などをテキストファイルから読んで、
反応計算を実行します。結果は、一部をテキストファイルに出力する他、
すべての情報をバイナリファイルに出力します。
sb2c(.exe) - Senkin Binary to(2) Csv converter
SENKIN が生成したバイナリファイルの情報を、
Excel などの表計算アプリケーションで開くことのできる形式の
ファイル (カンマ区切りテキストファイル, CSV ファイル)
に出力します。 このプログラムは、オリジナルの Chemkin
パッケージには含まれないものです。
findth(.exe)
Chemkin の熱力学データ形式のファイルを、化学式(元素組成)
を指定することで、検索するプログラムです。Chemkin / Senkin
の実行には、必要ありません。 (これもオリジナル Chemkin
パッケージには含まれないものです)
rxnc(.exe) - Reaction (Rxn) Contribution
SENKIN のバイナリ出力から、指定した時間における、
指定した化学種の増加・減少に対する、各反応の寄与率を出力します。
(これもオリジナル Chemkin パッケージには含まれないものです)
shock(.exe)
Chemkin に含まれる shock tube 計算プログラム。
equil(.exe)
Chemkin に含まれる 平衡計算プログラム。
premix.exe
PREMIX (予混合一次元火炎伝播) プログラム。
pb2c.exe
PREMIX が生成したバイナリファイルを CSV 形式に変換する
プログラム。
tran.exe
PREMIX が用いるバイナリ形式の輸送係数ファイルを生成するプログラム。
入出力ファイルの概要
![](Figs/fig1CKstruc.gif)
図 1. 入出力ファイルの関係
図 1 に入出力ファイルの関係を示します。
ユーザが計算実行前に
準備しなくてはならないのは、3つの入力ファイル (chem.inp, senk.inp,
ab2c.inp) です。この他に、化学種の熱力学データベースファイル therm.dat
を実行時にカレントディレクトリに置いておく必要があります。
このファイルは通常、ユーザが編集する必要はありません。
'標準入力', '標準出力' は、キーボードからの入力, 実行画面への
出力に対応します。 この入出力は、リダイレクトを使って任意ファイル名に
対応させることができます。
progname < inputfile > outputfile
他のファイル (therm.dat, chem.bin, tign.out, save.bin, skcn???.csv,
sXXXX???.csv) はプログラム内でファイル名を指定していますので、
ソースコードを変更しない限り、変更できません。
以下に各ファイルの概要を示します。詳細は
入力ファイルの書式 を参照して下さい。
chem.inp
CHEMKIN Interpreter が読み込む、反応機構データの
テキストファイルです。以下にサンプルファイルの一部を示します。
ELEMENTS H O N END SPECIES H2 H O2 O OH HO2 H2O2 H2O N2 END REACTIONS H+O2+M=HO2+M 3.61E17 -0.72 0. H2O/18.6/ H2/2.86/ H+H+M=H2+M 1.0E18 -1.0 0. ...(中略)... H2O2+OH=H2O+HO2 1.0E13 0.0 1800. END最低3つの入力ブロック 'ELMENTS'〜'END', 'SPECIES'〜'END', 'REACTIONS'〜'END' が必要で、それぞれ、反応系に含まれる元素名のリスト, 考慮する化学種のリスト, 考慮する化学反応式のリストです。 上述のように、リダイレクトで任意のファイル名を指定できますので、 通常、H2-O2.sch, CH4-Air.sch などのように、わかりやすい名前に しておきます。
therm.dat
NASA 多項式と呼ばれる熱力学関数表現の14個の係数を並べた、
テキストファイルです。このデータベースにない、化学種を扱う場合は、
自分でこのデータを用意する必要があります。このような場合、通常
therm.dat を編集するのではなく、chem.inp
ファイルから熱力学データを与えます。
chem.out
CHEMKIN Interpreter が chem.inp を解釈した結果が出力される、
テキストファイル。
chem.bin
chem.inp に与えられた、化学種・反応機構と、therm.dat
から抽出した、熱力学データを、senkin が利用するために、バイナリ形式
で保存したもの。
senk.inp
senkin に与える初期条件などを記述したテキストファイル。
以下にサンプルファイルを示します。
SENS CONP PRES 1.0 TEMP 1000. TIME 2.E-4 DELT 1.E-4 REAC H2 2 REAC O2 1 REAC N2 4 END'SENS' は感度解析を行うことを指示するキーワードで、続く 'COMP' は圧力一定の計算条件を指示しています。 'PRES', 'TEMP' は初期圧力, 初期温度を、REAC は初期組成を与えます。'TIME', 'DELT' は計算終了時間, 結果の出力時間間隔を指定します。 chem.inp 同様に任意のファイル名を指定できますので、 わかりやすい名前を付けておきます。
senk.out
senk.inp の解釈結果と計算中の進行状況が出力されます。
tign.out
senk.inp の 'DELT' で指定した時間間隔で、圧力, 温度,
各化学種の濃度が出力されます。出力画面やプリンタに出力した場合に、
読みやすい形式ですが、表計算・グラフ出力アプリケーションで読む場合には、
不便な形式なので、あまり使いません。
A NAME="rest.bin">rest.bin
何らかの理由で、計算が中断された場合に、途中から
再開 (RESTart) するために必要な情報が格納されるバイナリーファイル。
計算が正常に終了した場合にも、大きさ 0 のファイルが残りますが、
削除して構いません。
save.bin
senkin 計算結果が出力されるバイナリーファイル。 senk.inp
の 'DELT' 設定に関係なく、数値積分1ステップごとの、圧力, 温度,
全化学種の濃度が格納されており、SENS (感度計算) を指定した場合は、
同じく、数値積分1ステップごとの、全感度係数行列が格納されています。
sb2c.inp
save.bin から csv ファイルへの変換のオプションを指定する、
テキストファイルです。以下にサンプルを示します。
===== sb2c (sbin2csv.f) Control file ===== [ TIME OUTPUT CONTROL: s ms us atol=# rtol=# mind=# ] us mind=5e-6 atol=1e-15 rtol=.05 [ CONC OUTPUT CONTROL: all selonly none molecules/cc molefrac ] molecules/cc selonly H O OH HO2 H2 O2 [ SENS OUTPUT CONTROL: all none (or species name list) ] H O TEMP時間の出力の単位/頻度、濃度出力の単位/出力する化学種、 感度計算結果の出力の制御を指定します。
sb2c.out
sb2c.inp の入力解釈の結果と、save.bin, chem.bin ファイルの、
ヘッダ情報が出力されます。
skcn???.csv
save.bin 中の数値積分結果の圧力, 温度, 化学種の濃度を含む
.csv 形式のファイル。Windows で Excel などがインストールされていれば、
ファイルをダブルクリックすることで開くことができます。
化学種の数が多くなると、Excel 等で開けなくなるため、"???" = "001",
"002", "003", ... のように、変数50個ずつのファイルに、
分割出力します。
sXXXX.csv
感度係数の要約情報。 ファイル名の "XXXX" の部分は、
従属変数の通番で、番号と従属変数の対応関係は sb2c.out に出力されます。
数値積分が行われた時間範囲の感度係数の絶対値の最大値が大きい化学反応
を順に出力します。
sXXXX???.csv
save.bin 中の感度係数を含む .csv ファイル。多くの場合は、
ある特定の従属変数
(温度または化学種の濃度) に関する感度係数のみが必要なので、従属変数
ごとに、別のファイルに出力されます。ファイル名の "XXXX" の部分は、
従属変数の通番で、番号と従属変数の対応関係は sb2c.out に出力されます。
さらに、反応式の数が多い場合のために、"???" = "000", "001", ...
に反応式50づつに分割したファイルの出力します。
各ファイル内のカラムタイトル 'Siiii' の 'iiii' は考慮された、
化学反応の通番を示します。番号と反応式の対応は、chem.out
に出力されています。
rxnc.inp
rxnc(.exe) の動作を指定する、テキストファイルです。
以下にサンプルを示します。
===== rxnc (rxncntrb.f) Control Input File ===== [ (Time points to be investigated in s) time1, time2, ... ] 2.5e-4 1.78e-4 5e-5 1.e-6 [ (species to be investigated) name1, name2, ... ] H O HO2 [ options (atol, min%, top#, sbin) ] atol=1e-20 min%=0.1 sbin=save.bin反応の寄与を評価する時間・化学種、いくつかのオプションを指定します。
rxnc.out
rxnc(.exe) の出力ファイルです。以下に例を示します。
------ rxncntrb ------------------------------- Calculate contributions of reactions for the : : ヘッダー部 - rxnc.inp の指定内容、SENKIN バイナリの情報 : CHEM BIN file contains 9 species and 20 reactions. ----------------------------------------------- ----- species [H] ----------------------------- (H に関する結果) TIME = 9.8545E-07 (1 マイクロ秒での結果)total = 8.2200E-09( 8.2200E-09) rxn 10 95.69 Fwd OH+H2<=>H2O+H rxn 17 2.76 Rev H+HO2<=>H2+O2 rxn 12 1.56 Fwd O+H2<=>OH+H total = 9.6809E-10( 9.6809E-10) rxn 11 50.30 Rev O+OH<=>O2+H rxn 1 49.70 Fwd H+O2+M<=>HO2+M TIME = 4.9795E-05 (50 マイクロ秒での結果) : : ----------------------------------------------- ----- species [O] ----------------------------- (O に関する結果) TIME = 9.8545E-07 : :