1. クラスライブラリ
KUCRS の核となるクラスライブラリは、炭化水素の気相化学反応の
現存する(または将来得られる) 経験則、傾向や知識を実装する場合に容易で
かつ理解しやすい手法をユーザに提供するために開発されたものです。
(a)![]() |
== |
(b)![]() |
(c) ![]() |
== |
(d) ![]() |
(e) ![]() |
== |
(f) ![]() |
図 1 |
多くのクラスの中で最も有用なクラスライブラリの一つは、'molecule'
と呼ばれるクラスです。このクラスは、反応機構を生成する上で必要とされる
単一分子の性質 (例えば、熱力学的性質) の殆どすべてを持っています。
このクラスのオブジェクトは、自分自身の同一性を適切に認識します。
図 1 (a) に示すアルカン分子は、形式的に異なる (b) という形で書き表わす
こともできます。'molecule' のオブジェクトは 'beUnique' メンバ関数の呼出
によって、自分自身をユニークな形式 [この場合は、(a)] に変換することが
でき、従って、(a) と (b) が等価であることをオーバライドされた
不注意な作業は、同じ化学種に対する多くの '別名' に陥りがち ですが、この 'molecule' クラスの特性は反応機構の生成を助け、 ユーザはより本質的な作業に集中することができます。
'=='
演算子を使って認識することができます。
このオブジェクトは、さらに、'共鳴安定化' ラジカルの局在構造を適切に
認識することができます。(例えば、(c) と (d), (e) と (f))不注意な作業は、同じ化学種に対する多くの '別名' に陥りがち ですが、この 'molecule' クラスの特性は反応機構の生成を助け、 ユーザはより本質的な作業に集中することができます。
クラスライブラリはまた、'specAdmin' と呼ばれる管理クラスを
含んでいます。そのオブジェクトはライブラリから読み込まれた分子と
プログラム中で生成された分子を管理していて、同じ化学種に別名を与える
ことを回避し、また同じ名前を異なった化学種に与えることを回避します。
2. 自動生成プログラム
'combust' と呼ばれるプログラムは、燃料の化学構造を与えることで
燃焼の反応機構を生成します。自動生成コードは 'reaction' という名前の
クラスに実装されています。多くの典型的な反応については、反応速度定数の
マクロ定義を外部ファイルから読み込むため、ユーザはコードを修正したり
再コンパイルする必要はありません。しかし、新たなタイプの反応や、新たな
反応速度の推定方法を実装する場合には、ユーザはソースコードを
修正しなければなりません。
自動生成プログラムは CHEMKIN 入力形式 にフォーマットされたファイルを生成します。
自動生成プログラムは CHEMKIN 入力形式 にフォーマットされたファイルを生成します。
3. システム要件
KUCRS 本体は ANSI C++ 言語, 熱力学データ処理の一部は
ANSI C と FORTRAN で書かれています.
テキストベースのプログラム であるため,
多くのプラットフォーム上で動作させることが可能です.