{
 "gate": {
  "passed": true,
  "criterion": "agreement within a few percent on peak P, rho/rho_0 and U_s",
  "primary_case": "asymmetric (planar_test=2)",
  "worst_deviation_primary_case_percent": 0.03
 },
 "analytic_reference": {
  "P_GPa": 391.397002806,
  "rho_over_rho0": 2.266379823891364,
  "U_s_kms": 16.106872543455857,
  "e_erg_g": 405000000000.0,
  "rho_g_cc": 6.1192255245066836,
  "u_p_kms": 9.0,
  "source": "tillotson_reference.json hugoniot_e_from_zero['18']",
  "independently_re-solved": true,
  "re_solve_agreement": "reproduced to <1e-15 relative by an independent Rankine-Hugoniot + Tillotson brentq solve"
 },
 "provenance": {
  "castro_git_describe": "26.01",
  "amrex_git_describe": "26.01",
  "microphysics_git_describe": "26.01",
  "EOS": "../../../external/Microphysics/EOS/tillotson_ezero",
  "NETWORK": "../../../external/Microphysics/networks/general_null",
  "COMP": "gnu",
  "mpi_ranks": 4,
  "inputs_file": "inputs.1d.planar",
  "executable": "Castro1d.gnu.MPI.ex"
 },
 "run_config": {
  "n_cell": 4096,
  "domain_cm": [
   0.0,
   40000.0
  ],
  "dx_cm": 9.765625,
  "coord_sys": 0,
  "max_level": 0,
  "stop_time_s": 0.01,
  "e_target_erg_g": 100000000.0,
  "riemann_solver": 1,
  "cg_blend": 2,
  "small_dens": 0.0001,
  "small_temp": 1e-08,
  "small_pres": 1e-08
 },
 "cases": {
  "asymmetric": {
   "planar_test": 2,
   "rationale": "One granite slab at the full 18 km/s into a STATIONARY granite slab. Because both bodies are granite the impedances are equal, so the contact surface moves at v_imp/2 = 9 km/s and the SHOCKED STATE (P, rho, e) is identical to the symmetric case -- only the inertial frame differs. This is the preferred measurement case because the unshocked target is at rest, so the lab-frame front speed IS U_s with no frame correction, and the single shock avoids the two-shock collision region at the contact plane.",
   "measurement_window_cm": [
    4282.2265625,
    10609.375
   ],
   "n_cells_averaged": 647,
   "measured": {
    "peak_P_dyncm2": 3915018051488.9585,
    "peak_P_GPa": 391.50180514889587,
    "peak_P_std_GPa": 14.921859521936398,
    "rho_mean_g_cc": 6.117979537222401,
    "rho_over_rho0": 2.2659183471194075,
    "rho_std_g_cc": 0.08708072266830183,
    "e_erg_g": 405131661321.8376,
    "front_speed_lab_kms": 16.103741634208145,
    "U_s_kms": 16.103741634208145,
    "U_s_recovery": "U_s = |v_front_lab| directly (target at rest)",
    "front_fit_R2": 0.9999995667382813,
    "front_fit_max_resid_cm": 5.187972670057206,
    "front_fit_n_points": 10
   },
   "deviation_percent": {
    "peak_P": 0.026776480694665917,
    "rho_over_rho0": -0.02036184610769577,
    "U_s": -0.019438343721062366,
    "e": 0.032508968354959374
   }
  },
  "symmetric": {
   "planar_test": 1,
   "rationale": "Two granite slabs each at v_imp/2 = 9 km/s. The contact plane is at rest, so u_p = 9 km/s exactly by symmetry -- this is the textbook impedance-match configuration. But the unshocked material moves at +u_p, so the measured lab front speed must be corrected: U_s = |v_front_lab| + u_p. Two counter-propagating shocks also leave a larger startup transient at the contact plane, which is why the residual ringing is bigger here.",
   "measurement_window_cm": [
    13276.3671875,
    19609.375
   ],
   "n_cells_averaged": 648,
   "measured": {
    "peak_P_dyncm2": 3905105214693.088,
    "peak_P_GPa": 390.5105214693088,
    "peak_P_std_GPa": 31.29440114856409,
    "rho_mean_g_cc": 6.114502026313906,
    "rho_over_rho0": 2.264630380116261,
    "rho_std_g_cc": 0.19949702280854503,
    "e_erg_g": 403759305132.7996,
    "front_speed_lab_kms": 7.129319544284965,
    "U_s_kms": 16.129319544284964,
    "U_s_recovery": "U_s = |v_front_lab| + u_p (unshocked slab moves at +u_p)",
    "front_fit_R2": 0.9999921803634498,
    "front_fit_max_resid_cm": 11.753705150249516,
    "front_fit_n_points": 10
   },
   "deviation_percent": {
    "peak_P": -0.2264916006857121,
    "rho_over_rho0": -0.07719111142188527,
    "U_s": 0.13936287611731032,
    "e": -0.30634441165441445
   }
  }
 },
 "notes_on_residual_scatter": "The plateau standard deviations (asymmetric 14.9 GPa = 3.8% of 391 GPa; symmetric 31.3 GPa = 8.0%) are post-shock numerical ringing, NOT a bias: the MEANS agree to 0.03% and 0.23% respectively. The ringing comes from the Colella-Glaz two-shock solver iterating on an effective gamma = P/(rho e) + 1 that is only ~1.0002 for near-zero-pressure Tillotson granite, a regime the solver was not designed for. It is larger in the symmetric case because two counter-propagating shocks meet at the contact plane."
}