arrhenius_plot プログラム仕様

アレニウスプロット解析ツール

概要: このスクリプトは、温度依存性データ(P vs T)をアレニウスプロットに変換し、活性化エネルギーなどの物理量を解析します。 指定されたモデル(例: シンプルアレニウス、パーコレーションなど)に基づいて多項式フィッティングを行い、 結果をプロットしてExcelファイルに保存します。

詳細説明: 入力ファイルから温度と特性値のデータを読み込み、ユーザーが指定したデータ形式(T(K), T(C), 1/T, 1000/T, P, log10(P), log_e(P))に変換します。 フィッティング範囲を指定してデータを抽出し、1次以上の多項式フィッティング(通常は1000/Tに対するlog10(P))を実行します。 フィッティング結果から、プレファクターP0、活性化エネルギーEa、およびモデルによってはその分布の標準偏差σ_phiなどを算出します。 計算されたデータとフィッティングカーブを複数のグラフに表示し、イベントハンドラでインタラクティブな操作を可能にします。 すべての結果はログファイルとExcelファイルに出力されます。

関連リンク: アレニウスプロットによる活性化エネルギー解析ツール

regression.arrhenius_plot.execute(app)[ソース]

アレニウスプロット解析の主要な処理を実行します。

概要: 入力データの読み込み、データ変換、指定範囲でのフィッティング、結果計算、Excelファイルへの出力、およびグラフ描画を行います。

詳細説明: 1. ログファイル、出力ファイル、フィッティング結果ファイルのパスを設定し、標準出力をログファイルにリダイレクトします。 2. コマンドライン引数で受け取った数値パラメータ(xmin, xmax, Tmin, Tmax)を浮動小数点数に変換します。 3. 指定された入力ファイルからデータを読み込み、TtypePtype の設定に従ってデータ(TとP)を変換します。

例えば、Ttype='1000/T' であれば1000/Tの形式に変換し、Ptype='log10(P)' であればlog10(P)の形式に変換します。

  1. xmin, xmax, Tmin, Tmax の範囲内でフィッティング対象のデータ点を選別します。

  2. model パラメータに応じて多項式の次数(1次から4次)を決定し、numpy.polyfit を用いて最小二乗フィッティングを実行します。

  3. フィッティングの結果得られた多項式係数から、P0、活性化エネルギーEa、および2次以上のモデルの場合にはσ_phiを計算し出力します。

  4. tkFit を使用して、元のデータとフィッティング結果の間のスコア(RMSDなど)を計算し表示します。

  5. Tcalmin から Tcalmax までの範囲で、フィッティング結果に基づいてP(cal)、log10(P)(cal)、およびEa(T)を計算します。

  6. 元のデータ、変換されたデータ、フィッティング結果、計算されたデータを含む結果をExcelファイルに出力します。

  7. Matplotlibを用いて、以下の4つのプロットを含む図を作成し表示します。 - 元のX-Yプロット - T-Pプロットとフィッティングカーブ - アレニウスプロット (1000/T vs log10(P)) とフィッティングカーブ - 1000/Tに対する活性化エネルギーEaのプロット

  8. tkPlotEvent を使用して、プロットにマウスイベントハンドラを登録します。

  9. プログラムを一時停止し、ユーザーの終了待ち状態にします。

パラメータ:

app (tkApplication) -- アプリケーションインスタンス。

戻り値:

なし

戻り値の型:

None

regression.arrhenius_plot.initialize(app)[ソース]

アプリケーションの初期パラメータを設定します。

概要: tkParams オブジェクトを初期化し、解析に必要な各種設定値のデフォルト値を設定します。

詳細説明: 入力ファイル名、解析モデル、データラベル、データタイプ、フィッティングおよび計算の範囲、 プロットの図サイズとフォントサイズなどのデフォルト値を設定し、アプリケーションの cparams 属性に格納します。

パラメータ:

app (tkApplication) -- アプリケーションインスタンス。

戻り値:

なし

戻り値の型:

None

regression.arrhenius_plot.main()[ソース]

アプリケーションのエントリポイントです。

概要: tkApplication インスタンスを生成し、初期化、パラメータ更新、メイン処理の実行を行います。

詳細説明: プログラムの実行フローを管理し、initialize 関数でデフォルトパラメータを設定し、 update_vars 関数でコマンドライン引数からパラメータを更新し、 execute 関数でアレニウスプロット解析の主要なタスクを実行します。

戻り値:

なし

戻り値の型:

None

regression.arrhenius_plot.update_vars(app)[ソース]

コマンドライン引数に基づいてアプリケーションのパラメータを更新します。

概要: コマンドライン引数パーサーに引数を登録し、実際にコマンドラインから与えられた値でパラメータを更新します。

詳細説明: 入力ファイル名、解析モデル、T軸・P軸のデータラベル、T軸・P軸のデータタイプ、 フィッティングのX軸・T軸範囲、計算のT軸範囲、プロットのサイズなどの引数を app.add_argument を用いて定義します。 その後、app.read_args でこれらの引数を解析し、エラーが発生した場合はプログラムを終了します。

パラメータ:

app (tkApplication) -- アプリケーションインスタンス。

戻り値:

なし

戻り値の型:

None