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

2020年11月29日

概要

アレニウスの式により、化学反応速度定数を計算するカスタムワークシート関数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のカスタムワークシート関数を使用する方法 を参照して下さい。

'* @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

ソースコードの利用について

本ソースコードは「GPL v3.0(GNU General Public License Version 3.0)」ライセンスで利用可能です。

本ソースコードを私的に利用される方は、本ソースコードが無料で利用できると考えて差し支え御座いません。下記の著作権表示をソースコード内に表示して頂ければ幸いです。

Copyright © 2017 黒い箱の中 All Rights Reserved.(https://kuroihako.com/)

本ホームページのソースコードを利用したソフトウェアを商用利用したり、ホームページ等で一般公開する方は、本ホームページのソフトウェアまたはソースコードに適用されているライセンスをご理解頂いてからご使用ください。同ライセンス以外での利用をご希望の方はお問い合わせフォームよりご連絡下さい。