WannierTools:Berry环路输入与结果检查
解释KPATH_BERRY顶点、段内采样、闭合条件、相位分支和坐标单位。
阅读本篇目录
环路相位看起来只有一个数字,输入路径、占据带和单位却需要一致。本篇用实际4组结果说明怎样核对。
1. 读取结果#
下载完整输入、实际结果和读取绘图程序,保存为 example.zip:
python3 -m zipfile -e example.zip .
cd wanniertools-nodal-loop
bash read.sh
bash plot.sh
默认读取附带结果,在 analysis-read 和 figures 生成数据与图片,不重新执行计算。
head -3 reference-results/linked64/kpath_berry.txt
cat analysis-read/WannierTools-nodal-loop-phases.csv

2. 表头里的1不是1弧度#
kpath_berry.txt 表头写的是 Berry phase=1.000000 pi,因此相位为π。程序按模2π输出,−π与π是同一个相位。
反向走环路时,相位可能换分支,但这个π相位的模2π值保持相同,不能仅靠它判断Weyl点手性或环绕方向的正负电荷。本篇也没有运行 NLChirality_calc。
3. 路径两套坐标不要混用#
文件前3列是本版本原生笛卡尔倒空间坐标,实际单位为 Bohr⁻¹;后3列是分数倒空间坐标。本例绘图使用后3列,与 KPATH_BERRY 的 Direct 输入一致。
awk '!/^#/ {print $4,$5,$6}' \
reference-results/linked64/kpath_berry.txt | head
如果需要Å⁻¹,要按长度单位转换,不要直接把前3列标成Å⁻¹。完整输入和晶格常数应与数据一起保留。
4. 先闭合,再加密#
本例65个输入顶点中,最后一个重复第一个,明确形成64段闭合多边形;程序还按其实现进行闭合重叠。对真实材料,路径若跨布里渊区边界,必须按相应倒格矢和基组规范保持闭合,而不是任意连接两个不同端点。
tail -3 inputs/linked64/wt.in
tail -3 inputs/linked128/wt.in
64到128段的本例相位不变。每条环路还检查了路径上的模型带隙和邻点重叠,不是只看最终数字是否接近1。若路径穿过简并点,单一占据带的相位计算可能不再适用。
5. 换成自己的体系#
先确定要环绕的节点位置,设置足够小且不穿过简并点的路径,再分别改变环路半径、采样与占据设置。真实多带材料还需要保证目标占据子空间沿路径可分离。
本例是自建实数二带模型,相位可由d向量绕原点的奇偶性理解;不能把它对一般多带材料的适用范围无限外推。文件输入流程见节点线环路Berry相位。