Wannier90专题

Wannier90 WS距离插值与文件一致性

使用官方固定Si检查点演示use_ws_distance,并解释它与DFT网格收敛的区别。

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

下载完整输入、参考输出与图片程序,保存为example.zip:

python3 -m zipfile -e example.zip .
cd wannier-frequency-spin-examples
bash results.sh
bash plot.sh

环境是wannier90/4.0.3-serial,Intel ifx2024.2、AVX2与MKL顺序库。本组使用固定官方测试矩阵和文本检查点,在集群实际执行导入与后处理;没有新增DFT或Wannier化。Slurm脚本使用单线程,提交后在新work目录运行;参考结果可直接读取。

1. 在匹配检查点上打开WS距离#

cat inputs/Si-WS-interpolation/silicon.win
cat inputs/Si-WS-interpolation/silicon_geninterp.kpt
sbatch job.slurm Si-WS-interpolation

核心设置为:

use_ws_distance = true
geninterp = true
geninterp_alsofirstder = true

本例使用官方固定Si模型及其未修改采样点,在集群实际导入检查点并运行postw90,能量与导数都与对应官方参考一致。它与前面的七点导数例使用各自匹配的输入;不要把两个目录的检查点或win交叉替换。

2. 检查输出#

head -n 12 reference-results/Si-WS-interpolation/silicon_geninterp.dat

输出列仍是点号、笛卡尔k坐标Å⁻¹、能量eV、三个笛卡尔能量导数eV·Å。打开WS距离不会把坐标制或单位改成另一套。

use_ws_distance改变插值中与Wannier中心和实空间周期像相关的距离处理;它不增加原始DFT采样点,不重新计算波函数,也不自动修复不合适的能窗、错误投影或缺失矩阵。

3. 实际使用顺序#

先确定DFT→接口→Wannier模型的原始数据是一套,再检查原DFT网格上的能带一致性,然后比较离网格插值、路径上的交叉和目标性质。需要比较开关影响时,从同一原始模型建立两个独立目录,每次只改变这一项,保留两套输出。

不能只因为两条曲线视觉平滑就断言插值更准确;应与原始直接DFT点比较。功能与注意事项见官方插值说明。

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

查看配图

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

100%查看原图 ↗