{
  "id": "science_xas_linear_mixture",
  "title": "XAS 参考态的线性混合",
  "domain": "general",
  "type": "demo",
  "license": "MIT",
  "scope": "Original analytic teaching record. Source references support the declared method/derivation only, never this invented parameter set or measurements.",
  "data_status": "synthetic_demo",
  "not_experimental_data": true,
  "source_files": [
    "data.csv",
    "model.json"
  ],
  "test_conditions": "No acquired cell or material. Independently declared analytic parameters, assumptions and units in scientific_basis.",
  "variables_and_units": {
    "1": [
      "Photon energy (eV)",
      "Normalized absorption"
    ]
  },
  "creator": "VoltPeer",
  "generator_version": "1.0.0",
  "reproduce": "python render_existing.py --output result-01",
  "scientific_basis": {
    "schema_version": 1,
    "model_class": "analytic_model",
    "data_origin": "original_synthetic",
    "relationship": "A declared convex mixture retains normalized weights of two hypothetical edge shapes.",
    "equations": [
      "mu_mix=f*muA+(1-f)*muB"
    ],
    "parameters": {
      "f": [
        0.2,
        0.5,
        0.8
      ],
      "edge_positions_eV": [
        7118,
        7124
      ]
    },
    "assumptions": [
      "Independently declared parameters; no experimental or material fit.",
      "Fictitious edge positions; valid linear-combination assumptions do not prove oxidation-state fractions."
    ],
    "limitations": [
      "Fictitious edge positions; valid linear-combination assumptions do not prove oxidation-state fractions.",
      "A numerical/model QA pass does not validate author data or a physical mechanism."
    ],
    "constraints": [
      "Finite numerical values and explicit physical units.",
      "Continuous plotted curves are solid without markers; data axes retain four borders.",
      "All plotted fractions lie between zero and one."
    ],
    "references": [
      {
        "title": "XrayLarch: XANES analysis, linear methods and pre-edge peak fitting",
        "doi": "",
        "url": "https://xraypy.github.io/xraylarch/xafs_xanes.html",
        "figure_panel": "Sections 14.3.1–14.3.2: Gaussian/Lorentzian/Voigt models and normalized convex spectral mixture",
        "supports": "A declared convex mixture retains normalized weights of two hypothetical edge shapes.",
        "checked_at": "2026-10-03",
        "scope": "Method/equation/caveat reference only. Original analytic teaching inputs; no copied paper points, pixels or experimental inference."
      }
    ],
    "validation": {
      "finite": true,
      "nonnegative": false,
      "unit_interval": true
    },
    "validation_scope": "Source method/principle and explicitly derived restricted teaching specialization checked; equation, units and numerical constraints only. No copied paper measurements, material parameters, experimental fit or mechanism certification."
  },
  "review": {
    "science": "Equation/units/numerical constraints and source scope checked. No author-data validation.",
    "display": "Actual solid/unmarked curve artists, four-frame spines, legend/title and text bounds checked."
  },
  "actual_artist_checks": [
    {
      "panel_index": 0,
      "spines": {
        "left": true,
        "right": true,
        "top": true,
        "bottom": true
      },
      "continuous_curves": [
        {
          "label": "Fraction A = 0.2",
          "linestyle": "-",
          "marker": "None",
          "points": 241
        },
        {
          "label": "Fraction A = 0.5",
          "linestyle": "-",
          "marker": "None",
          "points": 241
        },
        {
          "label": "Fraction A = 0.8",
          "linestyle": "-",
          "marker": "None",
          "points": 241
        }
      ]
    }
  ],
  "data_frame_checks": [
    {
      "panel_index": 0,
      "spines": {
        "left": true,
        "right": true,
        "top": true,
        "bottom": true
      },
      "continuous_curves": [
        {
          "label": "Fraction A = 0.2",
          "linestyle": "-",
          "marker": "None",
          "points": 241
        },
        {
          "label": "Fraction A = 0.5",
          "linestyle": "-",
          "marker": "None",
          "points": 241
        },
        {
          "label": "Fraction A = 0.8",
          "linestyle": "-",
          "marker": "None",
          "points": 241
        }
      ]
    }
  ],
  "continuous_curve_style_checks": [
    {
      "panel_index": 0,
      "label": "Fraction A = 0.2",
      "points": 241,
      "line_style": "-",
      "marker": "None",
      "colour": "#287d8e"
    },
    {
      "panel_index": 0,
      "label": "Fraction A = 0.5",
      "points": 241,
      "line_style": "-",
      "marker": "None",
      "colour": "#ba5574"
    },
    {
      "panel_index": 0,
      "label": "Fraction A = 0.8",
      "points": 241,
      "line_style": "-",
      "marker": "None",
      "colour": "#4868a8"
    }
  ],
  "curve_style_check": "Actual Line2D artists: all continuous curves solid and unmarked.",
  "data_frame_check": "Actual data axes: all four spines visible."
}
