VASP重叠矩阵与Wilson环
从Si的实际Wannier接口数据计算闭合Wilson环相位,理解Berry信息与拓扑判据的区别。
阅读本篇目录
Berry信息不仅来自能量,还来自相邻k点波函数之间的重叠。本例利用Si已完成的VASP–Wannier接口计算,沿闭合k空间回路构造Wilson矩阵,展示怎样从重叠数据提取相位。
1. 准备连续的占据子空间#
本例无SOC、无自旋极化,Si原胞共有4条占据的空间轨道能带。均匀4×4×4网格包含64个k点,VASP计算8条带,接口排除第5–8带,输出4带重叠矩阵。
VASP 6.6.1 P100 Wannier接口分支、PBE PAW64、550 eV、EDIFF=1E-6,构建采用NVHPC 25.3、CUDA 12.8、MKL 2023.2及配套MPI。前置流程见Wannier插值教程。本页直接处理VASP产生的mmn,不把独立Wannier90版本与VASP链接接口版本混为一谈。
2. 找到首尾闭合的相邻点#
wannier90.mmn记录Mmn=⟨u_m(k)|u_n(k+b)⟩,同时记录邻点编号与跨周期边界的倒格平移。不能只看两个k点坐标相近,就忽略跨布里渊区边界的相位连接。
本例固定原胞倒格坐标k₂、k₃,沿k₁每次增加1/4,走4步回到起点,包含正确的周期连接。对16组横向坐标分别计算回路。
3. 构造Wilson矩阵并取本征相位#
对每个相邻点重叠矩阵作奇异值分解M=UΣV†,用其酉部分UV†作离散平行移动,再按回路顺序相乘。所得Wilson矩阵的本征值位于单位圆,取其相位并除以2π。Wilson环与混合Wannier中心的方法说明

在k₂=k₃=0的回路,本次四个相位/2π为:
-0.125000, -0.125000, -0.125000, 0.375000
它们按大小显示;相位只定义到整数周期,曲线越过±0.5边界不一定表示物理不连续。比较相位演化时,需要跟踪子空间和周期分支,不能只将每个点独立排序后就判断“绕行次数”。
4. 怎样检查计算的含义#
本次回路的最小相邻重叠奇异值约0.662237。脚本核对反向重叠等于正向矩阵的共轭转置、回路首尾闭合,并在每个k点施加随机酉基变换后检查Wilson矩阵的规范协变性。本征相位应保持不变。
行列式的相位等于各本征相位之和(模2π),对应所选整个占据子空间的闭合Berry相位。这不要求给简并的每条能带单独指定一个绝对相位。
5. 为什么本页不据此给出Z₂或Chern数#
本页只有粗4³网格、无SOC的Si占据子空间,目的是演示实际重叠矩阵的读取和闭合相位。它不是完整二维参数面上的密集相位追踪,也没有实施自旋轨道体系的时间反演拓扑判据。
要判断Z₂、Chern数、Weyl节点或表面态,应先明确体系对称性、占据子空间、能隙及适用算法,再加密回路和横向采样并检查拓扑指标收敛。不能看到一张相位图,就直接宣布材料是拓扑绝缘体。
输入、矩阵与提取脚本#
附件提供本次真实mmn及win参考文件,可直接运行python extract_wilson.py查看结果。重新计算时按README运行对应VASP接口目录,再用自己生成的矩阵替换参考输入。脚本为本例4³网格和沿原胞第一倒格方向的回路编写,换网格或模型时需相应调整,不是通用Z₂自动判定器。