# RESEARCH-008: 水溶液多平衡体系 SOTA 仿真引擎逆向解构与数值状态机实证研报

- **研报编号**：`RESEARCH-008`
- **课题**：业界 SOTA 水溶液离子平衡与滴定仿真引擎（以国际分析化学标杆 CurTiPot 与科罗拉多大学 PhET 仿真算法为原型）架构逆向解构与净室状态机萃取
- **调研时间**：2026年10月
- **实证目标**：
  1. 解构成熟 SOTA 滴定模拟器背后的核心状态机与物理化学守恒方程；
  2. 提取弱酸强碱中和滴定、缓冲溶液区间及化学计量点突变区的高精度数值计算模型；
  3. 为净室重构交互式仿真实验室（`SPEC-005`）提供严密契约，杜绝粗劣插值与突变点除以零异常。
- **统一语言遵循**：[`CONTEXT.md`](../../CONTEXT.md)
- **协议依据**：[`AGENTS.md`](../../AGENTS.md)（实证探路优先原则与 Clean-Room 净室工程原则）
- **状态**：已落盘归档 ✅

---

## 1. 调研背景与标杆选型 (SOTA Benchmarks)

在高中与大学分析化学教学中，水溶液中的离子反应与平衡（酸碱中和滴定、弱电解质电离常数 Ka、溶度积常数 Ksp）是典型的微观抽象难点。
经过对开源社区与学术界 SOTA 应用的逆向调研，我们锁定了两大代表性标杆原型：
1. **CurTiPot (CurTiPot pH and Acid-Base Titration Curves)**：巴西圣保罗大学 I. G. R. Gutz 教授开发的行业基准电解质多重平衡计算核心，被全球数千所高校实验室广泛采纳；
2. **PhET Interactive Simulations (University of Colorado Boulder)**：全球顶尖的交互式科学仿真平台（`Acid-Base Solutions` 与 `Salts & Solubility`），其优势在于极高响应速度的交互状态机与微观粒子动态反馈。

---

## 2. 标杆应用计算状态机逆向解构 (Reverse Engineering Findings)

通过静态代码分析与算法解构，成熟 SOTA 引擎的核心优势在于：**坚决不使用预先录制好的“假数据点插值”，而是基于严密的三大守恒定律构建高阶代数状态机实时求解**。

### 2.1 状态转移阶段定义 (Statechart)

```mermaid
stateDiagram-v2
    [*] --> Stage0_Initial: 初始未滴定态 (V = 0 mL)
    Stage0_Initial --> Stage1_Buffer: 滴加滴定液 (0 < V < 计量点)
    Stage1_Buffer --> Stage2_Equivalence: 到达化学计量点 (V = V_eq, pH 发生剧烈跃迁)
    Stage2_Equivalence --> Stage3_Excess: 滴定过量区 (V > V_eq)
    Stage3_Excess --> [*]

    state Stage1_Buffer {
        [*] --> WeakAcidDominated: 弱酸过量 (极小体积)
        WeakAcidDominated --> HalfNeutralized: 半中和点 (pH = pKa, 缓冲容量极大值)
        HalfNeutralized --> ApproachEquivalence: 逼近突变点 (酸根迅速被消耗)
    }
```

### 2.2 核心数学与物理化学守恒方程 (First-Principles Model)

设待测液为一元弱酸 HA（初始浓度 c_a，初始体积 V_a），滴定液为一元强碱 NaOH（浓度 c_b，已滴加体积 V_b）。
体系在任意加入体积 V_b 时，总体积满足加和性 V_total = V_a + V_b。

根据严格的物理化学原理：
1. **电荷守恒 (Charge Balance)**：
   `[Na⁺] + [H⁺] = [A⁻] + [OH⁻]`
2. **物料守恒 (Mass Balance)**：
   - 钠离子总浓度：`[Na⁺] = (c_b × V_b) / V_total`
   - 弱酸根总分析浓度：`c_A_total = (c_a × V_a) / V_total = [HA] + [A⁻]`
3. **弱酸电离平衡与水自偶电离**：
   - `Ka = ([H⁺] × [A⁻]) / [HA]  =>  [A⁻] = c_A_total × (Ka / ([H⁺] + Ka))`
   - `Kw = [H⁺] × [OH⁻] = 1.0 × 10⁻¹⁴`（常温 25℃）

将各微粒表达式代入电荷守恒方程，得到关于 [H⁺] 的**全解三次代数方程**：
> `[H⁺]³ + (c_b_total + Ka)[H⁺]² + (Ka(c_b_total - c_A_total) - Kw)[H⁺] - Ka × Kw = 0`

**标杆应用的健壮性机理**：
- 传统劣质软件在 V_b = V_a 突变点直接做近似计算，导致产生负数或除零崩溃；
- SOTA 标杆（CurTiPot）通过**牛顿-拉夫逊迭代法（Newton-Raphson Iteration）**或反向精确求解函数，确保在 pH 从 3 到 11 的全量程范围内绝对收敛、平滑连续、零数值震荡！

---

## 3. 净室重构规范与接口契约 (Clean-Room Contracts)

为了在当前高二复习系统中实现高保真度重构，确立以下净室接口契约：

1. **纯原生纯纯净求解引擎 (`TitrationEngine`)**：
   - 暴露函数：`calculateTitrationState(ca, Va, cb, Vb, Ka, Kw)`
   - 返回严格数值结构：
     - `pH`: 精确到 0.01 的氢离子活度指数
     - `concentrations`: 包含 `[H+]`, `[OH-]`, `[Na+]`, `[A-]`, `[HA]` 的摩尔浓度字典
     - `indicatorColor`: 酚酞与甲基橙当前状态的精确 RGB 颜色过渡值
     - `stage`: 当前所属阶段枚举（`INITIAL`, `BUFFER`, `EQUIVALENCE`, `EXCESS`）
2. **自适应矢量绘制 (`TitrationPlotter`)**：
   - 采用纯原生 HTML5 SVG 动态绘制；
   - 实时生成 0 ~ 40 mL 的突变点曲线，并高亮指示当前滴定点坐标切线与微观离子浓度柱状图。
3. **零外部库依赖**：
   - 绝不引入 Chart.js、D3 等庞大外部依赖，单文件纯原生内联，确保高二学生在任意无网环境或手机端 100% 秒开。
