CP2K RPA辅助基组与实现选择
固定水模型的83、115、144个RI函数与两套交换修正路径,完整AUTO_BASIS输入和实际差值。
阅读本篇目录
RPA的轨道基组、RI辅助表示、数值积分和交换修正路径是不同设置。本篇固定结构与PBE参考,实际比较指定RI基组和自动辅助基组,查看改变辅助表示后哪些能量项一起发生变化。
下载完整输入、实际日志和分析绘图脚本,解压进入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个条件及分析:10个交换修正/辅助表示条件,加上RI-RPA教程的既有同条件RPA参照;公开流程会重算参照,它不计作新的科学条件。
套餐用户用yskit生成所属分区,在已分配资源中保留bash run.sh。多卡只使用已分配、CUDA可见且CPU亲和允许的资源,每卡同时一个任务。不要在登录节点计算,已有work重新解压。inputs可修改;reference是本文实际输出;work是新结果。
整组包含多种数值设置;只先跑一个可在sbatch后传CASES.json中的名称。例如:
sbatch submit.slurm water-rpa-sosex-q16-hfx
单条件得到自己的表格行,完整对照图需要运行整组。
2 指定基组与自动辅助基组#
指定RI_DZVP-GTH时,KIND中写BASIS_SET RI_AUX RI_DZVP-GTH,本水模型共有83个RI函数。改用自动辅助基组时,在DFT层设置AUTO_BASIS RI_AUX LARGE,并去掉各KIND中显式的RI_AUX行,保留原来的DZVP-GTH轨道基组和GTH-PBE赝势。
LARGE与HUGE控制自动辅助基组大小,不是把水分子换成更大的体系。本例生成115与144个RI函数。三个名称代表不同辅助构造,本篇不把它们当成已经证明收敛的严格嵌套基组阶梯。
完整input.inp:water-axk-auto-large#
&GLOBAL
PRINT_LEVEL MEDIUM
PROJECT RI_RPA_H2O
RUN_TYPE ENERGY
&TIMINGS
THRESHOLD 0.01
&END TIMINGS
&END GLOBAL
&FORCE_EVAL
METHOD Quickstep
&DFT
AUTO_BASIS RI_AUX LARGE
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
&EXCHANGE_CORRECTION AXK
USE_HFX_IMPLEMENTATION FALSE
&END EXCHANGE_CORRECTION
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
POTENTIAL GTH-PBE-q1
&END KIND
&KIND O
BASIS_SET 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
HUGE完整文件为inputs/water-axk-auto-huge/input.inp,仅把自动辅助大小改成HUGE;对应HFX文件还显式设置USE_HFX_IMPLEMENTATION TRUE。两种自动表示也对SOSEX作了LARGE对照,实际输入和结果都在资料包中。
3 从原生日志读取真实函数数#
grep -E 'Number of auxiliary basis functions|RI-RPA energy|RI-RPA-AXK energy|EXX energy|ENERGY\|' work/cases/water-axk-auto-large/output.log
grep -E 'Number of auxiliary basis functions|RI-RPA energy|RI-RPA-AXK energy|ENERGY\|' work/cases/water-axk-auto-huge-hfx/output.log
cat work/analysis/rpa-exchange.csv
| 辅助表示 | 实际RI函数数 | RPA相关能/Hartree | 张量AXK项/Hartree | HFX AXK项/Hartree |
|---|---|---|---|---|
| RI_DZVP-GTH | 83 | -0.302629917002 | 0.086508417995 | 0.135486541911 |
| AUTO LARGE | 115 | -0.301964332516 | 0.085727786643 | 0.134846321069 |
| AUTO HUGE | 144 | -0.302211017771 | 0.085941759414 | 0.135077312712 |

LARGE/HUGE下,两条路径之间仍有明显差别。本组没有证明它们数值等价,也不把某个单点总能更低当成准确度结论;实际任务应固定一种实现并针对目标性质继续检查参数。
4 不要跨辅助表示拼接能量#
改变RI辅助表示后,RPA相关能本身也会变化。因此每个条件都使用自己的E(PBE)、PBE交换关联、EXX、RPA相关及交换修正组成最终总能。不能把RI_DZVP-GTH的RPA底座与AUTO LARGE的AXK项拼在一起。
下面用标准Python读取脚本生成的CSV,核对一个AUTO HUGE/HFX条件:
python3 - <<'PY'
import csv
with open('work/analysis/rpa-exchange.csv') as f:
row = next(r for r in csv.DictReader(f)
if r['name'] == 'water-axk-auto-huge-hfx')
base = (float(row['SCF_Ha']) - float(row['PBE_XC_Ha'])
+ float(row['EXX_Ha']) + float(row['RPA_correlation_Ha']))
combined = base + float(row['exchange_correction_Ha'])
print('reconstructed / hartree:', combined)
print('native total / hartree:', row['energy_Ha'])
PY
5 选择下一步检查#
确认轨道/辅助基组与元素匹配,保持不同构型的定义一致,再检查网格、积分点和辅助表示对目标能量差的影响。辅助函数数更多不自动保证目标性质更准确,也不能用本小分子的数值变化直接给其他材料指定参数。
本篇处理的是单点输入、能量组成与数值设置的实际影响,没有给出收敛的水合能、反应势垒或完整基组极限结果。
提取、检查与重画#
module load ase/3.29.0
python analyze.py work
python plot_results.py work
python check_results.py work
cat work/analysis/rpa-exchange.csv
ls work/figures
CSV每行给出SCF、PBE交换关联、EXX、RPA相关、交换修正和最终总能,单位Hartree;JSON保存各实现对照。只看本文数据时将work换成reference。
AUTO_BASIS入口见CP2K2026.2 DFT输入,交换路径见RPA官方说明。