WannierTools对称性与k点归类
用立方与正交单轨道模型识别对称操作,理解磁场方向筛选、k点归类和Gaussian态密度。
阅读本篇目录
Symmetry_Import_calc这个名称容易让人以为要导入一个操作矩阵文件。本例的WannierTools2.7.0实际从晶胞和原子位置寻找对称操作,再按磁性配置筛选。先看输入和输出中的实际操作数,再决定哪些功能可使用这些对称性。
1 准备两个小模型#
下载输入、原始结果和绘图脚本,在自己的工作目录解压:
python3 -m zipfile -e wanniertools-symmetry-wave949-*.zip .
cd wanniertools-symmetry
ls inputs/cubic
使用集群wanniertools/2.7.0-8173m CPU模块,oneAPI2023.2构建(ifort2021.10.0、Intel MPI2021.10、MKL2023.2.0、ARPACK-NG3.9.1);相关网格输入见平面与立方体网格。两个模型都只有一个原点上的s轨道,最近邻跃迁为−1 eV:立方晶胞边长3 Å;正交晶胞边长3、4、5 Å。它们用于展示程序输入和数值归类,不代表某种真实材料。
2 看清输入和默认磁场#
cat inputs/cubic/wt.in
核心输入如下,正交例只更换三条晶格矢量:
&TB_FILE
Hrfile='model_hr.dat'
/
&CONTROL
Symmetry_Import_calc=T
Dos_calc=T
/
&SYSTEM
NumOccupied=1,SOC=0,E_FERMI=0
/
&PARAMETERS
Nk1=5,Nk2=5,Nk3=5
OmegaNum=81,OmegaMin=-8,OmegaMax=8,Eta_Arc=0.2
/
LATTICE
Angstrom
3 0 0
0 3 0
0 0 3
ATOM_POSITIONS
1
Direct
X 0 0 0
PROJECTORS
1
X s
KCUBE_BULK
0 0 0
1 0 0
0 1 0
0 0 1
这个版本没有填写磁场参数时,会使用沿z方向的1 T默认值。 可在&SYSTEM中明确写出Bmagnitude=1, Btheta=0, Bphi=0表达同一选择;不能把原输入当成零场对称性计算。实际WT.out会列出Bx, By, Bz,以该行核对采用的方向和大小。
这里的磁场用于筛选对称操作;本例密集矩阵DOS没有加入Peierls磁相位或Zeeman项,所以图中不是磁场下的新能带或磁致态密度。
3 提交自己的计算#
python3 prepare.py
cd work-new
sbatch ../submit.sh
脚本依次执行两个小模型,使用1个MPI进程和1个OpenMP线程。普通CPU分区按56核整节点申请与计费;示例中的小矩阵并不需要使用56个计算线程。
完成后回到包的根目录,读取自己的结果:
cd ..
bash read.sh work-new
bash plot.sh
若只想先查看本教程的实际结果,用bash read.sh和bash plot.sh读取附带数据,不提交新作业。
4 对称操作与k点轨道怎么读#
grep -E 'total number of operators|symmetry operations left|symmetry reduced kpoints' work-new/cubic/WT.out
| 模型 | 几何对称操作 | 沿z磁场筛选后保留 | 125个网格点归类后 |
|---|---|---|---|
| 立方 | 48 | 8 | 21组 |
| 正交 | 8 | 4 | 39组 |
归类时按所保留的操作映射分数k坐标,并把相差整数倒格矢的点视为等价。一组中包含多少点由该点的位置决定,不能把125简单除以操作数作为结果。

同色点属于同一组;两图的分数坐标网格相同,但晶胞和有效操作不同。读取脚本独立生成整数正交操作、检查晶格度量,再建立k点轨道,与程序输出的21和39组核对。
5 查看DOS:这里并没有用缩减网格加速#
head -n 6 work-new/cubic/dos.dat
head -n 6 analysis-read/WT-symmetry-Gaussian-DOS.csv
这个版本的密集矩阵dos_sub仍逐一计算全部125个点;不要看到对称性摘要就宣称本例DOS只算了21或39个点。输出第一列是eV,后九列是不同Gaussian展宽的DOS,单位为态/(eV·晶胞)。SOC=0时程序乘以2计入自旋简并。

Eta_Arc=0.2 eV会生成0.02、0.04、0.08、0.16、0.2、0.4、0.8、1.6、2 eV九档Gaussian标准差。它不是这里所用的Lorentz半高宽。模型色散为E(k)=-2[cos(2πk1)+cos(2πk2)+cos(2πk3)] eV,读取程序独立求出125个能量,再做Gaussian求和。与原生六位小数DOS最大差异约4.98E-7 态/(eV·晶胞)。
改变晶格长度而保留相同的分数坐标跃迁矩阵,会得到相同的分数k空间色散,因此这两张DOS相同是本例的构造结果。用于真实体系时,应同时使用该结构对应的真实HR和Wannier中心,不能只改晶胞就认为重新得到材料电子结构。
输入、操作分组与CSV均在上面的下载包中。ZIP SHA256:865da7e1cae2ecd680f37dcd419c42ce4d0475ae9d906eb0230b2cb342966eb9。