跳转至

Gaussian 输入

项目 值
格式 ID gjf
扩展名 .gjf, .gif, .com, .gau, .gjc
读取 是
写入 是
Registry 角色 Reader、文件 writer、帧 writer
数据层级 坐标和 QM 输入语义

Gaussian 输入解析和规范化渲染,覆盖 Link0、route、标题、分子规格、Link1 和附加区段。 writer 可以从已有 GJF frame 渲染,也可以从带坐标的其他格式构建 Gaussian 输入:

下载共享 ORCA 样例后运行:

Python
from molop import AutoParser

frame = AutoParser("water_mp2.out", n_jobs=1)[0][-1]
rendered = frame.format_transform(
    "gjf",
    link0_commands={"nprocshared": "16", "mem": "32GB"},
    route_section="#p wb97xd/def2tzvp opt freq",
    title_card="optimization and frequency",
    coords_type="cartesian",
    chk=True,
)

rendered 是字符串,开头类似:

渲染结果前缀
Text Only
%nprocshared=16
%mem=32GB
%chk=optimization and frequency.chk
#p wb97xd/def2tzvp opt freq

跨格式转换时应显式提供 Gaussian route_section。writer 不会验证计算方法、基组、 任务与 Gaussian 版本之间的兼容性。

特性 支持程度 支持范围 明确边界
Fixture parse/render inventory fixture 覆盖 当前维护的 Gaussian 输入 fixtures 可解析、可渲染。 覆盖是 fixture-anchored,不等价于完整 Gaussian grammar 证明。
Route semantics 部分支持 模型化学、任务类型、色散、溶剂化、布居请求和 HF 处理会解析到共享语义容器。 functional 只为 DFT/hybrid/double-hybrid 语义填充;测试外的 Gaussian 方法关键字可能保留为 raw 或非结构化。
Molecule specification 部分支持 Cartesian、整数 Cartesian、Z-matrix 变量、free delimiters、fragments 和非法 domain 诊断。 支持范围是测试覆盖的显式 molecule-spec grammar 变体。
Additional sections 部分支持 ModRedundant、GIC、NBO、结构化渲染和混合区段诊断。 混合 GIC/ModRedundant 区段按设计回退到 unknown,并保留诊断。
Link1、include 与 writer 选项 部分支持 Link1 使用原文精确 span,并校验空行;支持 Geom=AllCheck 和转换时 checkpoint 传播。 @include 涉及多个 source artifact,当前单 artifact SourceSpan 无法无歧义表达,因此 parser 以 MOL.PARSE.GJF_INCLUDE_PROVENANCE_UNSUPPORTED 明确拒绝;并非所有 Gaussian writer 选项都已覆盖。

Gaussian 输入能力覆盖矩阵

下表中的“原文保真”表示能否在解析后保持原始顺序、空白、换行和 token 表示重新输出, 不等同于结构化字段是否保存了同一计算含义。

Gaussian 输入能力 解析 结构化语义 规范化渲染 原文保真 当前边界
Link0 %key=value 支持 部分 支持 不支持 保存为有序 GJFLink0Command;CPU 和 memory 可投影为资源请求,其他 key 不做专用校验。
%chk / %oldchk 渲染覆盖 不适用 支持 支持 不适用 chk、old_chk 在临时 Link0 副本末尾追加,不替换或去重已有同名指令。
单行和多行 route section 支持 部分 支持 不支持 route 会归一化为以 # 开头的文本;原始折行、空白和 token 大小写不保证保留。
method / functional / basis 部分 部分 支持 不适用 识别 HF、DFT/hybrid/double-hybrid、部分 post-HF 和常见基组;词表外内容仍保留在 route,但可能没有结构化字段。
OPT / FREQ / SP / IRC / scan 等任务 部分 部分 支持 不适用 常见 job type 和已覆盖参数进入 task_requests;Gaussian 全部任务组合未穷举。
Opt(...) 选项 部分 部分 支持 不适用 覆盖 TS、CalcFC、ReadFC、ModRedundant、MaxCycles、coordinate system 等已建模选项。
Freq(...) 选项 部分 部分 支持 不适用 覆盖 anharmonic、projected、hindered rotor、VCD/ROA/Raman、温压和 atom selector 等已识别选项;不执行任务兼容性检查。
TD、SCRF、Pop、Geom 选项 部分 部分 支持 不适用 已识别选项进入对应语义容器;未识别参数仍在 raw route 中。
title card 支持 支持 支持 不支持 最多五行;模型会清理规定的非法字符,空标题渲染时使用文件名或 title。
电荷与自旋多重度 支持 支持 支持 不支持 单 fragment 和多 fragment charge/multiplicity 均有结构化模型,输出统一使用规范空白。
Cartesian 坐标 支持 支持 支持 不支持 整数和浮点坐标均可解析;writer 固定为六位小数,不保留原有效数字和分隔符。
atom label、atom type、原子电荷和参数 部分 部分 部分 不支持 保存 Gaussian atom specification 的 label、type、charge、(...) 参数和 frozen tag;未覆盖所有 ONIOM/MM 扩展语法。
dummy atom 和 ghost atom 部分 部分 部分 不支持 X 和 Bq 形式可投影;包含 dummy/ghost 时拒绝 Cartesian 与 internal 的隐式互转。
数值 Z-matrix 支持 支持 支持 不支持 支持普通 dihedral 和尾部 0/1 alternate-angle 标记,并校验长度、角度和引用 domain。
Z-matrix 变量 部分 部分 部分 不支持 支持已覆盖的 labeled/unlabeled 变量区段;解析时变量被数值替换,writer 不恢复原变量名。
free-format 坐标分隔符 部分 部分 支持 不支持 已覆盖逗号、tab 和 / 等形式;输出统一为空格分隔。
Cartesian/internal 坐标互转 不适用 支持 部分 不适用 coords_type 支持普通真实原子 fragment 双向转换;dummy/ghost 或无法安全对齐时抛出 ValueError。
fragment molecule specification 部分 支持 支持 不支持 要求每个原子声明连续的 Fragment=n,并校验声明的 fragment charge/multiplicity 数量。
Geom=AllCheck / Geom=Checkpoint 支持 部分 部分 不支持 parser 允许缺少 title 或 molecule block;canonical writer 仍按模型字段和默认标题重新组装。
connectivity section 部分 不支持 部分 不支持 原始 connectivity 没有专用字段;add_gjf_connectivity=True 会从恢复的分子图重新生成连接表。
ModRedundant 部分 部分 支持 不支持 覆盖已测试的行结构;复杂或未知命令可能作为 unknown/raw additional section。
GIC 部分 部分 支持 不支持 解析 label、options、function、arguments 和 standalone action;不声明完整 Gaussian GIC grammar。
$NBO ... $END 部分 部分 支持 不支持 保存 header、commands 和 footer;NBO 命令内容不做进一步语义验证。
Gen/GenECP、自定义基组和其他附加输入 部分 不支持 Raw 部分 route 可识别 Gen / GenECP;具体基组/ECP 文本通常作为 unknown additional section 保存和输出。
混合或未知 additional section 支持 不支持 Raw 部分 混合 GIC/ModRedundant 会降级为 unknown 并产生 diagnostic;raw 内容可输出但不解释。
--Link1-- 多任务 支持 支持 支持 部分 使用精确 source span 分帧并要求 separator 前有空行;文件 writer 使用规范 separator 合并 frame。
Link1 checkpoint 传播 不适用 部分 支持 不适用 批量/多帧写出可生成 %chk / %oldchk 链;文件命名和输出目录遵循通用转换参数。
@include 不支持 不支持 不支持 不支持 因缺少多 artifact provenance 模型,disk 和 memory parser 都明确拒绝,不递归读取 include。
从通用坐标 frame 构建 GJF 不适用 部分 支持 不适用 从 atoms、coords、charge、multiplicity 构建单 fragment Cartesian molecule block;计算 route 应由调用方提供。
Gaussian 版本和关键词兼容性 不支持 不支持 不支持 不适用 qm_software_version 记为 Any,不判断 route 是否被特定 Gaussian 版本接受。

当前 GJF writer 是 canonical writer:适合构建和规范化 Gaussian 输入,不是 source-preserving editor。需要只修改一个字段且保持其余输入逐字不变时,不应依赖 parse -> render 作为无损编辑流程。