CP2K专题

CP2K水二聚体与D3色散

实际固定几何单体/二聚体PBE和D3对照,完整输入、终端提取与能量拆分。

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

给分子间相互作用加D3时,不只要在XC中增加几行,还要为组合体系和单体采用一致设置。本篇用固定水二聚体演示如何准备四个输入、读出原生色散项并计算相互作用能。

下载完整水分子/二聚体输入、实际日志与绘图脚本,解压后进入run.sh目录。采用CP2K2026.2 P100双精度构建:GNU13.3、MPICH5.0.1、CUDA12.9、OpenBLAS0.3.33、ScaLAPACK2.2.3;分析用ASE3.29.0。

1 提交整组,或先跑一个条件#

sbatch submit.slurm

一张P100、一个CPU核,固定一个MPI和一个OpenMP线程,依次完成9个条件及分析。核时模板使用gpu-8p100-hs;套餐用户用yskit生成所属分区脚本,在已分配资源中运行bash run.sh。不要在登录节点计算。

已分配多卡资源时,脚本按可见GPU和CPU亲和范围安排每卡一个条件;不自动申请额外资源。只算一个条件,可在已分配资源中运行bash run.sh加CASES.json中的名称。新结果写入work,本文原始结果在reference;已有work时重新解压。

2 先看结构与能量定义#

从水分子振动例子的实际优化单体出发,保持每个水分子的内部结构,旋转其中一个,使一根O—H朝向另一分子,并设置O···O=2.90 Å。这里没有重新优化二聚体。

6

O       8.000000000000000      8.000000000000000      6.000000000000000
H       8.000000000000000      8.000000000000000      6.970101302545075
H       7.999999851221545      7.059423260433508      5.762488033741113
O       8.000000000000000      8.000000000000000      8.900000000000000
H       8.000000003400000      8.765345449000000      9.496106434200000
H       7.999999851999999      7.234654621300000      9.496106524400000

本次实际输入的固定水二聚体与氢键几何接触

所有条件使用16 Å非周期MT盒、PBE/GTH-PBE、DZVP-MOLOPT-SR-GTH、400/50 Ry网格、EPS_SCF=1E-8。单体内部几何相同,计算E(二聚体)−2E(单体)。这是本例有限基组下的固定几何相互作用能:未扣除基组重叠误差,也未加入变形能、零点能和热贡献,不把它称为实验解离自由能。

两个分子在盒中的位置和取向不同,有限实空间网格可能留下微小平移/旋转误差。定量结合能应继续检查网格、盒长、基组和BSSE;这里先把四个输入与能量账目跑通。

3 完整D3输入#

完整input.inp:dimer-pbe-d3#

&GLOBAL
 PROJECT water
 RUN_TYPE ENERGY
 PRINT_LEVEL MEDIUM
&END GLOBAL
&FORCE_EVAL
 METHOD QS
 &DFT
  BASIS_SET_FILE_NAME ../DATA/BASIS_MOLOPT
  POTENTIAL_FILE_NAME ../DATA/GTH_POTENTIALS
  &QS
   EPS_DEFAULT 1.0E-12
  &END QS
  &MGRID
   CUTOFF 400
   REL_CUTOFF 50
  &END MGRID
  &SCF
   EPS_SCF 1.0E-8
   MAX_SCF 100
   SCF_GUESS ATOMIC
   &OT
    MINIMIZER DIIS
    PRECONDITIONER FULL_SINGLE_INVERSE
   &END OT
  &END SCF
  &XC
   &VDW_POTENTIAL
    POTENTIAL_TYPE PAIR_POTENTIAL
    &PAIR_POTENTIAL
     TYPE DFTD3
     PARAMETER_FILE_NAME ../DATA/dftd3.dat
     REFERENCE_FUNCTIONAL PBE
    &END PAIR_POTENTIAL
   &END VDW_POTENTIAL
   &XC_FUNCTIONAL PBE
   &END XC_FUNCTIONAL
  &END XC
  &POISSON
   PERIODIC NONE
   POISSON_SOLVER MT
  &END POISSON
 &END DFT
 &SUBSYS
  &CELL
   ABC 16 16 16
   PERIODIC NONE
  &END CELL
  &TOPOLOGY
   COORD_FILE_NAME geometry.xyz
   COORD_FILE_FORMAT XYZ
  &END TOPOLOGY
  &KIND O
   BASIS_SET DZVP-MOLOPT-SR-GTH
   POTENTIAL GTH-PBE-q6
  &END KIND
  &KIND H
   BASIS_SET DZVP-MOLOPT-SR-GTH
   POTENTIAL GTH-PBE-q1
  &END KIND
 &END SUBSYS
 &PRINT
  &FORCES ON
  &END FORCES
 &END PRINT
&END FORCE_EVAL

TYPE DFTD3在本版本指零阻尼D3;DFTD3(BJ)是另一种阻尼选择,不能只改文章中的名字而沿用结果。REFERENCE_FUNCTIONAL PBE与本篇参考泛函对应;换成其他泛函时要重新匹配参数。

去掉整个VDW_POTENTIAL块就是同几何PBE条件。单体文件在inputs/monomer-pbe与inputs/monomer-pbe-d3;不能从其他教程拿不同盒长或不同几何的单体总能来相减。

4 读取原生色散与最终总能#

grep -E 'SCF run converged|Dispersion energy:|ENERGY\|' work/cases/dimer-pbe-d3/output.log
grep -E 'Dispersion energy:|ENERGY\|' work/cases/monomer-pbe-d3/output.log
cat work/analysis/hybrid-dispersion.csv
方法 单体总能/Hartree 二聚体总能/Hartree 固定几何相互作用能/eV
PBE -17.219841090000 -34.446368900001 -0.181955
PBE+D3 -17.219845059299 -34.447027274652 -0.199654

本次二聚体原生D3项为-0.000658374651 Hartree;单体也有很小的分子内色散项。因此分子间D3贡献使用E_D3(二聚体)−2E_D3(单体),为-0.000650436052 Hartree,即-17.6993 meV。

最终ENERGY已包含色散,不要把原生Dispersion energy再加一遍。程序同时核对D3条件与PBE条件的差值,确认这部分分项和完整总能变化相符。

实际四条件的相互作用能和原生D3分项

5 换成自己的分子对#

分别准备AB、A、B的XYZ和输入,使用同一泛函、赝势、轨道基组、色散参数与数值精度,计算E(AB)−E(A)−E(B)。如果A、B不同,不能继续写2E(单体)。如果要计算从各自松弛构型组装的结合能,还要明确是否包含单体形变。

表中的变化仅说明当前构型与这套PBE+D3模型的电子能量;不能凭一个固定构型的能量下降,就判定吸附构型、相稳定性或实验结合强度已经确定。

提取表格、检查结果与重画#

module load ase/3.29.0
python analyze.py work
python plot_results.py work
python check_results.py work
cat work/analysis/hybrid-dispersion.csv
ls work/figures

CSV的能量列使用Hartree;JSON保留固定几何相互作用能、D3分项、ADMM相对完整交换的差值。看本文数据时将work换成reference。

阻尼与泛函匹配见CP2K官方D3教学材料。继续看杂化泛函与ADMM实际对照。

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

查看配图

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

100%查看原图 ↗