In [ ]:
%matplotlib inline
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
from rmgpy.kinetics.arrhenius import Arrhenius
In [ ]:
kunits = 'cm^3/(mol*s)'
kinetics = [
Arrhenius(A=(135.117,'cm^3/(mol*s)'), n=3.12105, Ea=(18.9195,'kJ/mol'), T0=(1,'K')),
Arrhenius(A=(0.002572,'m^3/(mol*s)'), n=2.8, Ea=(35.9824,'kJ/mol'), T0=(1,'K')),
Arrhenius(A=(0.24316,'m^3/(mol*s)'), n=1.88825, Ea=(38.3506,'kJ/mol'), T0=(1,'K')),
Arrhenius(A=(21.7459,'m^3/(mol*s)'), n=1.28863, Ea=(15.1011,'kJ/mol'), T0=(1,'K')),
Arrhenius(A=(183858,'m^3/(mol*s)'), n=-0.222744, Ea=(-5.78017,'kJ/mol'), T0=(1,'K'), Tmin=(303.03,'K'), Tmax=(2000,'K')),
Arrhenius(A=(0.002572,'m^3/(mol*s)'), n=2.8, Ea=(35.9824,'kJ/mol'), T0=(1,'K')),
Arrhenius(A=(18240,'cm^3/(mol*s)'), n=2.41, Ea=(-3.26352,'kJ/mol'), T0=(1,'K'), Tmin=(300,'K'), Tmax=(1500,'K')),
Arrhenius(A=(21.7459,'m^3/(mol*s)'), n=1.28863, Ea=(15.1011,'kJ/mol'), T0=(1,'K')),
Arrhenius(A=(0.00841114,'m^3/(mol*s)'), n=2.41, Ea=(6.25508,'kJ/mol'), T0=(1,'K')),
Arrhenius(A=(111400,'cm^3/(mol*s)'), n=2.41, Ea=(-14.9787,'kJ/mol'), T0=(1,'K'), Tmin=(300,'K'), Tmax=(1500,'K')),
Arrhenius(A=(32200,'cm^3/(mol*s)'), n=2.41, Ea=(-9.45584,'kJ/mol'), T0=(1,'K'), Tmin=(300,'K'), Tmax=(1500,'K')),
Arrhenius(A=(0.0513852,'m^3/(mol*s)'), n=2.41, Ea=(-5.41828,'kJ/mol'), T0=(1,'K')),
Arrhenius(A=(0.0148569,'m^3/(mol*s)'), n=2.41, Ea=(0.1046,'kJ/mol'), T0=(1,'K')),
]
labels = ['B3LYP/6-311+g(d,p)'] + ['RMG - ' + str(i+1) for i in range(12)]
style = ['-'] + ['--'] * 12
In [ ]:
kunits = 'cm^3/(mol*s)'
kinetics = [
Arrhenius(A=(2e+12,'cm^3/(mol*s)'), n=0, Ea=(4.3,'kcal/mol'), T0=(1,'K')),
Arrhenius(A=(3.981e+11,'cm^3/(mol*s)'), n=0, Ea=(4,'kcal/mol'), T0=(1,'K')),
Arrhenius(A=(9.5499e+11,'cm^3/(mol*s)'), n=0, Ea=(4.308,'kcal/mol'), T0=(1,'K')),
Arrhenius(A=(446.77,'cm^3/(mol*s)'), n=3.12591, Ea=(18.3967,'kJ/mol'), T0=(1,'K')),
Arrhenius(A=(347.73,'cm^3/(mol*s)'), n=3.13236, Ea=(6.99686,'kJ/mol'), T0=(1,'K')),
Arrhenius(A=(0.364739,'m^3/(mol*s)'), n=1.88825, Ea=(38.3506,'kJ/mol'), T0=(1,'K')),
]
labels = [
'Ritter et al.',
'Fahr & Stein',
'Park et al.',
'uCCSD(T)/cc-pVDZ (Comandini)',
'CBS-QB3',
'RMG',
]
style = ['-'] * 6
In [ ]:
kunits = 'cm^3/(mol*s)'
kinetics = [
# Arrhenius(A=(446.77,'cm^3/(mol*s)'), n=3.12591, Ea=(18.3967,'kJ/mol'), T0=(1,'K')),
Arrhenius(A=(514.228,'cm^3/(mol*s)'), n=3.12328, Ea=(26.3572,'kJ/mol'), T0=(1,'K')),
Arrhenius(A=(135.117,'cm^3/(mol*s)'), n=3.12105, Ea=(18.9195,'kJ/mol'), T0=(1,'K')),
]
labels = [
# 'Benzene, uCCSD(T)/cc-pVDZ',
'Benzene, uB3LYP/6-311+G(d,p)',
'Naphthalene, uB3LYP/6-311+G(d,p)'
]
style = ['-', '-']
In [ ]:
kunits = 's^-1'
kinetics = [
Arrhenius(A=(1.1e+13,'s^-1'), n=0, Ea=(23.55,'kcal/mol'), T0=(1,'K')),
Arrhenius(A=(5.36319e+08,'s^-1'), n=1.27702, Ea=(118.685,'kJ/mol'), T0=(1,'K')),
Arrhenius(A=(0.827841,'s^-1'), n=4.75159, Ea=(107.047,'kJ/mol'), T0=(1,'K')),
Arrhenius(A=(2.85359,'s^-1'), n=4.60216, Ea=(93.3951,'kJ/mol'), T0=(1,'K')),
]
labels = [
'Ritter et al.',
'uCCSD(T)/cc-pVDZ (Comandini)',
'RMG - 1',
'RMG - 2',
]
style = ['-', '-', '--', '--']
In [ ]:
kunits = 'cm^3/(mol*s)'
kinetics = [
Arrhenius(A=(4.1e+13,'cm^3/(mol*s)'), n=0, Ea=(36.733,'kJ/mol'), T0=(1,'K')),
Arrhenius(A=(2.0e+13,'cm^3/(mol*s)'), n=0, Ea=(4,'kcal/mol'), T0=(1,'K')),
Arrhenius(A=(6.11295e+07,'cm^3/(mol*s)'), n=1.80616, Ea=(47.505,'kJ/mol'), T0=(1,'K')),
Arrhenius(A=(6.44943e+07,'cm^3/(mol*s)'), n=1.79818, Ea=(30.4253,'kJ/mol'), T0=(1,'K')),
Arrhenius(A=(77.7482,'m^3/(mol*s)'), n=1.78943, Ea=(23.2749,'kJ/mol'), T0=(1,'K')),
]
labels = [
'Manion and Tsang',
'Ritter et al.',
'uCCSD(T)/cc-pVDZ (Comandini)',
'CBS-QB3',
'RMG',
]
style = ['-'] * 5
In [ ]:
pressure = 1e5 # Pa
temperature = np.linspace(298, 2000, 20)
In [ ]:
plt.style.use('seaborn-talk')
fig = plt.figure()
for i, rate in enumerate(kinetics):
# Evaluate kinetics
k = []
for t in temperature:
if kunits == 'cm^3/(mol*s)':
k.append(1e6 * rate.getRateCoefficient(t, pressure))
else:
k.append(rate.getRateCoefficient(t, pressure))
x = 1000 / temperature
plt.semilogy(x, k, style[i])
plt.xlabel('1000/T (K)')
plt.ylabel('k (' + kunits + ')')
plt.legend(labels, loc=3)
plt.savefig('arrhenius_plot.pdf', bbox_inches="tight", pad_inches=0)
In [ ]: