MathematicaでArrheniusプロットを作る方法

Arrheniusの式は化学反応の活性化エネルギーを求めるために使います.

Arrheniusプロットを使うと,活性化エネルギーは傾きに相当します.

Arrheniusプロットの横軸は温度の逆数になるため,一見わかりづらいです.

そこで,上側の横軸に通常の温度(測定温度)を記入するとわかりやすくなります.

例として,岡島光洋著『理系なら知っておきたい化学の基本ノート 物理化学編』(中経出版) p. 198の例題2を使います.

H2 + I2 = 2HI + 9.0 kJの熱化学方程式で表される反応の反応速度(右向き)
絶対温度T/K 500 600 700 800
反応速度定数k/s-1 0.347 317 4.12×104 1.59×106
コード

R = 8.31*10^-3; (*気体定数[kJ/(mol K)]*)
Temp = {500, 600, 700, 800}; (*温度[K]*)
Data = {0.347, 347, 4.12 10^4, 1.59 10^6}; (*反応速度定数[/s]*)
Tempinv = 1000/Temp;
LogData = Log[Data];
PR = Partition[Riffle[Tempinv, LogData], 2];
Lm = LinearModelFit[PR, x, x];
NormLm = Normal[Lm];
Ea = -NormLm[2]*1/x R (*活性化エネルギー[kJ/mol]*)
Lp = ListPlot[PR, PlotStyle -> Directive[Black, PointSize[Large]], Frame -> True, FrameLabel -> {{"ln(k/s^-1)",""}, {"1000T^-1/K^-1","ln(k/s^-1)"}, FrameTicks -> {{Automatic, None}, {Automatic, {{1000/500, "500"}, {1000/600, "600"}, {1000/700, "700"}, {1000/800, "800"}}}}, FrameStyle -> Directive[Black, 16], PlotLabel -> "Arrhenius Plot"];
PlotLp = Plot[Lm[x], {x, 1, 2.5}, PlotStyle -> Red];
Show[Lp, PlotLp]

結果

上の計算を実行すると,活性化エネルギーは0.169744 kJ/molと求められ,Arrheniusプロットは下のようになります.

f:id:kousuke_Japan:20190301222922p:plain

Arrheniusプロットの例
謝辞

この方法を教えてくださったK.M.先生に感謝します.

*1:本来は[[]]と括弧を2つ重ねる.仕様?で括弧内がリンクになることを避けた