Wannier90 WS距离插值与文件一致性
使用官方固定Si检查点演示use_ws_distance,并解释它与DFT网格收敛的区别。
阅读本篇目录
下载完整输入、参考输出与图片程序,保存为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点比较。功能与注意事项见官方插值说明。
需要根据你的体系选择资源?联系讨论计算需求。实际可用软件与权限,以当前账户和运行环境为准。