De banen van (exo)planeten
Naar aanleiding van een aantal vragen van luisteraar Bas, kijken we in deze ietwat lange aflevering naar hoe planeten rond sterren cirkelen.The mass-period distribution of close-in exoplanets:https://www.aanda.org/articles/aa/full_html/2011/04/aa15774-10/aa15774-10.htmlHalting Planet Migration In The Evacuated Centers Of Protoplanetary Disks:https://iopscience.iop.org/article/10.1086/342370/pdfOrbital migration of the planetary companion of 51 Pegasi to its present location:https://pages.astro.umd.edu/~dcr/reprints/lin_nature380,606.pdfConnecting the dots II: Phase changes in the climate dynamics of tidally locked terrestrial exoplanets:https://arxiv.org/pdf/1508.00419The climate and habitability of planets with eternal day and night sides:https://serious-science.org/the-climate-and-habitability-of-planets-with-eternal-day-and-night-sides-5289import numpy as npimport matplotlib.pyplot as pltimport matplotlib.ticker as tickera = 1.0 # semi-major axis (AU)M2 = 1.0 # mass of the central body# M1: mass of the orbiting body, from 0 to 1M1 = np.linspace(0, 1, 500)# Newton's lawT = np.sqrt(a**3 / (M1 + M2))fig, ax = plt.subplots(figsize=(9, 5.5))fig.patch.set_facecolor("#0d1117")ax.set_facecolor("#0d1117")# Gradient-ish line via a LineCollectionfrom matplotlib.collections import LineCollectionpoints = np.array([M1, T]).T.reshape(-1, 1, 2)segments = np.concatenate([points[:-1], points[1:]], axis=1)norm = plt.Normalize(T.min(), T.max())lc = LineCollection(segments, cmap="cool", norm=norm, linewidth=2.5, zorder=3)lc.set_array(T)ax.add_collection(lc)ax.scatter([0], [np.sqrt(a**3 / M2)], color="#ff6b9d", s=70, zorder=5, label=f"Test-particle limit (M₁→0, T={np.sqrt(a**3/M2):.3f} yr)")T_eq = np.sqrt(a**3 / (M2 + M2))ax.scatter([M2], [T_eq], color="#ffd166", s=70, zorder=5, label=f"Equal masses (M₁=M₂={M2}, T={T_eq:.3f} yr)")for spine in ax.spines.values(): spine.set_edgecolor("#30363d")ax.tick_params(colors="#8b949e", labelsize=10)ax.xaxis.label.set_color("#c9d1d9")ax.yaxis.label.set_color("#c9d1d9")ax.set_xlabel("M₁ — Mass of orbiting body (M☉)", fontsize=12, labelpad=10)ax.set_ylabel("Orbital Period T (years)", fontsize=12, labelpad=10)ax.set_title("Orbital Period vs. Mass of Orbiting Body\n" r"$T = \sqrt{\,a^3\,/\,(M_1+M_2)\,}$" f" [a = {a} AU, M₂ = {M2} M☉]", color="#e6edf3", fontsize=13, pad=14)ax.set_xlim(-0.01, 1.01)ax.set_ylim(T.min() * 0.97, T.max() * 1.03)ax.grid(color="#21262d", linestyle="--", linewidth=0.7, zorder=0)ax.legend(facecolor="#161b22", edgecolor="#30363d", labelcolor="#c9d1d9", fontsize=10, loc="upper right")plt.tight_layout()plt.show()De Zimmerman en Space podcast is gelicenseerd onder een Creative Commons CC0 1.0 licentie.http://creativecommons.org/publicdomain/zero/1.0