Wannier90 Γ点分子与vdW色散模型
两片苯分子的Γ点局域化、原始中心修正、片段分组与w90vdw实际结果。
阅读本篇目录
下载完整输入、参考数据和绘图程序,保存为example.zip:
python3 -m zipfile -e example.zip .
cd wannier-utilities-examples
bash results.sh
bash plot.sh
环境使用wannier90/4.0.3-serial,Intel ifx2024.2、AVX2、MKL顺序库;MPI构建使用Intel MPI2021.13。本文小例子用单线程即可。job.slurm申请CPU分区资源,再由run.py在新的work/算例名下运行。查看参考结果不需要重新计算;重复计算时换用新的解压目录。
1. Γ点分子工作流#
本例为官方两片苯的固定矩阵,24个原子、30个价带Wannier函数、60个电子。使用Γ点分子局域化,在集群实际运行了Wannier90与原版w90vdw。不是新增DFT,也不是完整结合能计算。
cat inputs/benzene-gamma-vdw/benzene_s_val.win
sbatch job.slurm benzene-gamma-vdw
关键设置:
num_wann = 30
num_iter = 2000
conv_tol = 1e-12
conv_window = 10
length_unit = bohr
mp_grid = 1 1 1
gamma_only = true
num_valence_bands = 60
num_elec_per_state = 2
write_vdw_data = true
write_xyz = true
translate_home_cell = true
gamma_only要求输入矩阵确实来自Γ点兼容流程,不是把任意k网格强行改成1×1×1。这个例子的U矩阵为实数。length_unit=bohr下wout显示Bohr/Bohr²;文本检查点保存的中心和展宽仍按Å/Ų处理,不能再额外乘一次单位换算。
2. 4.0.3先处理中心坐标#
当前安装版4.0.3在测试到的自动home-cell导出分支中,把带2π的倒格矢当成普通逆矩阵使用,导致自动XYZ/vdW原型的折回位置错误。原始检查点中心与原始wout中心未受这个导出分支影响。我们没有修改公共程序。
先从自己计算的工作目录导出原始检查点,再用随包小工具正确折回:
cd work/benzene-gamma-vdw
w90chk2chk.x -export benzene_s_val
cd ../..
/public/toolkit/miniconda3/envs/ase-3.29.0/bin/python centres.py work/benzene-gamma-vdw/benzene_s_val --vdw
只查看本包参考中心,可直接对已有文本检查点操作:
/public/toolkit/miniconda3/envs/ase-3.29.0/bin/python centres.py inputs/benzene-gamma-vdw/benzene_s_val --vdw
head -n 6 inputs/benzene-gamma-vdw/centres-corrected.csv
工具读取chk.fmt全精度原始中心,使用f=r·A⁻¹、r_home=(f−floor(f))·A,并检查改变量为整数晶格矢量。不是重新局域化,也没有改变U矩阵或能谱。--vdw的15+15按z分组仅适用于本包这两个苯,换成其他分子必须重新定义片段。

3. 编译独立辅助程序并计算#
源码在本包upstream,主程序模块不一定把这些源码工具放入PATH。具备ifx/icx2024.2环境时,在自己的目录编译:
bash build-helpers.sh
cp tools/benzene.vdw .
./bin/w90vdw.x benzene.vdw
tail -n 8 benzene.vdw.out
tools/benzene.vdw已经使用正确中心及15+15片段顺序。文件头为:
disentangle F
amalgamate F
degeneracy 2
num_frag 2
num_wann
15 15
tol_occ .9
pxyz
F F F
F F F
tol_dist .05
centres_spreads_occ
ang
后面每行是中心x/y/z、展宽和占据权重;占据1与头部degeneracy 2合起来表示每个函数2个电子。片段不是自动靠近即正确识别,需要输入顺序对应分组。
实算得到:
vdW energy = -0.00505911 Ha
C6_eff = 2730.69638178 Ha*Bohr^6
色散模型能约−0.13766eV,与官方参考打印的−0.00505911Ha一致。它只是该模型的色散项,不能当作两个苯分子的总结合能,也没有证明该距离或分子构型已经优化。
工具与文件说明见官方辅助工具说明。