[Excel関数]アレニウスの式により化学反応速度定数を計算するカスタムワークシート関数

2022年3月14日

概要

アレニウスの式により、化学反応速度定数を計算するカスタムワークシート関数ARRHENIUSを作成しました。2つの温度間の反応速度の比を求める場合はARRHENIUSRATIOカスタムワークシート関数をご使用ください。

機能

頻度因子、熱力学温度及び活性化エネルギーより、化学反応速度定数を算出します。活性化エネルギーの単位はジュール/モルまたはジュール/粒子(原子,分子,イオン等)に対応しております。活性化エネルギーの単位がジュール/モルの場合、計算に使用する気体定数は\(8.31446261815324\)です。また、ジュール/粒子の場合、計算に使用するボルツマン定数は\(1.380649×10^{-23}\)です。

計算式

反応速度定数\(k\)の式を下記に示す。

\( \large{ k = A \cdot exp(- \Large{\frac{Ea}{R \cdot T}})} \)

\( A:頻度因子 \)
\( Ea:活性化エネルギー(J/mol) \)
\( R:気体定数(8.31446261815324)(J/K \cdot mol) \)
\( T:熱力学温度(K) \)

または

\( \large{ k = A \cdot exp(- \Large{ \frac{Ea}{K_{B} \cdot T}})} \)

\( A:頻度因子 \)
\( Ea:活性化エネルギー(J/particle) \)
\( K_{B}:ボルツマン定数(1.380649×10^{-23})(J/K) \)
\( T:熱力学温度(K) \)

構文

ARRHENIUS(頻度因子, 絶対温度, 活性化エネルギー, 活性化エネルギー単位 )

引数説明引数の指定既定値
頻度因子頻度因子を指定します。必須(無し)
絶対温度熱力学温度(絶対温度)を指定します。セルシウス度(℃)を使用する場合は、セルシウス度に273.15を加算して下さい。必須(無し)
活性化エネルギー活性化エネルギーを指定します。第4引数を省略した場合、活性化エネルギーの単位はJoule/molです。必須(無し)
活性化エネルギー単位活性化エネルギーの単位を整数で指定します。
 1 : joule/mol(ジュール/モル)
 2:joule/particle(ジュール/粒子(原子,分子,イオン等))
省略可能1

コード

下記のコードを全てコピーし、標準モジュール等に貼り付けて下さい。下記のコード表示欄の右上に「Copy」ボタンがありますのでご使用下さい。なお、標準モジュールが何だか分からない方は、 Excelのカスタムワークシート関数を使用する方法 を参照して下さい。
' [Excel関数]アレニウスの式により化学反応速度定数を計算するカスタムワークシート関数 
' Copyright (c) 2020-2022  黒箱 
' This software is released under the MIT License;. 
' このソフトウェアはMITライセンスの下でリリースされています。 

'* @fn Public Function ARRHENIUS(ByVal A As Double, ByVal T As Double, ByVal Ea As Double, Optional ByVal EaUnits As Long = 0) As Double
'* @brief アレニウスの式より、化学反応速度定数を求めます。
'* @param[in] A 頻度因子を指定します。
'* @param[in] T 熱力学温度(絶対温度)を指定します。セルシウス度(℃)を使用する場合は、セルシウス度に273.15を加算して下さい。
'* @param[in] Ea 'Ea 活性化エネルギーを指定します。第4引数を省略した場合、活性化エネルギーの単位はJoule/molです。
'* @param[in] EaUnits 活性化エネルギーの単位を整数で指定します。1:joule/mol(ジュール/モル), 2:joule/particle(ジュール/粒子(原子,分子,イオン等))
'* @return Double 化学反応速度定数を返します。
'* @details
'*
Public Function ARRHENIUS(ByVal A As Double, ByVal T As Double, ByVal Ea As Double, Optional ByVal EaUnits As Long = 0) As Variant
Const R As Double = 8.31446261815324 '気体定数
Const KB As Double = 1.380649 * 10 ^ (-23) 'ボルツマン定数

    Dim c As Double
    
    Select Case (EaUnits)
    Case 1: c = R
    Case 2: c = KB
    Case Else
        ARRHENIUS = CVErr(2036) '#NUM!
        Exit Function
    End Select
    
    ARRHENIUS = A * Exp(-(Ea / (c * T)))
    
End Function

プログラムの利用について

本プログラムのライセンスは「The MIT License」を適用しています。

本プログラムは無償で利用できますが、本プログラム内の著作権表示及びライセンス表示は削除せずに表示しておいて下さい。

必須ではございませんが、本ホームページのプログラムを書籍またはホームページ等で一般公開したい方は、お問い合わせフォームよりご連絡頂けると幸いです。

スポンサーリンク