CP2K原子计算:氦原子的最小基组示例
使用独立ATOM程序计算He单Gaussian Hartree–Fock能量,给出完整输入、解析参考与结果图。
阅读本篇目录
CP2K除了常用的Quickstep周期计算,还有独立ATOM程序。本例选He的1s²闭壳层,用一个Gaussian基函数演示原子计算输入、电子数、积分方式和总能量读取。
1. 先读实际结果#
下载CP2K原子、批量与力匹配资料包,保存为example.zip:
python3 -m zipfile -e example.zip .
cd cp2k-atom-farming-forcefit
bash results.sh
bash read.sh
bash plot.sh
这几条命令先读取随包保存的真实计算结果。CSV在data/,图片在figures/,完整输入和原生输出分别在inputs/与reference-results/。

图中曲线是这个最小基组模型的解析能量,散点来自CP2K实际计算。它不是精确氦原子基态能量曲线;单函数基组不能用来追求高精度原子能。
2. 完整输入#
cat inputs/analytic-Gaussian/He-GTO/input.inp
&GLOBAL
PROGRAM_NAME ATOM
&END GLOBAL
&ATOM
ELECTRON_CONFIGURATION 1s2
ELEMENT He
MAX_ANGULAR_MOMENTUM 0
RUN_TYPE ENERGY
COULOMB_INTEGRALS ANALYTIC
EXCHANGE_INTEGRALS ANALYTIC
&AE_BASIS
BASIS_TYPE GAUSSIAN
NUM_GTO 1 0 0 0
S_EXPONENTS 1.0
&END AE_BASIS
&METHOD
METHOD_TYPE HARTREE-FOCK
&END METHOD
&OPTIMIZATION
EPS_SCF 1.e-12
&END OPTIMIZATION
&END ATOM
PROGRAM_NAME ATOM决定使用原子程序;ATOM/RUN_TYPE ENERGY决定原子程序内部任务。不要把ATOM写成常规GLOBAL/RUN_TYPE。
S_EXPONENTS 1.0是Gaussian指数,采用原子单位。COULOMB_INTEGRALS ANALYTIC与EXCHANGE_INTEGRALS ANALYTIC使本Gaussian模型采用解析积分。不同基函数类型支持的积分方式不同,不要把这两项直接套到任意Slater输入。
3. 提交#
本例采用集群cp2k/2026.2-8173m,Intel oneAPI 2024.2和Intel MPI构建,CPU路径,不使用GPU。新解压目录中运行:
sbatch run.slurm
脚本依次执行原子、两个FARMING子任务、Ar参考MD和参数拟合。按整节点规则申请56核,最多2个MPI进程、每进程1线程;这是功能教学,不是性能测试。完成后:
bash read.sh work analysis-new
bash plot.sh analysis-new figures-new work
已有结果可直接读取,不必等待CPU队列,也不要把新模拟直接放在登录节点。
底层单进程命令在计算任务中是:
module load cp2k/2026.2-8173m
cp2k.psmp -i input.inp > atom.out
4. 看什么结果#
grep 'Total number of electrons' reference-results/analytic-Gaussian/He-GTO/atom-native.log
grep 'Total Energy ::' reference-results/analytic-Gaussian/He-GTO/atom-native.log
cat data/CP2K-He-analytic-energy.csv
本例电子数2,总能量−2.254697319327 Eh。对归一化单Gaussian指数α,闭壳层RHF模型有E(α)=3α+(2−8√2)√(α/π),本次计算与该解析式差小于4.2×10⁻¹³ Eh。这是同一个有限基组模型的一致性,不能理解为与精确氦原子能量只有这样的误差。
后续实际原子基组研究应增加基组灵活度,检查径向网格、SCF、基组收敛和目标态。批量比较不同指数,见下一篇FARMING操作。