AI agent skill · by @cas-bigdatalab
Gjf Editor
用于编辑或创建 Gaussian 输入文件(.gjf),支持添加 Link 0 指令(%chk、%oldchk、%nprocshared、%mem)、Route 行关键词、电荷和多重度。可对已有 gjf 文件进行参数填充,也可从零创建新的 gjf 文件。
Archived 2026-10-23 · Source updated 2026-09-22. Check the original repository for the latest version.
SKILL.md instructions
# gjf_editor 技能 ## 功能说明 该技能用于编辑或创建 Gaussian 输入文件(.gjf),主要功能包括: - 为 OpenBabel 生成的基础 gjf 文件添加完整的计算参数(Link 0 指令、Route 行、电荷和多重度) - 支持从零创建新的 gjf 文件(不提供输入文件时) - 支持添加 `%oldchk` 参数用于 restart 计算 ## 触发条件 - 当需要为 Gaussian 计算准备输入文件时使用此技能 - 当需要将简单的坐标文件转换为完整的 Gaussian 输入文件时使用此技能 - 当需要设置 restart 计算参数(%oldchk)时使用此技能 ## 核心功能 - 添加 Link 0 指令:%chk、%oldchk、%nprocshared、%mem - 设置 Route 行关键词 - 设置电荷和多重度 - 保留或自定义标题行 - 从零创建空的 gjf 文件模板 ## 使用方法 ```bash python scripts/run_gjf_editor.py --input_path <输入文件> --output_path <输出文件> --chk <检查点文件> --keywords <关键词> ``` ## 参数说明 | 参数 | 类型 | 必填 | 默认值 | 说明 | |------|------|------|--------|------| | input_path | string | 否 | - | 输入 gjf 文件路径,省略则创建新文件 | | output_path | string | 是 | - | 输出 gjf 文件路径 | | chk | string | 是 | - | 检查点文件名,如 acetic_opt.chk | | oldchk | string | 否 | - | 上一步检查点文件名,用于 restart | | nprocshared | int | 否 | 16 | CPU 核数 | | mem | string | 否 | 8GB | 内存设置 | | keywords | string | 是 | - | Route 关键词,如 B3LYP/6-31G(d) | | charge | int | 否 | 0 | 分子总电荷 | | multiplicity | int | 否 | 1 | 自旋多重度 | | title | string | 否 | Acetic acid opt freq | 标题行 | ## 示例 ### 示例 1:编辑已有 gjf 文件 ```bash python scripts/run_gjf_editor.py \ --input_path acetic_no_param.gjf \ --output_path acetic_opt.gjf \ --chk acetic_opt.chk \ --keywords "B3LYP/6-31G(d) opt freq" \ --nprocshared 16 \ --mem 8GB \ --charge 0 \ --multiplicity 1 \ --title "Acetic acid opt freq" ``` ### 示例 2:带 restart 参数的单点能计算 ```bash python scripts/run_gjf_editor.py \ --input_path acetic_no_param.gjf \ --output_path acetic_sp.gjf \ --oldchk acetic_opt.chk \ --chk acetic_sp.chk \ --keywords "B3LYP/6-31G(d) geom=allcheck guess=read" \ --nprocshared 16 \ --mem 8GB ``` ### 示例 3:从零创建新文件 ```bash python scripts/run_gjf_editor.py \ --output_path new_molecule.gjf \ --chk new_molecule.chk \ --keywords "B3LYP/6-31G(d) opt" ``` ## 输出格式 生成的 gjf 文件结构: ``` %oldchk=acetic_opt.chk ← 可选,仅当提供 oldchk 参数时 %chk=acetic_sp.chk %nprocshared=16 %mem=8GB #p B3LYP/6-31G(d) geom=allcheck guess=read Acetic acid opt freq 0 1 [坐标行] ← 从输入文件提取或为空 ``` ## 注意事项 - UTF-8 编码读写 - 输出目录不存在时自动创建 - 若不提供输入文件,生成的 gjf 文件仅包含参数部分,需手动添加坐标