.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "api/gallery/surface/catalysis/plot_03_sabatier_hydrogenation.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note :ref:`Go to the end ` to download the full example code. .. rst-class:: sphx-glr-example-title .. _sphx_glr_api_gallery_surface_catalysis_plot_03_sabatier_hydrogenation.py: Sabatier and Senderens: catalytic hydrogenation over finely divided nickel ============================================================================ Sabatier and Senderens showed from 1897 that finely divided nickel hydrogenates ethylene (:math:`C_2H_4 + H_2 \to C_2H_6`) at temperatures where the gas-phase reaction does not run at all. This example uses illustrative Arrhenius parameters and :func:`~chemistrykit.surface.systems.catalysis.compare_catalyzed_rate` to compute the conversion reached in a one-second contact time as the temperature rises. Over nickel the reaction lights off hundreds of kelvin earlier. A second panel shows Sabatier's rule of thumb from screening many metals: a metal that binds the reactant too weakly holds almost none of it on the surface, and one that binds it too strongly leaves no free sites. Only a moderate binder has both. .. GENERATED FROM PYTHON SOURCE LINES 19-37 .. code-block:: Python import matplotlib.pyplot as plt import numpy as np from chemistrykit.surface.systems.catalysis import compare_catalyzed_rate from chemistrykit.surface.systems.langmuir import langmuir_coverage tau = 1.0 # contact time, s T = np.linspace(250.0, 900.0, 400) comparisons = [compare_catalyzed_rate(Ea_uncatalyzed=180e3, Ea_catalyzed=45e3, T=Ti, A_uncatalyzed=1e13, A_catalyzed=1e7) for Ti in T] X_uncat = 1.0 - np.exp(-np.array([c.k_uncatalyzed for c in comparisons]) * tau) X_ni = 1.0 - np.exp(-np.array([c.k_catalyzed for c in comparisons]) * tau) T_half_ni = T[np.searchsorted(X_ni, 0.5)] T_half_gas = T[np.searchsorted(X_uncat, 0.5)] print(f"50% conversion over Ni at ~{T_half_ni:.0f} K") print(f"50% conversion in gas phase ~{T_half_gas:.0f} K") print(f"Nickel lowers the working temperature by ~{T_half_gas - T_half_ni:.0f} K") .. rst-class:: sphx-glr-script-out .. code-block:: none 50% conversion over Ni at ~330 K 50% conversion in gas phase ~716 K Nickel lowers the working temperature by ~386 K .. GENERATED FROM PYTHON SOURCE LINES 38-40 Sabatier's rule: surface coverage of the reactant (Langmuir) for three hypothetical metals at the same pressure. .. GENERATED FROM PYTHON SOURCE LINES 40-46 .. code-block:: Python P = 1.0 metals = {"weak binder": 0.02, "nickel-like": 1.0, "strong binder": 50.0} theta = {name: langmuir_coverage(K, P) for name, K in metals.items()} for name, th in theta.items(): print(f"{name:14s} reactant coverage {th:.3f}, free sites {1 - th:.3f}") .. rst-class:: sphx-glr-script-out .. code-block:: none weak binder reactant coverage 0.020, free sites 0.980 nickel-like reactant coverage 0.500, free sites 0.500 strong binder reactant coverage 0.980, free sites 0.020 .. GENERATED FROM PYTHON SOURCE LINES 47-65 .. code-block:: Python fig, axes = plt.subplots(1, 2, figsize=(11, 4)) axes[0].plot(T, X_uncat, label="gas phase, no catalyst") axes[0].plot(T, X_ni, label="over finely divided Ni") axes[0].set_xlabel("temperature (K)") axes[0].set_ylabel("conversion of ethylene in 1 s") axes[0].set_title("Catalytic hydrogenation lights off far earlier") axes[0].legend() names = list(metals) x = np.arange(len(names)) axes[1].bar(x - 0.2, [theta[n] for n in names], width=0.4, label="covered by reactant") axes[1].bar(x + 0.2, [1 - theta[n] for n in names], width=0.4, label="free sites") axes[1].set_xticks(x, names) axes[1].set_ylabel("fraction of surface sites") axes[1].set_title("Sabatier's rule: bind neither too weakly nor too strongly") axes[1].legend() plt.tight_layout() plt.show() .. image-sg:: /api/gallery/surface/catalysis/images/sphx_glr_plot_03_sabatier_hydrogenation_001.png :alt: Catalytic hydrogenation lights off far earlier, Sabatier's rule: bind neither too weakly nor too strongly :srcset: /api/gallery/surface/catalysis/images/sphx_glr_plot_03_sabatier_hydrogenation_001.png :class: sphx-glr-single-img .. rst-class:: sphx-glr-timing **Total running time of the script:** (0 minutes 0.073 seconds) .. _sphx_glr_download_api_gallery_surface_catalysis_plot_03_sabatier_hydrogenation.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_03_sabatier_hydrogenation.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: plot_03_sabatier_hydrogenation.py ` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: plot_03_sabatier_hydrogenation.zip ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_