WannierTools:FRMSF单位与子区域
读取实际三维扫描文件时转换Hartree能量与Bohr倒空间单位,并从wt.in恢复子区域坐标。
阅读本篇目录
三维扫描的文件可以同时装能量和着色数据。读入后先确认单位及采样区域,可以避免把正确数值画在错误坐标上。
1. 先读取文件头与CSV#
下载完整输入、实际结果与读取绘图程序,保存为 example.zip:
python3 -m zipfile -e example.zip .
cd wanniertools-Berry-cube
bash read.sh
bash plot.sh
默认读取附带结果,生成 analysis-read 和 figures,不重新计算。
head -9 reference-results/positive-node/Berrycurvature_x.frmsf
head -3 analysis-read/WannierTools-Berry-cube.csv

2. 本版本实际数值约定#
| 数据 | 本例实际约定 |
|---|---|
| FRMSF能量块 | Hartree;包内读取后转为eV |
| 文件头3个倒格矢 | Bohr⁻¹;转换后才是Å⁻¹ |
| Berry曲率x、z与模长 | Ų |
| 网格点的分数坐标 | 按本次 KCUBE_BULK 和Nk重建 |
本例能量按程序采用的换算乘以 27.211385 转为eV,倒空间数值由Bohr⁻¹转Å⁻¹需乘约 1.889726。不要因为文件可由可视化软件打开,就默认能量一定已经是eV。
包内读取器已完成这些转换,CSV使用明确字段 energy_eV、native_Berry_x_A2 等。
3. 小立方体不等于完整布里渊区#
本例 KCUBE_BULK 只取节点附近的小区域,而FRMSF头部仍写原晶格的倒格矢。仅凭这3个向量,不能把这些网格点当作整个布里渊区的均匀网格。
读取器从同目录 wt.in 的起点、向量及Nk恢复每个实际分数坐标,再生成切片和CSV。比较其他数据时,输入文件也应一起保留。
tail -5 inputs/positive-node/wt.in
tail -5 inputs/negative-node/wt.in
4. 两个实际尺度对照#
将晶格常数从3 Å改为4.5 Å,保持同一分数坐标模型,曲率按长度平方放大为 2.25倍;同一分数点的能量不变。图中除去这个比例后,相应曲线重合。
把整个哈密顿量的t从1 eV改为2 eV,本例能带整体扩大2倍,曲率保持一致。这是本二带模型整体缩放的性质,不能据此泛指真实材料所有参数变化都不影响曲率。
这两组对照分别检查长度与能量的处理,不能用一个经验缩放系数代替单位核对。
5. 接下来怎样用数据#
bash read.sh
bash plot.sh
ls figures
可以按CSV中的 case、band、qx/qy/qz 选择能带与切片。本例只绘制带间简并点之外的取样;要计算闭合面通量或拓扑电荷,还需要按相应闭合面方法设置输入与收敛检查。
相关环路操作见节点线Berry相位。本篇的三维曲率采样和环路相位分别解决不同的实际读取与计算问题。