CP2K 分子GW准粒子能级
用真实水分子演示G0W0、evGW0与evGW的完整输入、Slurm提交、前置波函数和逐轮能级读取。
阅读本篇目录
从DFT轨道到准粒子能级,最重要的是区分“基态总能”“单电子能级”和“光学激发能”。本篇用实际水分子演示CP2K的分子G0W0、evGW0与evGW输入、提交和结果提取;积分点数与自能曲线另页讲解数值检查。
1. 下载结果,先提取再画图#
下载分子GW实操包,在新目录解压:
unzip cp2k-molecular-GW-wave296-*.zip
cd cp2k-molecular-GW-wave296
bash preview.sh
bash run.sh
preview/重画参考图,results/data/保存从原生数值表提取的所有选定轨道与迭代,plots/重画四张图,随包figures/可直接看。输出目录受保护,重跑请使用新解压目录。这里使用已分配资源内1个CPU后处理,不重新跑SCF或GW。
实际环境为CP2K2026.2双精度构建,GNU13.3、MPICH5.0.1、CUDA12.9、OpenBLAS0.3.33、ScaLAPACK2.2.3;P100与V10016G上每个原生条件1个MPI进程、1个OpenMP线程。部分步骤走CPU,这里不给出未经同条件对照的GPU加速倍数。后处理用pymatgen/2026.9.24的Python3.11、NumPy2.3.5、Matplotlib3.11.2。
native-tables/只保留实际原生输出中选出的数值表,self-energy/保留完整选定自能曲线的自有CSV,inputs/为完整输入。没有原始二进制WFN或完整运行日志。DATA/是实际使用的CP2K基组与GTH数据,许可见包内LICENSE-CP2K。
2. 三种GW计算改变了什么#
| 输入 | 更新内容 | 本例原生结果 |
|---|---|---|
| G0W0 | 使用DFT能级与轨道构造G和W | 100点下HOMO −11.2908 eV,LUMO +4.9956 eV |
| evGW0 | 更新G中的能级,保持W的构造参照 | 5轮后HOMO −11.6947 eV,LUMO +5.0776 eV |
| evGW | 更新G和W中的能级 | 6轮后HOMO −12.1138 eV,LUMO +5.1916 eV |
本例后两种方法也保持轨道不变,不是更新整个密度矩阵和轨道的完全自洽GW。原生求解准粒子方程时也会用Newton迭代;那是求一个能级根的内层数值过程,不能把G0W0因此称为evGW。

图中蓝线为选定占据轨道,橙线为空轨道;三种GW的方法对照统一使用100积分点。小基组的正能LUMO属于有限基组中离散化的未束缚态,不能直接据此报告实验电子亲和能。深占据价轨道和较高空轨道仍有明显数值敏感性,见另一页的全部八轨道对照;图中的小数位不是实验精度。
3. 关键输入放在哪里#
GW位于DFT/XC/WF_CORRELATION/RI_RPA/GW中:
&WF_CORRELATION
&RI_RPA
QUADRATURE_POINTS 100
&GW
SELF_CONSISTENCY G0W0
CORR_MOS_OCC 4
CORR_MOS_VIRT 4
ANALYTIC_CONTINUATION PADE
NPARAM_PADE 16
EPS_ITER [eV] 0.001
RI_SIGMA_X T
&END GW
&END RI_RPA
&END WF_CORRELATION
CORR_MOS_OCC=4从HOMO往下选择4个占据轨道,CORR_MOS_VIRT=4从LUMO往上选择4个空轨道,不代表整个基组只有8条轨道。本例有23个基函数、4个占据和19个空轨道;选出的4+4条被写入准粒子修正表。
RI_SIGMA_X使用RI表示计算交换自能,RI辅助基组也要收敛。不要把同一段RI输入直接套在没有相应辅助基组的KIND上。
4. 提取能级、间隙与迭代#
cat results/data/summary.csv
cat results/data/quasiparticle-levels.csv
cat results/data/iteration-gaps.csv
CSV保留每一轮、每一条选定轨道的原生数值。100点下,G0W0、evGW0、evGW的准粒子HOMO–LUMO差分别为16.2864、16.7723、17.3054 eV。这是当前模型的准粒子间隙,不是含电子–空穴吸引的光学激发能,不能拿它直接与吸收峰比较。

后两种方法都使用EPS_ITER=0.001 eV;原生输出分别在5与6轮结束,最后显示的间隙变化均约0.0002 eV。这里控制的是相邻间隙变化,不意味着每条深能级或全部数值参数都已收敛。
5. 两个容易读错的输出#
后续自洽轮次中,原生表的E_SCF栏实际打印上一轮能级;它不再一直等于最初DFT的数值。提取表把initial_DFT_eV与previous_iteration_eV分别保存。检查准粒子方程时使用对应初始DFT参照和实际自能项,不把上一轮能级再次当作原始DFT能。
本例最后ENERGY| Total FORCE_EVAL仍是前置PBE总能,不是一个“GW基态总能”。不能把选定的准粒子能级相加当总能,也不能用这行与MP2/RPA相关总能混比。
准备自己的计算并提交#
本例固定一个实际优化过的水结构,O–H约0.9701 Å,放在14 Å非周期立方盒中。PBE/GTH-PBE、DZVP-GTH轨道基组、RI_DZVP-GTH辅助基组,电子密度网格300/50 Ry,相关积分网格300/50 Ry,EPS_SCF=1E-6。这是一组小基组教学实例,没有达到完整基组、辅助基组、真空盒或实验精度;尤其空态需要检查弥散基函数。方法与基组建议见CP2K2026.2分子GW说明。
先在新目录准备第一个条件:
mkdir -p my-GW/DATA
cp DATA/HFX_BASIS DATA/GTH_POTENTIALS my-GW/DATA/
cp -r inputs/water-G0W0-q32 my-GW/
cd my-GW/water-G0W0-q32
把以下内容保存为submit.sh,确认自己的账户可以使用对应分区后提交:
#!/bin/bash
#SBATCH --partition=gpu-8p100-hs
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=1
#SBATCH --gres=gpu:p100-16g:1
#SBATCH --time=00:20:00
source /etc/profile
module purge
module load cp2k/2026.2-p100
export OMP_NUM_THREADS=1 MKL_NUM_THREADS=1 OPENBLAS_NUM_THREADS=1
ulimit -s unlimited
cp2k.psmp -i input.inp -o output.log
sbatch submit.sh
grep 'SCF run converged' output.log
grep -A10 'Molecular orbital' output.log
ls -lh WATER-GW-RESTART.wfn
后面的积分点数与方法对照都从这一份匹配的水波函数开始。以64点为例,从资料包根目录执行:
cp -r inputs/water-G0W0-q64 my-GW/
cp my-GW/water-G0W0-q32/WATER-GW-RESTART.wfn my-GW/water-G0W0-q64/seed.wfn
cp my-GW/water-G0W0-q32/submit.sh my-GW/water-G0W0-q64/
cd my-GW/water-G0W0-q64
sbatch submit.sh
先完成前置条件再复制WFN,不用空文件代替。自己的体系改变了元素、结构、晶胞、基组、赝势或自旋后,应重新准备匹配的电子态。XYZ注释中的旧能量来自先前优化轨迹,本篇单点能量读取当前输出,不能从注释取数。
完整输入#
water-G0W0-q32:input.inp与结构
&GLOBAL
PRINT_LEVEL MEDIUM
PROJECT WATER-GW
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-6
MAX_SCF 100
SCF_GUESS ATOMIC
&PRINT
&RESTART ON
&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
QUADRATURE_POINTS 32
&GW
SELF_CONSISTENCY G0W0
CORR_MOS_OCC 4
CORR_MOS_VIRT 4
ANALYTIC_CONTINUATION PADE
NPARAM_PADE 16
EPS_ITER [eV] 0.001
RI_SIGMA_X T
&END GW
&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
3
i = 6, E = -17.2196938311
O 5.9999999937 6.0000000000 5.9993806921
H 5.9999999971 6.7653454490 6.5954871263
H 5.9999998457 5.2346546213 6.5954872165
water-G0W0-q100:input.inp与结构
&GLOBAL
PRINT_LEVEL MEDIUM
PROJECT WATER-GW
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
WFN_RESTART_FILE_NAME seed.wfn
&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-6
MAX_SCF 100
SCF_GUESS RESTART
&PRINT
&RESTART ON
&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
QUADRATURE_POINTS 100
&GW
SELF_CONSISTENCY G0W0
CORR_MOS_OCC 4
CORR_MOS_VIRT 4
ANALYTIC_CONTINUATION PADE
NPARAM_PADE 16
EPS_ITER [eV] 0.001
RI_SIGMA_X T
&END GW
&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
3
i = 6, E = -17.2196938311
O 5.9999999937 6.0000000000 5.9993806921
H 5.9999999971 6.7653454490 6.5954871263
H 5.9999998457 5.2346546213 6.5954872165
water-evGW0-q100:input.inp与结构
&GLOBAL
PRINT_LEVEL MEDIUM
PROJECT WATER-GW
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
WFN_RESTART_FILE_NAME seed.wfn
&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-6
MAX_SCF 100
SCF_GUESS RESTART
&PRINT
&RESTART ON
&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
QUADRATURE_POINTS 100
&GW
SELF_CONSISTENCY evGW0
CORR_MOS_OCC 4
CORR_MOS_VIRT 4
ANALYTIC_CONTINUATION PADE
NPARAM_PADE 16
EPS_ITER [eV] 0.001
RI_SIGMA_X T
&END GW
&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
3
i = 6, E = -17.2196938311
O 5.9999999937 6.0000000000 5.9993806921
H 5.9999999971 6.7653454490 6.5954871263
H 5.9999998457 5.2346546213 6.5954872165
water-evGW-q100:input.inp与结构
&GLOBAL
PRINT_LEVEL MEDIUM
PROJECT WATER-GW
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
WFN_RESTART_FILE_NAME seed.wfn
&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-6
MAX_SCF 100
SCF_GUESS RESTART
&PRINT
&RESTART ON
&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
QUADRATURE_POINTS 100
&GW
SELF_CONSISTENCY evGW
CORR_MOS_OCC 4
CORR_MOS_VIRT 4
ANALYTIC_CONTINUATION PADE
NPARAM_PADE 16
EPS_ITER [eV] 0.001
RI_SIGMA_X T
&END GW
&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
3
i = 6, E = -17.2196938311
O 5.9999999937 6.0000000000 5.9993806921
H 5.9999999971 6.7653454490 6.5954871263
H 5.9999998457 5.2346546213 6.5954872165