xTB 输出¶
| 项目 | 值 |
|---|---|
| 格式 ID | xtbout |
| 扩展名 | .out, .log, .xtbout |
| 读取 | 是 |
| 写入 | 否 |
| Registry 角色 | Reader |
| 数据层级 | QM 结果;仅在输出实际打印坐标时提供坐标 |
快速读取¶
Python
from molop import AutoParser
frame = AutoParser("xtb.out", parser_detection="xtbout")[0][-1]
print(frame.qm_software_version, frame.is_normal)
print(frame.energies.total_energy.m_as("hartree"))
print(len(frame.atoms), frame.coords.shape)
输出约定
输出版本、终止状态、总能量和几何规模。如果 xTB 单点 stdout 只引用外部坐标而没有打印
几何,最后一行可能是 0 (0, 3)。
MolOP 不会隐式读取相邻坐标文件。
MolOP 解析 xTB 5 和 >=6 的命令行标准输出,同时覆盖 xTB ⅚.1 的 legacy
打印族和 xTB >=6 的 modern 打印族。由于 xTB 通常直接从命令行接收坐标文件与选项,
因此不单独定义 xTB 输入文件格式。
| 特性 | 支持程度 | 支持范围 | 明确边界 |
|---|---|---|---|
| Version scope, setup, tasks, and status | 部分支持 | 识别 xTB 5,并将 >=6 作为 modern 打印族;解析版本、程序调用、坐标文件名、方法、电荷、多重度、OMP 线程数、任务请求、终止状态、SCC 状态和总 wall time。 |
明确拒绝 5 之前的版本。未来 major version 通过 >=6 合同前向兼容,但在获得真实输出前不视为厂商验证;xTB 5 样本同样是紧凑合同。 |
| Geometry availability | 部分支持 | 解析 legacy Bohr $coord、legacy setup 坐标、现代 XYZ final structure 和内嵌 V2000 SDF final structure。 |
xTB 单点 stdout 经常只引用外部坐标文件而不打印坐标。这类日志仍保留结果 frame,但 geometry 为空;parser 不会隐式读取相邻文件。 |
| Energies and geometry optimization | 部分支持 | 暴露 Hartree 单位的最终总能量、带来源标签的能量证据、优化收敛状态、能量变化判据和 xTB gradient norm 字段。 | 不结构化能量分解表和完整优化轨迹;只表示 stdout 实际打印的最终结构。 |
| Orbitals, populations, and dipole | 部分支持 | 解析 legacy/modern 轨道能量与占据数、GFN1 Mulliken/CM5 电荷、GFN2 Mulliken 电荷、分子偶极矩和已打印的转动常数。 | 尚未完整重建 Wiberg 键级表、四极矩、色散性质表和输出中省略的轨道区间。 |
| Vibrations and thermochemistry | 部分支持 | 解析投影后的物理频率、约化质量、IR 强度、零点能、总焓、总自由能、热容、熵、温度和已打印的分子质量。 | 不从 stdout 结构化简正模式位移向量、Hessian sidecar、Raman 强度和详细 rotor/interpolation 表。 |
| xTB analysis properties | 部分支持 | 在请求且打印时解析垂直 IP、垂直 EA、全局亲电指数和逐原子 Fukui 指数。 | FOD、metadynamics、MD、ONIOM、GFN-FF topology 以及 JSON/sidecar 输出不在当前 stdout 合同内。 |
xTB 5 / xTB >=6 能力覆盖矩阵¶
下表描述 stdout reader 的字段级合同。状态含义如下:
- 支持:存在明确解析路径和对应版本族的回归样本。
- 部分:只覆盖已知打印形式、最终值或有限任务语义。
- 未验证:解析路径可能适用,但缺少该版本族的真实输出样本,不作为稳定承诺。
- 不支持:当前不会生成对应结构化字段。
- 不适用:不属于 stdout reader 的职责。
xTB >=6 modern 列的“支持”由现有 xTB 6 真实样本建立。xTB 7 及后续版本使用同一
modern 合同,但在获得真实输出前仍属于前向兼容,而不是独立的版本验证。
| xTB 输出能力 | xTB 5 legacy | xTB >=6 modern | 结构化结果 | 当前边界 |
|---|---|---|---|---|
| banner 与版本 | 部分 | 支持 | qm_software、qm_software_version |
接受 major version 5 和 >=6;xTB 5 目前只有 legacy 合同样本,>=7 尚无真实样本。 |
| 拼接的多次命令行运行 | 未验证 | 支持 | 每个 version banner 开始一个 segment 和结果 frame | 依赖每次运行打印版本 banner;不根据任意 shell 分隔文本拆分。 |
| program call 与坐标文件名 | 部分 | 支持 | keywords、input_file_name、模型化学 raw keywords |
只读取 stdout 中的 program call 和 coordinate file 行,不恢复 shell 环境或相对路径基准。 |
| GFN Hamiltonian | 部分 | 支持 | method、model_chemistry.method,方法族为 SEMIEMPIRICAL |
识别已打印的 GFN、GFN1、GFN2 和 GFN-FF 风格标签;不验证方法与版本兼容性。 |
| 电荷、多重度与 OMP 线程 | 部分 | 支持 | charge、multiplicity、request_num_cpu、resource_request |
多重度由 --uhf 或打印的未成对电子数加一得到;未打印时使用 xTB 常见默认值。 |
| SP、优化、频率与梯度请求 | 部分 | 支持 | task_requests,含 derivative order 和性质请求 |
从 program call 的 --opt、--ohess、--hess、--grad、--vip、--vea、--vipea、--fukui/--vfukui 推断;不覆盖所有 xTB CLI 组合。 |
| 隐式溶剂与温度 | 未验证 | 部分 | solvent、temperature、electron_temperature |
只解析已打印的 model、solvent、振动/溶剂温度和 electronic temperature;不重建完整 ALPB/GBSA 参数。 |
legacy setup 坐标与 $coord final structure |
部分 | 部分 | atoms、Angstrom coords、坐标精度和 observed provenance |
输入为 Bohr 时转换到 Angstrom;不保留原始单位、空白和逐行文本。 |
| modern XYZ final structure | 未验证 | 支持 | atoms、Angstrom coords、坐标精度和 observed provenance |
只读取 stdout 中 final structure: 后的最终 XYZ,不保留优化中间结构。 |
| 内嵌 V2000 SDF final structure | 未验证 | 支持 | 原子与坐标 | 当前只取 atom block;键、formal charge、SDF property block 不在此 reader 中重建。 |
外部坐标、xtbopt.xyz 等 sidecar |
不支持 | 不支持 | 只保留已打印的坐标文件名 | 不隐式读取相邻文件,以维持 stdout source span 和哈希的单源合同。 |
| 最终总能量 | 部分 | 支持 | Hartree energies.total_energy;启用 source evidence 时附带 EnergyObservation |
选择最后一个已知 final-energy 打印形式;不把每个 SCC iteration 作为能量轨迹。 |
| SCC/能量分解表 | 不支持 | 不支持 | 无专用分解字段 | isotropic electrostatic、dispersion、repulsion 等分量当前不结构化。 |
| SCC 与终止状态 | 部分 | 支持 | status.scf_converged、status.normal_terminated |
SCC 成功可由收敛行或最终能量推断;正常终止依赖 finished run 标记。 |
| wall time | 部分 | 支持 | 秒单位 running_time;多 segment 时在文件层汇总 |
解析 xTB wall-time 行,不解析 CPU time、各模块计时和外部调度时间。 |
| 优化收敛与阈值 | 部分 | 支持 | geometry_optimization_status、energy change/threshold、gradient norm/threshold |
只保留最终打印值;不结构化每一步的收敛历史。 |
| 完整优化轨迹 | 不支持 | 不支持 | 无逐步 frame 序列 | 一个命令行 run 当前对应一个结果 frame,而不是每个优化 step 一个 frame。 |
| 梯度向量 | 不支持 | 不支持 | 仅能记录 gradient 任务请求和最终 gradient norm |
stdout 中的逐原子梯度和 gradient sidecar 尚未映射到结构化数组。 |
| 轨道能量与占据数 | 部分 | 支持 | alpha/beta orbital energies 和 occupancies | 覆盖 legacy occ./eps 与 modern orbital table;省略号隐藏的轨道不能恢复,非自旋分辨占据被拆为 alpha/beta 通道。 |
| 原子电荷 | 未验证 | 部分 | GFN1 Mulliken/CM5、GFN2 Mulliken,并带 source label 和可扩展 population metadata | 不解析自旋密度、完整 population table 或所有 Hamiltonian 的电荷方案。 |
| 偶极矩与转动常数 | 未验证 | 部分 | Debye dipole 向量、GHz rotation constants | 不结构化偶极矩总模、四极矩、极化率张量和更高多极矩。 |
| 频率、约化质量与 IR 强度 | 未验证 | 支持 | vibrations,含 imaginary-mode 计数 |
只覆盖已打印的 projected physical frequencies;缺失列不会合成。 |
| 模式位移、Hessian 与 Raman | 不支持 | 不支持 | 无对应结构化数组 | 不读取 stdout 位移块、.hessian sidecar 或 Raman 强度表。 |
| 热化学 | 未验证 | 支持 | ZPVE、enthalpy、free energy、C_V、entropy、temperature、molecular mass |
只保留汇总值;不结构化 rotor/interpolation 明细和各项热校正分解。 |
| VIP、VEA、GEI 与 Fukui | 未验证 | 支持 | single_point_properties 标量和逐原子 Fukui 数组 |
仅在对应分析被请求且 stdout 实际打印结果时存在。 |
| Wiberg、FOD、MD、metadynamics、ONIOM、GFN-FF topology | 不支持 | 不支持 | 无专用字段 | 当前 stdout 合同不覆盖这些分析或工作流。 |
| JSON、molden、Hessian 等辅助输出 | 不支持 | 不支持 | 无 sidecar 合并 | parser 只消费传入的 stdout 文本,不扫描工作目录。 |
| xTB 输入与输出 writer | 不适用 | 不适用 | Reader only | MolOP 不定义 xTB 输入格式,也不尝试从结果模型重建命令行或 stdout。 |
坐标边界¶
xTB 单点任务通常只打印坐标文件路径。MolOP 不会静默读取这个相邻文件,因为这会把 第二个源文件混入只描述 stdout 的 source span 和哈希合同。优化输出实际打印 final structure 时,正常提供坐标字段。
版本边界¶
parser 接受 major version 5,并把所有 >=6 版本交给 modern 解析合同。对于识别为
xTB、但 major version 小于 5 的输出,会明确报告版本不受支持,而不是继续交给
Gaussian 或 ORCA reader。