CP2K RI-RPA积分与单激发修正
PBE参考、精确交换、Clenshaw–Curtis和Minimax对照,及实际RSE能量账目。
阅读本篇目录
RI-RPA使用数值频率积分计算相关能。这个小例子从同一水分子的PBE参考开始,比较积分点数和Minimax设置,再启用RSE修正,重点练习完整输入和总能量读取。
下载完整输入、实际日志、提取及绘图脚本,解压后进入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线程,依次运行11个短条件,最后自动提取、画图。每个条件独立从原子密度开始,不需要下载波函数。若在已分配的多卡资源中运行,脚本按可见GPU和CPU亲和范围把条件分配到各卡,每卡同时一个任务;不会自动申请额外资源。
核时模板分区为gpu-8p100-hs;套餐用户用yskit生成所属分区脚本,在已分配资源里保留 bash run.sh。不要在登录节点运行计算。已有work时,请重新解压。
inputs存放待算输入;reference保存本文真实原始结果;新结果写入work/cases,表格在work/analysis,图片在work/figures。只运行一个条件时可传CASES.json中的名字,例如在已分配资源中:
bash run.sh water-ri-mp2-wfc300
单条件只产生该条件的数据,完整参数对照和组合图需要运行all,也就是不加名称的默认流程。
2 先区分参考态与最终方法#
结构与RI-MP2教程相同,仍是14 Å非周期WAVELET盒、DZVP-GTH轨道基组、RI_DZVP-GTH辅助基组、300/50 Ry网格和EPS_SCF=1E-7。本篇参考态使用PBE和GTH-PBE赝势;RI-MP2篇采用HF/GTH-HF,因此两篇不同参考势的绝对总能不能用来给方法排准确度。
PBE先生成参考轨道,RI_RPA中的HF块计算该参考上的精确交换,不等于把外层PBE自洽计算换成HF。完整16点输入如下:
完整input.inp:water-ri-rpa-q16#
&GLOBAL
PRINT_LEVEL MEDIUM
PROJECT RI_RPA_H2O
RUN_TYPE ENERGY
&TIMINGS
THRESHOLD 0.01
&END TIMINGS
&END GLOBAL
&FORCE_EVAL
METHOD Quickstep
&DFT
BASIS_SET_FILE_NAME ../DATA/HFX_BASIS
POTENTIAL_FILE_NAME ../DATA/GTH_POTENTIALS
&MGRID
CUTOFF 300
REL_CUTOFF 50
&END MGRID
&POISSON
PERIODIC NONE
POISSON_SOLVER WAVELET
&END POISSON
&QS
EPS_DEFAULT 1.0E-12
EPS_PGF_ORB 1.0E-18
METHOD GPW
&END QS
&SCF
EPS_SCF 1.0E-7
MAX_SCF 100
SCF_GUESS ATOMIC
&PRINT
&RESTART OFF
&END RESTART
&END PRINT
&END SCF
&XC
&WF_CORRELATION
MEMORY 200.
NUMBER_PROC 1
&INTEGRALS
ERI_METHOD GPW
&WFC_GPW
CUTOFF 300
REL_CUTOFF 50
&END WFC_GPW
&END INTEGRALS
&RI_RPA
RPA_NUM_QUAD_POINTS 16
&HF
FRACTION 1.0000000
&SCREENING
EPS_SCHWARZ 1.0E-8
SCREEN_ON_INITIAL_P FALSE
&END SCREENING
&END HF
&END RI_RPA
&END WF_CORRELATION
&XC_FUNCTIONAL PBE
&END XC_FUNCTIONAL
&END XC
&END DFT
&SUBSYS
&CELL
ABC [angstrom] 14.0 14.0 14.0
PERIODIC NONE
&END CELL
&KIND H
BASIS_SET DZVP-GTH
BASIS_SET RI_AUX RI_DZVP-GTH
POTENTIAL GTH-PBE-q1
&END KIND
&KIND O
BASIS_SET DZVP-GTH
BASIS_SET RI_AUX RI_DZVP-GTH
POTENTIAL GTH-PBE-q6
&END KIND
&TOPOLOGY
COORD_FILE_FORMAT xyz
COORD_FILE_NAME H2O_gas.xyz
&CENTER_COORDINATES
&END CENTER_COORDINATES
&END TOPOLOGY
&END SUBSYS
&END FORCE_EVAL
RPA_NUM_QUAD_POINTS是本安装版本保留的QUADRATURE_POINTS别名。本组未开启Minimax时使用默认Clenshaw–Curtis。积分点越多不表示原子、k点或轨道越多,改变的是相关能频率积分的数值精度。
3 用三个积分点条件检查变化#
| 积分方法 | 积分点 | RPA相关能/Hartree | 最终总能/Hartree |
|---|---|---|---|
| Clenshaw–Curtis | 8 | -0.302622178579 | -17.200394098505 |
| Clenshaw–Curtis | 16 | -0.302629917002 | -17.200401836929 |
| Clenshaw–Curtis | 24 | -0.302629918572 | -17.200401838498 |
| Minimax | 8 | -0.302629915751 | -17.200401835678 |
16与24点相关能在本小例中相差约1.57E-9 Hartree。这个水分子对照不代替其他体系的积分测试;图中CC24只是本次较细参照,并不是解析精确值。

4 正确读取RPA总能量#
grep -E 'SCF run converged|Exchange-correlation energy:|Total energy:|RI-RPA energy|EXX energy|ENERGY\|' work/cases/water-ri-rpa-q16/output.log
| 能量项 | 本次数值/Hartree |
|---|---|
| PBE总能 | -17.204952570025 |
| PBE交换关联项 | -4.240430867366 |
| 精确交换项EXX | -3.933250217267 |
| RPA相关能 | -0.302629917002 |
| 最终RPA总能 | -17.200401836929 |
本例的能量组合是E(RPA)=E(PBE)−E(XC,PBE)+E(EXX)+E(corr,RPA)。先移除已经包含的PBE交换关联,再加入精确交换与RPA相关。脚本逐项核对这个等式,不能把PBE总能与RPA相关能直接相加,也不能在最终ENERGY上重复加EXX。
5 Minimax:方法改变后独立比较#
在RI_RPA里开启:
&RI_RPA
RPA_NUM_QUAD_POINTS 8
MINIMAX_QUADRATURE TRUE
! 其余HF等设置保持完整输入中的原样
&END RI_RPA
这一段仅说明改动位置;完整可运行文件为inputs/water-ri-rpa-minimax8/input.inp。Minimax与Clenshaw–Curtis的积分构造不同,不能把两种方法的“8点”看成同一网格。也不是任意积分点数量都有预优化规则,应以本版本支持数量为准。
本例Minimax8与CC24的相关能差约2.82E-9 Hartree。不要只因为这个小分子的数值接近,就把8点写成所有体系的默认收敛值。
6 RSE:同一PBE参考上增加修正#
保留16点Clenshaw–Curtis与同一HF设置,在RI_RPA中加RSE TRUE:
完整input.inp:water-ri-rpa-rse-q16#
&GLOBAL
PRINT_LEVEL MEDIUM
PROJECT RI_RPA_H2O
RUN_TYPE ENERGY
&TIMINGS
THRESHOLD 0.01
&END TIMINGS
&END GLOBAL
&FORCE_EVAL
METHOD Quickstep
&DFT
BASIS_SET_FILE_NAME ../DATA/HFX_BASIS
POTENTIAL_FILE_NAME ../DATA/GTH_POTENTIALS
&MGRID
CUTOFF 300
REL_CUTOFF 50
&END MGRID
&POISSON
PERIODIC NONE
POISSON_SOLVER WAVELET
&END POISSON
&QS
EPS_DEFAULT 1.0E-12
EPS_PGF_ORB 1.0E-18
METHOD GPW
&END QS
&SCF
EPS_SCF 1.0E-7
MAX_SCF 100
SCF_GUESS ATOMIC
&PRINT
&RESTART OFF
&END RESTART
&END PRINT
&END SCF
&XC
&WF_CORRELATION
MEMORY 200.
NUMBER_PROC 1
&INTEGRALS
ERI_METHOD GPW
&WFC_GPW
CUTOFF 300
REL_CUTOFF 50
&END WFC_GPW
&END INTEGRALS
&RI_RPA
RSE TRUE
RPA_NUM_QUAD_POINTS 16
&HF
FRACTION 1.0000000
&SCREENING
EPS_SCHWARZ 1.0E-8
SCREEN_ON_INITIAL_P FALSE
&END SCREENING
&END HF
&END RI_RPA
&END WF_CORRELATION
&XC_FUNCTIONAL PBE
&END XC_FUNCTIONAL
&END XC
&END DFT
&SUBSYS
&CELL
ABC [angstrom] 14.0 14.0 14.0
PERIODIC NONE
&END CELL
&KIND H
BASIS_SET DZVP-GTH
BASIS_SET RI_AUX RI_DZVP-GTH
POTENTIAL GTH-PBE-q1
&END KIND
&KIND O
BASIS_SET DZVP-GTH
BASIS_SET RI_AUX RI_DZVP-GTH
POTENTIAL GTH-PBE-q6
&END KIND
&TOPOLOGY
COORD_FILE_FORMAT xyz
COORD_FILE_NAME H2O_gas.xyz
&CENTER_COORDINATES
&END CENTER_COORDINATES
&END TOPOLOGY
&END SUBSYS
&END FORCE_EVAL
grep -E 'singles correction|RI-RPA energy|EXX energy|ENERGY\|' work/cases/water-ri-rpa-rse-q16/output.log
本次Full singles correction (RSE)=-0.002834080403 Hartree,最终总能=-17.203235917331 Hartree。总能比同参数未启用RSE的条件低约0.077119 eV,恰好对应这一原生修正项。
日志还会打印Diagonal singles correction (dRSE),它是另一种近似分量;本例最终能量采用Full singles correction,不能把两个数字同时加进去。RSE是非HF参考上的单激发相关修正,不是重新进行一次HF几何优化。

7 换体系时先检查哪些地方#
修改XYZ和元素KIND后,重新检查参考泛函与赝势、轨道/RI基组、盒长、SCF与积分点数;比较反应物、产物或构型时保持这些设置一致。本篇是基于PBE轨道的有限基组水分子单点,没有给出周期固体、金属、RPA梯度、AXK、SOSEX或低标度算法的通用输入。
提取、检查和重画#
module load ase/3.29.0
python analyze.py work
python plot_results.py work
python check_results.py work
cat work/analysis/correlation.csv
ls work/figures
CSV逐列给出SCF参考、最终总能、相关能、自旋分项、精确交换、PBE交换关联和RSE项,单位为Hartree;空白表示该方法不使用这一项。JSON保留各条件参数和核对结果。只查看本文数据时将work改成reference。
积分、RSE与其他扩展的定义见CP2K2026.2 RPA官方说明。