.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "api/gallery/plasma/mhd/plot_04_petschek_reconnection.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_plasma_mhd_plot_04_petschek_reconnection.py: Petschek vs. Sweet-Parker reconnection =========================================== Harry Petschek (1964) proposed a resolution to the Sweet-Parker rate problem (:doc:`plot_02_sweet_parker_reconnection`): if the resistive diffusion region shrinks to a small X-point rather than extending the full length of the current sheet, four standing slow-mode shocks radiating from that X-point can carry away most of the inflowing magnetic flux and energy. The resulting reconnection rate falls only *logarithmically* with the Lundquist number, :math:`v_{in}/v_A\approx\pi/(8\ln S)`, fast enough to plausibly explain solar flare and magnetospheric substorm energy-release timescales that Sweet-Parker reconnection could not. :func:`~physicskit.plasma.mhd.petschek_rate` -- compare directly against :func:`~physicskit.plasma.mhd.sweet_parker_rate` at the same Lundquist number to see the difference explode as :math:`S` grows. .. GENERATED FROM PYTHON SOURCE LINES 22-27 .. code-block:: Python import matplotlib.pyplot as plt import numpy as np import physicskit as pk .. GENERATED FROM PYTHON SOURCE LINES 28-33 Compare the two reconnection rates across the same S range ------------------------------------------------------------------ From laboratory to solar-flare-scale Lundquist numbers, Sweet-Parker's S^(-1/2) collapses toward zero while Petschek's logarithmic pi/(8 ln S) stays observationally plausible. .. GENERATED FROM PYTHON SOURCE LINES 33-47 .. code-block:: Python S_vals = np.logspace(4, 14, 50) sp_rate = np.array([pk.plasma.sweet_parker_rate(S) for S in S_vals]) pet_rate = np.array([pk.plasma.petschek_rate(S) for S in S_vals]) fig, axes = plt.subplots(1, 2, figsize=(10, 4)) axes[0].loglog(S_vals, sp_rate, label=r"Sweet-Parker $S^{-1/2}$") axes[0].loglog(S_vals, pet_rate, label=r"Petschek $\pi/(8\ln S)$") axes[0].axvline(1e12, color="gray", linestyle="--", linewidth=0.8, label="solar flare S") axes[0].set_xlabel("Lundquist number S") axes[0].set_ylabel(r"reconnection rate $v_{in}/v_A$") axes[0].set_title("Petschek's logarithmic rate vs. Sweet-Parker's S^(-1/2)") axes[0].legend() .. image-sg:: /api/gallery/plasma/mhd/images/sphx_glr_plot_04_petschek_reconnection_001.png :alt: Petschek's logarithmic rate vs. Sweet-Parker's S^(-1/2) :srcset: /api/gallery/plasma/mhd/images/sphx_glr_plot_04_petschek_reconnection_001.png :class: sphx-glr-single-img .. rst-class:: sphx-glr-script-out .. code-block:: none .. GENERATED FROM PYTHON SOURCE LINES 48-54 How far apart the two predictions actually are ------------------------------------------------------------------------ Overlaid on a log-log rate axis, the two curves' separation is easy to underestimate; plotting their ratio directly shows Petschek's rate pulling ahead by many orders of magnitude precisely where it matters -- solar-flare-scale Lundquist numbers. .. GENERATED FROM PYTHON SOURCE LINES 54-67 .. code-block:: Python ratio = pet_rate / sp_rate axes[1].semilogy(S_vals, ratio, color="darkorange") axes[1].axvline(1e12, color="gray", linestyle="--", linewidth=0.8) s_flare_idx = np.argmin(np.abs(S_vals - 1e12)) axes[1].annotate(f"{ratio[s_flare_idx]:.0e}x at solar-flare S", (S_vals[s_flare_idx], ratio[s_flare_idx])) axes[1].set_xscale("log") axes[1].set_xlabel("Lundquist number S") axes[1].set_ylabel(r"Petschek rate / Sweet-Parker rate") axes[1].set_title("The reconnection-rate gap, made explicit") fig.tight_layout() plt.show() .. rst-class:: sphx-glr-timing **Total running time of the script:** (0 minutes 0.136 seconds) .. _sphx_glr_download_api_gallery_plasma_mhd_plot_04_petschek_reconnection.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_04_petschek_reconnection.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: plot_04_petschek_reconnection.py ` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: plot_04_petschek_reconnection.zip ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_