{
  "equations": "Huang et al.2026 Eqs15-16, M=0, no vertical chemical diffusion, fixed inlet melt flux and undersaturation, upper pressure derivative zero",
  "parameters": {
    "Da": 100,
    "Pe": 100,
    "n": 3,
    "m": 0,
    "S": [
      1,
      0.001
    ]
  },
  "method": "Chebyshev-Lobatto collocation, pressure/chemistry solved with boundary rows then eliminated; SciPy dense eigensolver for porosity evolution. Peak searched over declared verified ranges, not proof of global spectral completeness.",
  "residual_definition": "Three ODE residuals evaluated on 503 off-grid points; pressure and chemistry divided by sums of term scales bounded below by1. Boundary conditions checked directly.",
  "benchmarks": [
    {
      "S": 1,
      "k": 10.1,
      "degree": 32,
      "sigma_real": 2.8895237884876472,
      "sigma_imag": 0.0,
      "residuals": {
        "porosity": 1.7319479184152442e-14,
        "pressure_relative": 6.228318983484717e-05,
        "chemistry_relative": 6.082374611087227e-08,
        "boundary_max": 1.0408340855860843e-14
      }
    },
    {
      "S": 1,
      "k": 10.1,
      "degree": 48,
      "sigma_real": 2.889523887493559,
      "sigma_imag": 0.0,
      "residuals": {
        "porosity": 7.549516567451064e-15,
        "pressure_relative": 1.0025642107563756e-09,
        "chemistry_relative": 6.558832358854758e-13,
        "boundary_max": 2.693678613496786e-14
      }
    },
    {
      "S": 1,
      "k": 10.1,
      "degree": 64,
      "sigma_real": 2.889523887494287,
      "sigma_imag": 0.0,
      "residuals": {
        "porosity": 1.2878587085651816e-14,
        "pressure_relative": 1.2391834428379657e-10,
        "chemistry_relative": 5.774476171416773e-14,
        "boundary_max": 3.520100877452137e-13
      }
    },
    {
      "S": 1,
      "k": 10.1,
      "degree": 96,
      "sigma_real": 2.8895238874940583,
      "sigma_imag": 0.0,
      "residuals": {
        "porosity": 1.687538997430238e-14,
        "pressure_relative": 4.985506350170269e-10,
        "chemistry_relative": 1.8093719885620673e-13,
        "boundary_max": 9.535844336383548e-13
      }
    },
    {
      "S": 0.001,
      "k": 25.6,
      "degree": 32,
      "sigma_real": 1.244034763410856,
      "sigma_imag": 58.46843804412184,
      "residuals": {
        "porosity": 2.693110500913087e-13,
        "pressure_relative": 2.045528927658868e-07,
        "chemistry_relative": 1.8328550446504214e-06,
        "boundary_max": 1.2890334105063235e-11
      }
    },
    {
      "S": 0.001,
      "k": 25.6,
      "degree": 48,
      "sigma_real": 1.2440347648880246,
      "sigma_imag": 58.4684380457229,
      "residuals": {
        "porosity": 3.115112552491833e-13,
        "pressure_relative": 4.807422797859306e-12,
        "chemistry_relative": 4.2782268482775076e-11,
        "boundary_max": 1.1778961804168353e-10
      }
    },
    {
      "S": 0.001,
      "k": 25.6,
      "degree": 64,
      "sigma_real": 1.244034764888056,
      "sigma_imag": 58.46843804572282,
      "residuals": {
        "porosity": 2.7731097206102104e-13,
        "pressure_relative": 2.5079756051445528e-12,
        "chemistry_relative": 1.46657585828887e-14,
        "boundary_max": 5.0344980943304805e-11
      }
    },
    {
      "S": 0.001,
      "k": 25.6,
      "degree": 96,
      "sigma_real": 1.2440347648881362,
      "sigma_imag": 58.46843804572298,
      "residuals": {
        "porosity": 2.2638000807251458e-13,
        "pressure_relative": 1.4106995798084866e-11,
        "chemistry_relative": 9.443329404273703e-14,
        "boundary_max": 4.482089925001166e-10
      }
    }
  ],
  "peaks": [
    {
      "S": 1,
      "degree": 64,
      "k": 10.109386799113702,
      "wavelength_over_H": 0.621519923219323,
      "sigma_real": 2.8895240062560816,
      "sigma_imag": 0.0,
      "residuals": {
        "porosity": 1.2878587085651816e-14,
        "pressure_relative": 3.567828450498326e-11,
        "chemistry_relative": 3.96889120361848e-14,
        "boundary_max": 1.487837630875788e-13
      }
    },
    {
      "S": 1,
      "degree": 96,
      "k": 10.109383599449139,
      "wavelength_over_H": 0.6215201199331241,
      "sigma_real": 2.889524006255939,
      "sigma_imag": 0.0,
      "residuals": {
        "porosity": 1.8207657603852567e-14,
        "pressure_relative": 5.115144886139138e-10,
        "chemistry_relative": 2.4189466181352527e-13,
        "boundary_max": 1.2004425231637583e-12
      }
    },
    {
      "S": 0.001,
      "degree": 64,
      "k": 25.860035335314535,
      "wavelength_over_H": 0.24296893742443001,
      "sigma_real": 1.244110346556563,
      "sigma_imag": 57.89365420070388,
      "residuals": {
        "porosity": 3.1916015592585906e-13,
        "pressure_relative": 3.0391238100938187e-12,
        "chemistry_relative": 1.6502048035411177e-14,
        "boundary_max": 6.897466383751474e-11
      }
    },
    {
      "S": 0.001,
      "degree": 96,
      "k": 25.860034228098282,
      "wavelength_over_H": 0.24296894782732253,
      "sigma_real": 1.2441103465565249,
      "sigma_imag": 57.89365662396802,
      "residuals": {
        "porosity": 5.335506801370502e-13,
        "pressure_relative": 8.82710175272137e-12,
        "chemistry_relative": 6.35162558468437e-14,
        "boundary_max": 2.706045865702446e-10
      }
    }
  ],
  "published_comparison": [
    {
      "S": 1,
      "paper_k_approx": 10.1,
      "paper_growth_approx": 2.89,
      "growth_at_paper_k": 2.8895238874940583,
      "optimized_k": 10.109383599449139,
      "relative_k_difference": 0.0009290692523900024,
      "note": "Wave peak differs by about1%; numerical resolution checks pass, cause of discrepancy not established. No claim of exact reproduction of the reported optimum."
    },
    {
      "S": 0.001,
      "paper_k_approx": 25.6,
      "paper_growth_approx": 1.244,
      "growth_at_paper_k": 1.2440347648881362,
      "optimized_k": 25.860034228098282,
      "relative_k_difference": 0.010157587035089177,
      "note": "Wave peak differs by about1%; numerical resolution checks pass, cause of discrepancy not established. No claim of exact reproduction of the reported optimum."
    }
  ],
  "controls": [
    {
      "S": 1,
      "k": 10.1,
      "m_shift_error": 5.773159728050814e-15,
      "n_scaling_error": 4.729550084903167e-14,
      "n_zero_max_matrix": 0.0
    },
    {
      "S": 0.001,
      "k": 25.6,
      "m_shift_error": 8.582937747229195e-14,
      "n_scaling_error": 2.4189871897125243e-14,
      "n_zero_max_matrix": 0.0
    }
  ],
  "rejected_spurious_examples": [
    {
      "S": 1,
      "k": 1,
      "degree": 64,
      "discrete_eigenvalue_real": 1.5310008528181476,
      "residuals": {
        "porosity": 1.2878587085651816e-14,
        "pressure_relative": 0.4054116835080362,
        "chemistry_relative": 0.9390333225550062,
        "boundary_max": 2.7711166694643907e-12
      },
      "reason": "Unresolved spurious mode; excluded from published curves, not evidence of instability."
    },
    {
      "S": 0.001,
      "k": 5,
      "degree": 64,
      "discrete_eigenvalue_real": 0.039643635601282,
      "residuals": {
        "porosity": 5.049849427507525e-13,
        "pressure_relative": 0.20223284130214936,
        "chemistry_relative": 0.8405761848225719,
        "boundary_max": 7.571543392259628e-11
      },
      "reason": "Unresolved spurious mode; excluded from published curves, not evidence of instability."
    }
  ],
  "experiment": {
    "source": "Pec et al.2017 Table1",
    "source_sha256": "19550fb3947a8ad0517b1f6198b3caa26f476b9aa696e90d18000197c9be4fb0",
    "rows": [
      {
        "experiment": "899",
        "temperature_C": 1200.0,
        "duration_s": 17986.0,
        "initial_melt_fraction": 0.2,
        "length_mm": 4.18,
        "pressure_gradient_MPa_per_mm": 72.0,
        "reaction_layer_melt_fraction": 0.4,
        "channels": "Yes"
      },
      {
        "experiment": "1872",
        "temperature_C": 1200.0,
        "duration_s": 8966.0,
        "initial_melt_fraction": 0.2,
        "length_mm": 3.6,
        "pressure_gradient_MPa_per_mm": 0.0,
        "reaction_layer_melt_fraction": 0.42,
        "channels": "No"
      },
      {
        "experiment": "901",
        "temperature_C": 1200.0,
        "duration_s": 1736.0,
        "initial_melt_fraction": 0.2,
        "length_mm": 4.34,
        "pressure_gradient_MPa_per_mm": 69.0,
        "reaction_layer_melt_fraction": 0.3,
        "channels": "Yes"
      },
      {
        "experiment": "902",
        "temperature_C": 1200.0,
        "duration_s": 1511.0,
        "initial_melt_fraction": 0.2,
        "length_mm": 3.87,
        "pressure_gradient_MPa_per_mm": 77.0,
        "reaction_layer_melt_fraction": 0.28,
        "channels": "Yes"
      },
      {
        "experiment": "961",
        "temperature_C": 1200.0,
        "duration_s": 18333.0,
        "initial_melt_fraction": 0.2,
        "length_mm": 4.03,
        "pressure_gradient_MPa_per_mm": 25.0,
        "reaction_layer_melt_fraction": 0.35,
        "channels": "Yes"
      },
      {
        "experiment": "1865",
        "temperature_C": 1250.0,
        "duration_s": 9100.0,
        "initial_melt_fraction": 0.2,
        "length_mm": 3.41,
        "pressure_gradient_MPa_per_mm": 88.0,
        "reaction_layer_melt_fraction": 0.4,
        "channels": "Yes"
      },
      {
        "experiment": "1851",
        "temperature_C": 1250.0,
        "duration_s": 18000.0,
        "initial_melt_fraction": 0.2,
        "length_mm": 3.57,
        "pressure_gradient_MPa_per_mm": 84.0,
        "reaction_layer_melt_fraction": 0.42,
        "channels": "Yes"
      },
      {
        "experiment": "1846",
        "temperature_C": 1250.0,
        "duration_s": 18125.0,
        "initial_melt_fraction": 0.2,
        "length_mm": 4.58,
        "pressure_gradient_MPa_per_mm": 65.0,
        "reaction_layer_melt_fraction": 0.41,
        "channels": "Yes"
      },
      {
        "experiment": "1000",
        "temperature_C": 1200.0,
        "duration_s": 611.0,
        "initial_melt_fraction": 0.1,
        "length_mm": 3.99,
        "pressure_gradient_MPa_per_mm": 25.0,
        "reaction_layer_melt_fraction": 0.21,
        "channels": "Yes"
      },
      {
        "experiment": "1018",
        "temperature_C": 1200.0,
        "duration_s": 9092.0,
        "initial_melt_fraction": 0.1,
        "length_mm": 3.985,
        "pressure_gradient_MPa_per_mm": 10.0,
        "reaction_layer_melt_fraction": 0.23,
        "channels": "No"
      },
      {
        "experiment": "1021",
        "temperature_C": 1200.0,
        "duration_s": 14178.0,
        "initial_melt_fraction": 0.1,
        "length_mm": 3.75,
        "pressure_gradient_MPa_per_mm": 10.0,
        "reaction_layer_melt_fraction": 0.2,
        "channels": "No"
      },
      {
        "experiment": "1020",
        "temperature_C": 1250.0,
        "duration_s": 1291.0,
        "initial_melt_fraction": 0.1,
        "length_mm": 4.06,
        "pressure_gradient_MPa_per_mm": 10.0,
        "reaction_layer_melt_fraction": 0.28,
        "channels": "Yes"
      },
      {
        "experiment": "1057",
        "temperature_C": 1250.0,
        "duration_s": 9166.0,
        "initial_melt_fraction": 0.1,
        "length_mm": 4.25,
        "pressure_gradient_MPa_per_mm": 5.0,
        "reaction_layer_melt_fraction": 0.38,
        "channels": "Yes"
      },
      {
        "experiment": "888",
        "temperature_C": 1200.0,
        "duration_s": 517.0,
        "initial_melt_fraction": 0.04,
        "length_mm": 3.6,
        "pressure_gradient_MPa_per_mm": 83.0,
        "reaction_layer_melt_fraction": 0.28,
        "channels": "Yes"
      },
      {
        "experiment": "1861",
        "temperature_C": 1200.0,
        "duration_s": 18000.0,
        "initial_melt_fraction": 0.04,
        "length_mm": 3.54,
        "pressure_gradient_MPa_per_mm": 85.0,
        "reaction_layer_melt_fraction": 0.31,
        "channels": "Yes"
      },
      {
        "experiment": "975",
        "temperature_C": 1200.0,
        "duration_s": 3459.0,
        "initial_melt_fraction": 0.04,
        "length_mm": 3.82,
        "pressure_gradient_MPa_per_mm": 26.0,
        "reaction_layer_melt_fraction": 0.24,
        "channels": "No"
      },
      {
        "experiment": "979",
        "temperature_C": 1200.0,
        "duration_s": 8867.0,
        "initial_melt_fraction": 0.04,
        "length_mm": 4.04,
        "pressure_gradient_MPa_per_mm": 25.0,
        "reaction_layer_melt_fraction": 0.25,
        "channels": "No"
      },
      {
        "experiment": "1869",
        "temperature_C": 1250.0,
        "duration_s": 18056.0,
        "initial_melt_fraction": 0.04,
        "length_mm": 3.64,
        "pressure_gradient_MPa_per_mm": 82.0,
        "reaction_layer_melt_fraction": 0.38,
        "channels": "Yes"
      },
      {
        "experiment": "987",
        "temperature_C": 1250.0,
        "duration_s": 2028.0,
        "initial_melt_fraction": 0.04,
        "length_mm": 3.0,
        "pressure_gradient_MPa_per_mm": 100.0,
        "reaction_layer_melt_fraction": 0.29,
        "channels": "Yes"
      }
    ],
    "scope": "Published conditions and channel classifications; no measured velocity, statistical phase boundary, or common observation duration inferred. Some points overlap."
  },
  "visualization": {
    "phase_period_dimensionless": 0.1085297711973913,
    "verified_ranges": {
      "1": [
        5,
        100
      ],
      "0.001": [
        15,
        100
      ]
    },
    "max_eigenvalue_resolution_change": 2.9159945569290358e-09,
    "max_equation_or_boundary_residual": 7.99413880787681e-09,
    "scope": "Linear eigenmode shapes, normalized to maximum amplitude one; exponential growth removed for visibility. Not nonlinear evolution or pore-scale melt tracking. Low-k interval excluded because largest discrete modes failed residual and resolution tests; no stability conclusion there."
  },
  "limits": [
    "No finite-M or full nonlinear PDE reproduction",
    "No natural mantle parameter fitting",
    "Fixed-flux boundary is part of the result",
    "Experimental channel classifications are not all through-going channels",
    "Low-k spectrum is not resolved; no claim of a stability cutoff or globally complete spectrum"
  ]
}
