CP2K专题

CP2K输入检查与命令行工具

实际操作check、echo、set、shell、version、license和XML,区分输入检查与启动计算。

更新于 2026-11-08约 4 分钟阅读按任务与环境选择适用配置
阅读本篇目录

下载CP2K求解器、输入索引与真实结果包,在自己的工作目录操作:

module load pymatgen/2026.9.24
python -m zipfile -e cp2k-solver-tools-wave323.zip .
cd cp2k-solver-tools
bash run.sh

下载后将文件名改为 cp2k-solver-tools-wave323.zip,再解压。bash run.sh 读取已有结果并生成 results/、plots/,不重新做电子计算;输出目录应为新目录。包内有四份完整输入、四组原生数值、全部力/偶极分量和两个实际版本的输入索引。

1 加载版本,先看程序实际信息#

module purge
module load cp2k/2026.2-8173m
cp2k.psmp --version
cp2k.psmp --help
cp2k.psmp --license

本例CPU工具入口是CP2K2026.2、oneAPI2024.2、Intel MPI2021.13和MKL;LS-SCF实算使用P100的GNU/MPICH/CUDA构建。不要把两套MPI混在同一个环境里,切换时先 module purge。--version 的实际输出也会列编译功能,记录它比只记文件名更有用。

2 检查输入,不做SCF#

cp2k.psmp --check -i cases/SIGN-tight/input.inp
cp2k.psmp --echo -i cases/SIGN-tight/input.inp > expanded.inp

--check检查输入语法;--echo把默认值展开并检查输入。不加 --run 时,这些命令不执行该物理计算。语法正确不能代替电子收敛、基组/网格精度、外部数据路径、可用显存和实际外部库检查。

expanded.inp便于追踪隐含默认值;这是程序回显,不是更高精度的新输入,不应不加判断地整份替换原稿。PROJECT会按规范名 PROJECT_NAME 输出,关键字别名与规范名可以不同。

包中还包含故意写错关键字的 cli-inputs/invalid.inp。下面演示如何保留退出状态:

cp2k.psmp --check -i cli-inputs/invalid.inp > bad-input.log 2>&1
status=$?
echo "$status"
grep "YUANSUAN_INVALID_KEYWORD" bad-input.log

本例退出状态为1。修正关键字所属层级和拼写后再检查;不要只删除报错行而忽略它本来负责的物理设置。

3 用命令行设置预处理变量#

cli-inputs/minimal.inp:

&GLOBAL
 PROJECT ${PROJ}
 RUN_TYPE NONE
&END GLOBAL
cp2k.psmp --set PROJ=commandline --echo -i cli-inputs/minimal.inp

实际展开为 PROJECT_NAME "commandline"。这适合批量改变项目名等参数;变量是输入预处理变量,和修改整个shell环境不是同一个操作。RUN_TYPE NONE在这里用于输入演示,不会生成分子能量、力或轨迹。

4 交互shell先做最小连通检查#

printf 'VERSION
EXIT
' | cp2k.psmp --shell

本环境返回 CP2K Shell Version: 7.0。这是shell协议版本,不是把CP2K2026.2改称7.0;VERSION/EXIT也没有加载结构或评估能量。需要通过ASE驱动结构、能量和力时,再按ASE计算器接口准备真实输入和资源分配。

要一口气操作上述七个命令入口,可在一个新解压目录运行:

bash cli.sh
ls cli-results

结果按命令分别保存,其中错误输入必须被拒绝,不能把非零退出都自动忽略。脚本不会提交Slurm作业。

5 导出自己正在使用的输入手册#

mkdir input-manual
cd input-manual
cp2k.psmp --xml
ls -lh cp2k_input.xml

--xml从当前二进制导出完整输入树。本文数据包已提供2025.2和2026.2的轻量TSV索引,可以直接查路径、默认值和枚举;无需下载数十MB XML才开始读教程。继续阅读输入树、RUN_TYPE与版本差异。

正常科学计算则用 sbatch gpu.sh 或与版本/分区匹配的公共模板。--run会强制执行计算,不要把它附加到“只检查输入”的命令上。命令语法以对应程序的 --help 和CP2K官方输入手册为准。

需要根据你的体系选择资源?联系讨论计算需求。实际可用软件与权限,以当前账户和运行环境为准。

查看配图

放大后可滚动查看细节,按 Esc 关闭。

100%查看原图 ↗