VASPBERRY完整矩阵接口实操
用解析双带模型生成完整速度矩阵,实际运行demo、matrix并提取能量与Berry曲率。
阅读本篇目录
除了直接读取WAVECAR,VASPBERRY也提供完整矩阵接口。本篇使用两轨道QWZ解析模型在集群实际计算,重点是矩阵格式、单位和操作顺序。它不是某种材料的DFT结果。
1 下载和查看参考结果#
下载矩阵与模型实例包,保存为matrix.zip。
python3 -m zipfile -e matrix.zip .
cd vaspberry-matrix
bash results.sh
本例固定VASPBERRY1.6.3及其Python3.11/NumPy环境;原生Fortran程序使用Intel oneAPI2024.2。本篇的解析矩阵、对角化、曲率与Hall积分由配套Python工具计算,不调用VASP。
2 模型与完整矩阵#
模型为H(k)=sin(kx)σx+sin(ky)σy+[m+cos(kx)+cos(ky)]σz,能量单位eV,晶格常数取1Å。demo按解析导数生成D=∂H/∂k,单位eV·Å,而不是只有随意填写的能量表。
运行自己的新例子可直接提交:
sbatch job.slurm
附件脚本执行4组模型。若只想理解一组原生命令,可在自己的新目录中运行:
source env.sh
vaspberry-kubo demo --mesh 32 --mass -1 --output-dir model
生成model/matrix.npz和model/matrix.json。NPZ保存能量、本征态之间的完整三方向矩阵、k点、格矢与覆盖标记;JSON记录算符定义、单位和来源。这里是完整两带模型,不能由此推断一般VASP伪波函数的正则动量已经包含全部PAW速度项。
3 从矩阵计算曲率#
下面命令在一个新目录中与上一条配套使用;已运行附件完整脚本时不要重复使用已存在的输出目录:
vaspberry-kubo matrix --matrices model/matrix.npz --metadata model/matrix.json --n-bands 1:2 --m-bands 1:2 --mesh 32 32 --spin-multiplicity 1 --energy-reference 'QWZ model zero' --degeneracy-threshold-eV 1e-8 --output-dir curvature
ls curvature
n-bands是需要输出的能带,m-bands是中间态求和范围;本例两者都覆盖完整两带。模型没有额外自旋简并,因此spin-multiplicity=1。分数k坐标与Cartesian导数的单位不同,不应额外给结果再乘一次2π。

输出curvature.csv/npz/json,包含两带曲率、能量和最小能隙。图中m=-1与m=3的曲率分布不同,下一篇Hall积分与网格演示如何得到积分响应。
完整矩阵接口和算符要求可对照VASPBERRY项目文档。本系列命令对应安装的1.6.3;不同版本的默认输入路线应按各自文档核对。