← 返回 Skills 市场
sirutong

cp2k-input-generator

作者 sirutong · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ 安全检测通过
226
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install cp2k-input-generator
功能描述
This skill should be used when generating CP2K input files (.inp) for quantum chemistry calculations. Use when users request CP2K input file creation from st...
使用说明 (SKILL.md)

CP2K 输入文件生成器

Skill 概述

本 Skill 用于根据用户的计算要求和结构文件,生成准确可用的 CP2K 输入文件。支持多种计算类型、结构格式和计算方法,并能够根据体系特征自动选择合适的参数。

触发词

当用户提及以下内容时应该使用此 Skill:

  • "生成 CP2K 输入文件"
  • "创建 .inp 文件"
  • "CP2K calculation input"
  • "准备 CP2K 计算任务"
  • "写一个 CP2K 输入文件"
  • "帮我生成 CP2K 的输入"
  • 包含计算类型关键词: "单点计算", "几何优化", "分子动力学", "MD", "频率分析", "NEB", "能带结构", "DOS"
  • 提及结构文件格式: cif, pdb, xyz, gaussian
  • 从 CP2K 输出文件生成新的输入

执行流程

步骤 1: 理解计算需求

向用户确认或从描述中提取以下信息:

必需参数:

  1. 计算类型 (RUN_TYPE):

    • ENERGY / ENERGY_FORCE: 单点能量计算
    • GEO_OPT: 几何优化
    • MD: 分子动力学
    • FREQUENCY: 频率分析
    • VIBRATIONAL_ANALYSIS: 振动分析
    • BAND_STRUCTURE: 能带结构
    • NEB: 弹性带路径搜索
  2. 结构文件:

    • 支持格式: .xyz, .cif, .pdb, .gjf, .com
    • 或提供直接的坐标数据

重要参数(如果没有提供需要询问): 3. 计算方法:

  • Quickstep (DFT): 密度泛函理论
  • QMMM: 量子力学/分子力学混合方法
  • Classical/MM: 纯分子力学
  • xTB: 半经验方法
  1. 周期性条件:

    • XYZ: 三维周期性(晶体)
    • XY: 二维周期性(表面/平板)
    • X/Y/Z: 一维周期性(纳米线)
    • NONE: 孤立体系(分子/团簇)
  2. 电荷和自旋:

    • CHARGE: 净电荷
    • MULTIPLICITY: 自旋多重度(如果自旋极化)

可选参数(如果没有提供可以使用默认值): 6. 交换关联泛函: PBE, BLYP, PBE0, HSE06 等 7. 基组类型: DZVP-MOLOPT, TZVP-MOLOPT 等 8. k点采样: Monkhorst-Pack 网格 9. CUTOFF: 平面波截止能量 10. SCF 收敛判据 11. MD 参数: 系综,温度,时间步长,步数 12. 几何优化参数: 优化器,收敛判据,最大迭代次数

步骤 2: 读取和解析结构文件

使用 read_file 工具读取结构文件内容,然后:

  • CIF 文件: 提取晶胞参数和原子坐标
  • PDB 文件: 提取原子类型和坐标,注意元素符号
  • XYZ 文件: 提取原子类型和坐标
  • Gaussian 文件: 提取原子类型和坐标
  • CP2K 输出文件: 从输出中提取最后的结构坐标

步骤 3: 确定计算参数

根据体系特征和计算需求,智能选择参数:

基组选择:

体系大小判断:
- 小体系 (\x3C50 原子): TZVP-MOLOPT-GTH
- 中等体系 (50-200 原子): DZVP-MOLOPT-SR-GTH  
- 大体系 (>200 原子): DZVP-MOLOPT-SR-GTH

CUTOFF 选择:

- 小分子: 300-350 Ry
- 中等体系: 400-500 Ry
- 大体系: 500-600 Ry

k点选择:

周期性体系:
- 原胞: 4x4x4 或 6x6x6
- 2x2x2 超胞: 2x2x2
- 3x3x3 超胞: Γ 点 (1x1x1)
- 4x4x4 超胞: Γ 点 (1x1x1)
- 表面模型: 8x8x1 或 6x6x1

SCF 参数:

- MAX_SCF: 128 (标准), 300 (困难体系)
- EPS_SCF: 5.0E-06 (标准), 1.0E-05 (快速), 1.0E-07 (高精度)
- DIAGONALIZATION: STANDARD (小体系), DAVIDSON (大体系)
- MIXING: BROYDEN_MIXING 或 PULAY_MIXING

步骤 4: 生成输入文件内容

根据计算类型生成相应的输入文件结构:

通用结构框架:

&GLOBAL
  PROJECT \x3Cproject_name>
  PRINT_LEVEL \x3Clevel>
  RUN_TYPE \x3Ccalculation_type>
&END GLOBAL

&FORCE_EVAL
  METHOD \x3CQuickstep/QMMM/Classical>
  &SUBSYS
    &CELL
     晶胞定义
    &END CELL
    &COORD
      原子坐标
    &END COORD
    &KIND
      每种元素类型的基组和赝势
    &END KIND
  &END SUBSYS
  
  &DFT
    BASIS_SET_FILE_NAME
    POTENTIAL_FILE_NAME
    CHARGE
    MULTIPLICITY
    [UKS] (如果自旋极化)
    &KPOINTS
      k点设置
    &END KPOINTS
    &QS
    &END QS
    &POISSON
    &END POISSON
    &XC
      &XC_FUNCTIONAL \x3CPBE/BLYP/PBE0/HSE06>
      &END XC_FUNCTIONAL
    &END XC
    &MGRID
      CUTOFF
      REL_CUTOFF
      NGRIDS
    &END MGRID
    &SCF
      收敛设置
    &END SCF
  &END DFT
&END FORCE_EVAL

&MOTION
  根据计算类型添加相应设置
&END MOTION

不同计算类型的 MOTION 设置:

GEO_OPT (几何优化):

&MOTION
  &GEO_OPT
    TYPE MINIMIZATION
    OPTIMIZER \x3CBFGS/CG/LBFGS>
    &BFGS
      TRUST_RADIUS 0.2
    &END BFGS
    MAX_ITER 500
    MAX_DR 3E-3
    RMS_DR 1.5E-3
    MAX_FORCE 4.5E-4
    RMS_FORCE 3E-4
  &END GEO_OPT
  &PRINT
    &TRAJECTORY
      FORMAT xyz
    &END TRAJECTORY
  &END PRINT
&END MOTION

MD (分子动力学):

&MOTION
  &MD
    ENSEMBLE \x3CNVT/NVE/NPT>
    STEPS 50000
    TIMESTEP 0.2-1.0  # fs
    TEMPERATURE 300
    &THERMOSTAT
      TYPE \x3CCSVR/NOSE/LANGEVIN>
      &\x3CTHERMOSTAT_TYPE>
        TIMECON 100
      &END \x3CTHERMOSTAT_TYPE>
    &END THERMOSTAT
  &END MD
  &PRINT
    &TRAJECTORY
      &EACH
        MD 10
      &END EACH
      FORMAT xyz
    &END TRAJECTORY
  &END PRINT
&END MOTION

FREQUENCY (频率分析):

&MOTION
  &FREQUENCY
    &PRINT
      &EIGENVECTORS
      &END EIGENVECTORS
    &END PRINT
  &END FREQUENCY
&END MOTION

NEB (弹性带):

&MOTION
  &NEB
    NIMAGE 7
    K_SPRING 0.5
    TOL_FORCE 0.02
  &END NEB
&END MOTION

步骤 5: 处理特殊情况

自旋极化计算:

  • 添加 UKS 关键字
  • 设置正确的 MULTIPLICITY
  • 对于铁磁性系统,设置所有原子的初始磁矩

金属体系:

  • 使用 Fermi-Dirac smearing
  • 设置 &SMearing METHOD FERMI_DIRAC WIDTH 0.01
  • 使用较密的 k 点采样

表面/平板模型:

  • 周期性设置为 XY
  • 使用适当的真空层(通常 >15 Å)
  • k 点设置为 8x8x1 或类似

QMMM 计算:

  • METHOD 设置为 QMMM
  • 定义 QM 和 MM 区域
  • 设置耦合参数

xTB 方法:

  • &QS 中设置 METHOD xTB
  • 添加 &xTB 部分
  • 包含必要的参数文件

步骤 6: 使用辅助脚本(可选)

对于复杂的输入文件生成,可以使用 scripts/generate_cp2k_input.py 脚本:

python scripts/generate_cp2k_input.py \x3Ccalculation_type> \x3Cstructure_file> \
  -o function.inp \
  -p \x3Cproject_name> \
  -c \x3Ccharge> \
  -m \x3Cmultiplicity> \
  -f \x3Cfunctional>

支持的命令:

  • energy: 单点能量计算
  • opt: 几何优化
  • md: 分子动力学

步骤 7: 输入文件验证

生成输入文件后,检查:

  1. 语法正确性:

    • 所有 &SECTION 都有对应的 &END SECTION
    • 关键字拼写正确
    • 参数在合理范围内
  2. 参数一致性:

    • CHARGE 和 MULTIPLICITY 匹配
    • CUTOFF 和基组匹配
    • k 点和周期性匹配
  3. 文件路径:

    • 结构文件路径正确
    • 基组文件和赝势文件路径正确
  4. 资源预估:

    • 估算计算所需的内存和 CPU 核心数
    • 提醒用户计算可能需要的时间

步骤 8: 输出文件

将生成的输入文件写入 function.inp:

# 使用 write_to_file 工具
write_to_file(
    filePath="/path/to/function.inp",
    content=inp_content
)

参考资源

内部参考文档

references/cp2k_input_reference.md 中包含:

  • 完整的 CP2K 输入文件结构说明
  • 各个关键字的详细解释
  • 不同计算类型的示例
  • 参数选择指南
  • 常见错误和解决方案

外部参考

当遇到复杂情况或特殊需求时,参考:

  1. CP2K 官方文档: https://www.cp2k.org/

    • Input Reference: 详细的关键字说明
    • Howtos: 特定计算类型的教程
  2. 用户工作区的示例文件:

    • /file/SP/: 单点计算示例
    • /file/opt/: 几何优化示例
    • /file/MD/: 分子动力学示例
    • /file/NEB/: NEB 计算示例
    • /file/DOS/: 态密度示例
    • /file/freq/: 频率分析示例
    • /file/QMMM/: QMMM 计算示例

加载参考文档

在生成输入文件时,如果需要详细参考:

read_file("references/cp2k_input_reference.md")

计算类型快速参考

计算类型 RUN_TYPE 主要用途 关键参数
单点能量 ENERGY 计算体系总能量 CUTOFF, k-points
能量+力 ENERGY_FORCE MD前准备 同上
几何优化 GEO_OPT 优化结构 OPTIMIZER, 收敛判据
分子动力学 MD 模拟时间演化 ENSEMBLE, TIMESTEP, STEPS
频率分析 FREQUENCY 计算振动频率 -
能带结构 BAND_STRUCTURE 固体能带 k点路径
态密度 ENERGY + 特殊k点 电子态密度 高密度k点
NEB NEB 反应路径 NIMAGE, K_SPRING
QMMM ENERGY/QMMM 大体系精确计算 QM/MM分区

常见问题处理

问题 1: SCF 不收敛 解决方案:

  • 降低 EPS_SCF 到 1.0E-05
  • 增加混合参数 ALPHA
  • 使用不同的混合方法 (BROYDEN_MIXING → PULAY_MIXING)
  • 增加网格精度 (提高 CUTOFF)

问题 2: 计算太慢 解决方案:

  • 降低基组精度 (TZVP → DZVP)
  • 减少k点数
  • 使用 xTB 方法
  • 使用 OT 方法代替 DIAGONALIZATION

问题 3: 内存不足 解决方案:

  • 降低 CUTOFF
  • 使用 DAVIDSON 对角化
  • 减少k点数
  • 使用 OT 方法

问题 4: 结果不准确 解决方案:

  • 提高 CUTOFF
  • 使用更高精度的基组
  • 增加k点采样
  • 使用更精确的泛函 (PBE → PBE0 → HSE06)

注意事项

  1. 始终使用绝对路径 当引用文件时
  2. 保留原始文件 不要直接修改用户的结构文件
  3. 添加有意义的注释 在输入文件中解释关键参数的选择
  4. 提供多种选择 当有多种可能方案时
  5. 询问重要参数 当不确定时,不要随意设置
  6. 参考已有示例 查看工作区中相似计算的输入文件

输出文件命名

默认输出文件名为 function.inp,但如果用户指定了项目名称,可以使用:

  • {project_name}.inp
  • {calculation_type}.inp
  • calc_{date}.inp

始终确保输出文件在用户指定的位置。

安全使用建议
This skill appears to do what it claims (generate CP2K input files). Before installing or running: 1) only provide non-sensitive structure files (the script will open any path you give it); 2) verify generated .inp files manually before submitting expensive calculations or running them on shared compute resources; 3) be aware the included parser is heuristic and may mis-handle edge-case CIF/PDB/Gaussian files—inspect parsed coordinates and cell parameters for correctness; 4) there are no network calls or secret requirements in the package, so no hidden credential exposure was detected.
功能分析
Type: OpenClaw Skill Name: cp2k-input-generator Version: 1.0.0 The skill bundle is a legitimate tool for generating CP2K quantum chemistry input files. The Python script (scripts/generate_cp2k_input.py) contains standard parsing logic for structural formats (XYZ, CIF, PDB) and string generation for configuration files, while the SKILL.md provides clear, task-oriented instructions for the AI agent without any evidence of prompt injection, data exfiltration, or unauthorized execution.
能力评估
Purpose & Capability
The name/description match the provided assets: SKILL.md, README, reference doc, and a Python script that parses structure files and emits CP2K inputs. No unrelated environment variables, binaries, or services are requested.
Instruction Scope
Instructions explicitly tell the agent to read user-provided structure files and write the generated .inp file (using read_file/write_to_file). This is appropriate for the stated purpose. Note: the script uses simple, heuristic parsers for CIF/PDB/Gaussian and contains some fragile logic (e.g., simplistic regex parsing and k-point heuristics), so it may mis-parse malformed or unexpected files; it also will open any file path supplied, so ensure only non-sensitive structure files are provided.
Install Mechanism
No install spec is provided (instruction-only with an included script). Nothing is downloaded or installed by the skill, minimizing installation risk.
Credentials
No environment variables, credentials, or external config paths are required. All required data are structure files and user-specified parameters, which aligns with the purpose.
Persistence & Privilege
The skill is not marked always:true and requests no special persistent privileges. It does rely on agent tools (read_file/write_to_file) to access user files, which is normal for a file-generation skill.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install cp2k-input-generator
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /cp2k-input-generator 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
cp2k-input-generator v1.0.0 – Initial Release - Generates accurate CP2K input files (.inp) for quantum chemistry calculations based on user specifications and structure files (cif, pdb, xyz, etc.). - Supports multiple calculation types: energy, geometry optimization, molecular dynamics, frequency analysis, NEB, and more. - Handles various computational methods: DFT (Quickstep), QMMM, MM, and xTB. - Automatically selects suitable parameters (basis set, CUTOFF, k-points, etc.) according to system size and user needs. - Includes comprehensive input validation, examples, and troubleshooting tips for common CP2K input issues.
元数据
Slug cp2k-input-generator
版本 1.0.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

cp2k-input-generator 是什么?

This skill should be used when generating CP2K input files (.inp) for quantum chemistry calculations. Use when users request CP2K input file creation from st... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 226 次。

如何安装 cp2k-input-generator?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install cp2k-input-generator」即可一键安装,无需额外配置。

cp2k-input-generator 是免费的吗?

是的,cp2k-input-generator 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

cp2k-input-generator 支持哪些平台?

cp2k-input-generator 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 cp2k-input-generator?

由 sirutong(@sirutong)开发并维护,当前版本 v1.0.0。

💬 留言讨论