# P03 原生定量分析样例

这些文件由已有 P03 水二聚体波函数经过本机 Multiwfn 2026.9.20 分析生成；没有新增 Gaussian 计算。用户可以导入原生日志、矩阵、顶点表和 Cube。[manifest.json](manifest.json) 固定每个文件的 SHA-256、输入身份、命令、参数和 Bader 收敛证据。数据采用 [CC BY 4.0](LICENSE)，署名 QCBlender contributors。

原始输入为 [gaussian-v2/P03/water-dimer.fchk](../gaussian-v2/P03/water-dimer.fchk)，SHA-256 为 `7fbebe3926aad70d68b1c6f3c8bd4a718cd99e7c708191d6424d25485acbd527`。输入含 6 个原子、20 个电子，原子 1–3 和 4–6 分别组成两个水片段；本目录不重复保存输入。原子的空间关联需要使用该静态构型，不能绑定到轨迹中任意一步。

## 选择输入

| 分析 | 原生输入 | 身份与限制 |
| --- | --- | --- |
| Mulliken/Hirshfeld/ADCH | 各同名目录的 `stdout.log`；`water-dimer.chg` 为逐值及坐标证据 | 单位 `e`；保留原生程序已做的归一化声明 |
| 静态键级 | `mayer/bndmat.txt`、`wiberg/bndmat.txt`、`fuzzy/bndmat.txt` | 完整非对角矩阵，包括小值和负值；Wiberg 为 **Löwdin 正交基**，不称 NAO Wiberg |
| Hirshfeld MO 组成 | `mo/stdout.log`，完整批量结果另见 `mo/orbcomp.txt` | 日志含 HOMO 10/LUMO 11、限制性自旋、能量、占据数；保留归一化前积分和原生归一化百分比 |
| ESP 整体及原子/片段区域 | `esp/stdout.log`；完整顶点 `esp/vtx.txt` | `rho=0.001 electron/bohr^3` 表面，生成表面网格间隔 0.25 Bohr；默认 Voronoi-like 最近核归属，三角形重心决定归属；片段是原子 1–3 |
| IGMH | `igmh/stdout.log` **配对** `igmh/atmdg.txt` | 片段 1–3/4–6；原子对积分采用径向 40、角向 170 的原生 high-quality 网格；`IBSIW.txt` 为额外原生证据 |
| Bader | `bader-005/stdout.log` | QTAIM 核盆电子积分；混合原子中心/均匀网格、精确盆边界细化，均匀网格间距 0.05 Bohr；其他四档日志保留收敛过程 |
| ALIE 完整场与表面 | 几何/密度 `alie/surf.cub`，ALIE `alie/mapfunc.cub`，完整表面 `alie/vtx.txt` | 同网格完整场，ALIE 单位 hartree，密度单位 electron/bohr³；表面定义同上，顶点文件同时给 a.u./eV/kcal/mol |
| RDG/NCI | 几何 `rdg/func2.cub`，着色 `rdg/func1.cub` | 实际波函数密度；RDG 无量纲，着色为 sign(λ₂)ρ，单位 electron/bohr³；盒外延 6 Bohr，网格约 125000 点，间距 0.319373 Bohr |

`esp/stdout.log` 和 `alie/stdout.log` 另含真实三角形面积的 40-bin 分布：ESP 范围 −100 至 100 kcal/mol，ALIE 范围 0 至 30 eV。本例两表均覆盖整表面，打印面积分别为 74.6808 和 74.7072 Å²，百分比总和为 100%。分母始终是整分子表面积；用户只输出部分片段或数值区间时，百分比和可以小于 100%。

每个目录的 `stdin.txt` 是精确输入序列，`run.json` 保存程序/输入/输出身份、PID、退出码及耗时。运行时的完整 `settings.ini` 留在本机运行目录；公开收据保留其 SHA-256 和本次覆盖项。没有随数据分发 Multiwfn 二进制或源码。

## 科学解释与质量

IGMH 的三个空间积分满足 `delta-g = delta-g_inter + delta-g_intra`，当前打印值分别为 1.661653、0.074435、1.587218 a.u.。原子对 delta-g 指数和为 **0.146956 a.u.**，每个片段的原子指数均加和到这一分母，原子对表也加和到这一分母。这些原子对指数来自单独的两原子梯度积分，不能强迫其和等于 delta-g_inter 的多片段空间积分。百分比沿用各自原生定义，导入器不重新归一化。[原生日志](igmh/stdout.log)、[原子及原子对输出](igmh/atmdg.txt)保留全部数值和参数。

Bader 的 0.20/0.15 Bohr 粗网格虽然电子数闭合误差小于 0.001 e，个别原子积分变化仍约 0.09 e，因此不能据此称收敛。最终比较 0.075/0.05 Bohr：最大原子电子积分变化为 **0.0009539283 e**，低于本例 0.002 e 门槛；最终总积分 **20.00003892 e**，与 20 e 相差 **0.00003892 e**，低于 0.001 e 门槛。导入的是未归一化盆积分，日志随后打印的归一化原子电荷不替代它。原生输出有 6 个核盆、0 个 NNA、0 个未分配网格。解析接口仍保留输入中实际存在的 NNA 和未归属记录，不把电子闭合残差当作未归属盆电子数。`Volume` 是有限盒内盆体积，未声称其收敛；`Vol(rho>0.001)` 是另一个明确阈值体积，二者不能混用。[五档数值](manifest.json)与各档日志共同构成质量证据。

ESP 原子区域面积以整个分子面积为百分比分母，片段面积同样以整分子面积为分母。零面积的正/负子区域会使原生日志打印 `NaN`；导入后保留为 `None` 并记录缺值原因，不能用 0 代替。片段面积为 40.36305 Å²、整分子面积为 74.68083 Å²。面积加权均值使用各原子区域的面积和均值，不从表面顶点数量推断面积。[原生区域日志](esp/stdout.log)含独立片段输出，可核对聚合值。

ALIE 原生实现为 `Σᵢ |εᵢ| nᵢ |ψᵢ(r)|² / ρ(r)`，`ρ=0` 时程序返回 0。完整数组始终保留；默认以配对密度场 `ρ>=1e-8 electron/bohr^3` 标记有效域。低密度排除区中的原生 0 不是物理 ALIE 结论。表面取 `ρ=0.001 electron/bohr^3`；顶点并非均匀或面积加权采样，不能把顶点直方图当作表面积分布。RDG 使用原生 `RDG_maxrho=0.05`：高密度区域被设为 100，导入时作为有效域排除；不把 100 当作真实 RDG 极大值。

## 重建和验证

在仓库根目录的 PowerShell 中，使用现有 Python 运行 `tools/generate_analysis_samples.py`。先用 `--executable` 指向已安装 Multiwfn，以 `--source` 指向上述 FCHK，`--work` 指向一个新的、Git 忽略的 `.tmp/runs/ester-analysis/<名称>`，`--commands` 传入对应 `run.json` 中的 JSON 输入数组。已有目录会拒绝覆盖。程序 PID 先写入收据；超时仅停止本次 Popen 句柄对应的进程。

所有成功运行及质量核对完成后，用 `--freeze-runs .tmp/runs/ester-analysis --destination validation/shared/data/public/analysis-v1` 冻结必要文件。可加 `--reference-root <含既有 Multiwfn 源码的仓库>` 记录算法参考文件的 SHA-256，并用 `--check-report <已完成检查的 checks-tests.json>` 写入验证摘要。冻结步骤核对原运行收据中的 SHA-256，不复制 FCHK、程序或设置文件。首次菜单探索中的错误返回和一个 180 秒超时记录仍留在本机任务目录；它们没有作为成功样例分发。

`Passed`：Multiwfn 2026.9.20 实际运行；全部公开文件 SHA-256；原生电荷/矩阵/MO/IGMH/ESP/Bader 逐值或闭合对照；完整 Cube 数组和有效域检查；Blender 5.1 Python 3.13 加已有 `modules/science` 的定向单元测试。测试入口为 `python -m tools.dev_workflow ... check --module test_quantitative_analysis --site <已有 modules/science>`。

`Not Run`：Blender GUI、工程保存与冷重开、独立人工科研验收；由主任务整合后验收。Agent 的数值检查不代替人工签署。

## 来源

生成日期：2026-10-31。Multiwfn [官方网站](http://sobereva.com/multiwfn)；本机程序版本与 SHA-256 见 [manifest](manifest.json)。读取的算法证据为既有 `submodules/Multiwfn/Multiwfn_2026.9.20_src_Win64/` 中 `visweak.f90`（原子对指数）、`surfana.f90`（区域归属/矩/顶点单位）、`basin.f90`（混合积分与核盆映射）、`function.f90`（ALIE 与 RDG 定义），没有复制其实现。相关方法文献由原生日志明确列出：Multiwfn [JCC 2012](https://doi.org/10.1002/jcc.22885)、[JCP 2024](https://doi.org/10.1063/5.0216272)，IGMH [JCC 2022](https://doi.org/10.1002/jcc.26812)，分子表面算法 J. Mol. Graph. Model. 38, 314–323 (2012)。科研使用时应核对所选具体分析的引用要求。
