Data and code for: Kick Velocities and Mass Function of Free-Floating Planets from Dynamical Ejection in Hierarchical Three-Body Systems
收藏资源简介:
This repository contains the N-body simulation outputs, post quality-cut summary statistics, and the Python plotting scripts for Figures 1-7. Contents data/├── graph1/ per-run outputs, varying ejected planet mass (m_p) → Figure 1├── graph2/ per-run outputs, varying heavy planet mass (M_J) → Figure 2├── graph3/ per-run outputs, varying ejected planet semi-major axis (a_p) → Figure 3├── graph4_inner/ per-run outputs, varying e_p, inner config (a_p=0.8a_J) → Figure 4├── graph4_outer/ per-run outputs, varying e_p, outer config (a_p=1.2a_J) → Figure 5├── graph5_inner/ per-run outputs, varying e_J, inner config (a_p=0.8a_J) → Figure 6├── graph5_outer/ per-run outputs, varying e_J, outer config (a_p=1.2a_J) → Figure 7└── ejection_statistics_summary.csv post-quality-cut summary statistics code_figures/├── average_plots.py produces Figures 1 and 2└── line_plots.py produces Figures 3, 4, 5, 6, and 7 Requirements Python 3.x with: pandas, numpy, matplotlib Reproducing the figures Run from the top level of the unzipped archive: python3 code_figures/average_plots.py # Figures 1-2 python3 code_figures/line_plots.py # Figures 3-7 Both scripts locate their input CSVs via a relative path built from their own file location (../data/...), so they must be run with the data/ folder in place one level up from code_figures/, matching the layout above. Data description Per-run simulation outputs (data/graph*/*.csv) Each CSV holds one row per simulated three-body run, at fixed simulation parameters (planet masses, semi-major axis, and eccentricity, as encoded in the filename and figure it feeds). seed random seed identifying the run time simulation time at ejection confirmation (yr); NaN if the light planet was not ejected v_inf_km_s asymptotic ejection velocity v_∞ (km/s); NaN if not ejected particle_index index of the ejected body energy_converged energy-convergence diagnostic from the integrator velocity_km_s initial kick velocity when ejection is confirmed (km/s) distance_AU distance at which ejection was recorded (AU) dE_relative relative energy error over the integration t_converged time at which the integrator's convergence criterion was met (yr) r_body1_AU, r_body2_AU separations of the two planets from the host star at the recorded time (AU) Quality cut applied throughout: rows with dE_relative > 1e-6 are excluded as unreliable before any statistic is computed. A run with v_inf_km_s = NaN after this cut is counted as "not ejected." The ejection percentage for each parameter configuration is the fraction of quality-cut rows with a non-NaN v_inf_km_s. Several files are reused across figures at shared parameter values (e.g. the a_p = 0.9 a_J file from graph1/ is reused as the M_J = 10 point in Figure 2, and the graph3/ baseline files at a_p = 0.8 a_J and a_p = 1.2 a_J serve as the e_p = 0.0 / e_J = 0.0 points in Figures 4-7). This repetition is in the file setup plotting script Python files. Summary statistics (data/ejection_statistics_summary.csv) Post quality-cut summary statistics for Figures 1-7, computed from the per-run simulation outputs above. The file is organized in labeled blocks, one per figure, each with its own header row. The columns present depend on the figure. The full set used is: Column Description (leftmost) the swept parameter for that figure (m_p, M_J, a_p, e_p, or e_J, as labeled) Samples Kept number of runs surviving the dE_relative quality cut Ejected Count number of quality-cut runs with a recorded ejection Ejection Pct. Ejected Count / Samples Kept v_inf mean (km/s), v_inf max (km/s) mean and maximum v_∞ among ejected runs t_ej mean (yrs), t_ej max (yrs) mean and maximum ejection time among ejected runs v_kick mean (km/s), v_kick max (km/s) mean and maximum initial kick velocity among ejected runs v_inf > 20 km/s, v_inf > 50 km/s event-level exceedance fraction (Eq. 33), the fraction of ejected runs with v_∞ above the stated threshold; reported for Figures 6-7 only v_inf p99 (km/s), v_inf p99.9 (km/s) 99th and 99.9th percentile of the v_∞ distribution; reported for Figures 6-7 only Figures 6 and 7 correspond to the e_J scans (inner and outer configuration respectively, at a_p = 0.8 a_J and a_p = 1.2 a_J) and provide the F_{>20 km/s} and F_{>50 km/s} values quoted in Section 5.2 of the paper, for e_J = 0.0-0.9 in steps of 0.1. Raw simulation outputs The files in data/ are the post-quality-cut outputs used directly in the analysis and figures. The integration code is available from the corresponding author upon reasonable request.



