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 [ ]: