CP2K专题

CP2K PBE0与ADMM实际对照

同一水二聚体的完整精确交换、三种辅助基组和MO_DIAG净化,完整输入与实测差值。

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

ADMM用较小辅助基组处理精确交换,并加入交换修正。本篇在同一水二聚体上计算完整PBE0、cFIT3/pFIT3/aug-pFIT3辅助基组,以及pFIT3下的MO_DIAG净化对照,练习如何设置和检查近似带来的能量变化。

下载完整水分子/二聚体输入、实际日志与绘图脚本,解压后进入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 先固定不应变化的部分#

沿用固定水二聚体结构,但本篇五个条件均不加D3。轨道基组DZVP-MOLOPT-SR-GTH、GTH-PBE赝势、400/50 Ry网格、16 Å非周期MT盒、EPS_SCF=1E-8保持一致,精确交换比例0.25,EPS_SCHWARZ=1E-10。

完整HFX指在当前轨道基组与数值参数下不使用ADMM的交换计算,不是完整基组极限或没有任何数值近似的精确电子能量。

3 完整ADMM输入#

完整input.inp:dimer-pbe0-admm-pfit3#

&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
  BASIS_SET_FILE_NAME ../DATA/BASIS_ADMM
  &AUXILIARY_DENSITY_MATRIX_METHOD
   METHOD BASIS_PROJECTION
   ADMM_PURIFICATION_METHOD NONE
   EXCH_CORRECTION_FUNC PBEX
   EXCH_SCALING_MODEL NONE
  &END AUXILIARY_DENSITY_MATRIX_METHOD
  &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
   &HF
    FRACTION 0.25
    &SCREENING
     EPS_SCHWARZ 1.0E-10
    &END SCREENING
    &MEMORY
     MAX_MEMORY 512
    &END MEMORY
    &INTERACTION_POTENTIAL
     POTENTIAL_TYPE COULOMB
    &END INTERACTION_POTENTIAL
   &END HF
   &XC_FUNCTIONAL PBE0
   &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
   BASIS_SET AUX_FIT pFIT3
   POTENTIAL GTH-PBE-q6
  &END KIND
  &KIND H
   BASIS_SET DZVP-MOLOPT-SR-GTH
   BASIS_SET AUX_FIT pFIT3
   POTENTIAL GTH-PBE-q1
  &END KIND
 &END SUBSYS
 &PRINT
  &FORCES ON
  &END FORCES
 &END PRINT
&END FORCE_EVAL

这里AUX_FIT是ADMM交换拟合基组;RI-MP2教程中的RI_AUX用于相关能积分,两个标签不能互换。轨道基组仍是DZVP-MOLOPT-SR-GTH。

完整PBE0对照保留XC_FUNCTIONAL PBE0和HF/FRACTION=0.25,去掉AUXILIARY_DENSITY_MATRIX_METHOD及KIND中的AUX_FIT;完整文件为inputs/dimer-pbe0-exact/input.inp。

4 一次只比较明确的设置#

第一组固定BASIS_PROJECTION、净化NONE、交换修正PBEX与缩放NONE,分别使用cFIT3、pFIT3、aug-pFIT3。第二组保持pFIT3不变,仅将净化改为MO_DIAG:

&AUXILIARY_DENSITY_MATRIX_METHOD
 METHOD BASIS_PROJECTION
 ADMM_PURIFICATION_METHOD MO_DIAG
 EXCH_CORRECTION_FUNC PBEX
 EXCH_SCALING_MODEL NONE
&END AUXILIARY_DENSITY_MATRIX_METHOD

净化方式属于ADMM近似定义的一部分;不能把更换净化与只扩大辅助基组混作同一种收敛测试。这里明确给出各参数,没有让ADMM_TYPE快捷方式再覆盖它们。

5 从日志确认生效,并比较实际结果#

grep -E 'ADMM\||Auxiliary Fit Basis Set|SCF run converged|ENERGY\|' work/cases/dimer-pbe0-admm-pfit3/output.log
grep -E 'purification|correction term|ENERGY\|' work/cases/dimer-pbe0-admm-pfit3-purified/output.log
cat work/analysis/hybrid-dispersion.csv
交换处理 辅助基组 净化方式 总能/Hartree 相对完整HFX/meV
完整HFX — — -34.431807459027 0.0000
ADMM cFIT3 NONE -34.427321081586 122.0805
ADMM pFIT3 NONE -34.429085802628 74.0600
ADMM aug-pFIT3 NONE -34.427589022716 114.7895
ADMM pFIT3 MO_DIAG -34.435183423469 -91.8647

相同轨道基组与结构下,ADMM辅助基组/净化设置的实际总能差及SCF迭代数

当前例子的差值达到数十至上百meV。它说明不能只看到SCF收敛,就把当前ADMM设置当成完整HFX的无损替代。差值有正有负,增大辅助基组也未在这几个设置中呈现简单单调规律;ADMM不是用绝对能量越低就判定越好的变分排序。

本表是一个构型的总能差,不是反应能或势垒误差,也没有测出大体系加速比。SCF迭代数只表明各自收敛过程,不能拿这几个很短的不同设置任务直接宣称性能提升。

6 给实际任务选择设置#

先选小而有代表性的若干构型,用同一轨道基组的完整HFX作为数值参照,再检查ADMM对目标能量差、结构或力的影响。需要反应能时,用一致ADMM定义算所有反应物和产物;不能按不同构型随意更换净化方法。

本文为单点能对照,不直接作为ADMM分子动力学模板。MD涉及连续稳定的力与能量,官方手册对拟合/净化设置另有要求,应按对应方法重新核对。

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

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。

参数含义和命名变体见CP2K2026.2 ADMM官方说明。

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

查看配图

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

100%查看原图 ↗