Wannier90 Berry响应与轨道磁矩
从自旋轨道耦合检查点计算反常Hall响应和轨道磁矩,实际对比积分网格。
阅读本篇目录
unzip wannier90-responses-wave257-*.zip
cd wannier90-response-wave257
bash run.sh
先执行这三行即可整理已完成计算的数值,得到 analysis/*.csv 和 figures/*.png。这一步不启动DFT。下面的 calculate.sh 才实际调用检查点转换器和 postw90.x。每次计算使用新目录;已有同名目录时脚本会提示,避免覆盖结果。
本套使用独立版Wannier90 4.0.3,Intel oneAPI 2024.2 ifx、Intel MPI 2021.13与MKL顺序接口。串行和MPI入口分别为 wannier90/4.0.3-serial、wannier90/4.0.3-mpi。线程固定为1;MPI示例用4个进程。正式批量任务按集群规则提交Slurm,不在登录节点启动大规模积分。
1 准备什么#
先阅读Wannier90实操路线与文件和自旋量子态与DOS。能带插值正确并不自动代表Berry响应已收敛。需要与同一电子结构计算匹配的晶胞、k点、能量、重叠矩阵及Wannier检查点;轨道磁矩还需要 uHu 等相应接口矩阵。
本例使用官方4.0.3测试集的体心立方Fe SOC模型,18个自旋量子态Wannier轨道、28条原始能带、2×2×2原始k网格。原始QE矩阵来自官方,本文所有后处理在鸢算科技集群实际运行;没有把官方原始DFT说成集群新计算。
晶胞(bohr)为:
begin unit_cell_cart
bohr
2.71175 2.71175 2.71175
-2.71175 2.71175 2.71175
-2.71175 -2.71175 2.71175
end unit_cell_cart
begin atoms_frac
Fe 0.0 0.0 0.0
end atoms_frac
这是一个Fe原子的原胞。图中角点是周期像,箭头只表示轨道磁矩方向,长度为示意。
2 先算反常Hall电导率#
bash calculate.sh ahc
grep -A 3 'AHC (S/cm)' work/ahc-serial/Fe.wpout
关键输入已经包含在 inputs/ahc/Fe.win,不需要重建整份win:
spinors = true
fermi_energy = 12.6279
berry = true
berry_task = ahc
berry_kmesh = 10 10 10
fermi_energy 单位eV,必须沿用当前矩阵的能量零点。mp_grid=2 2 2 是原始电子结构网格,berry_kmesh 是后处理积分网格,不能把后者变密当成原始DFT已经变密。
运行助手在工作目录中实际执行检查点导入和物性计算:
module purge
module load wannier90/4.0.3-serial
export OMP_NUM_THREADS=1
export MKL_NUM_THREADS=1
cd work/ahc-serial
w90chk2chk.x -import Fe
postw90.x Fe
这段是底层命令说明;运行过助手后不必再重复执行。格式化文本检查点便于分发,先导入得到当前程序可读的二进制 Fe.chk,再运行后处理。
3 做积分网格与化学势对照#
bash calculate.sh ahc20
bash calculate.sh ahc40 mpi
bash calculate.sh ahc-scan
四进程助手实际使用 mpirun -np 4 postw90.x Fe。本例固定化学势12.6279 eV,z分量得到:
| 积分网格 | AHC z分量(S/cm) |
|---|---|
| 10³ | 1222.1510 |
| 20³ | 2107.7760 |
| 40³ | 1310.4655 |
数值明显变化,因此这组网格尚不足以给出收敛材料常数。真实研究需同时检查原始DFT网格、Wannier窗口与插值质量、费米面附近积分以及必要的自适应设置。
化学势扫描输入为:
fermi_energy_min = 12.4279
fermi_energy_max = 12.8279
fermi_energy_step = 0.2
10³积分下,三点z分量约为152.193455、1222.150979、23354.127654 S/cm。这里展示费米能附近的敏感性;移动化学势属于当前刚性能带模型,不等于已经重新计算掺杂后的结构或势场。
4 计算轨道磁矩#
bash calculate.sh orbital
grep -A 3 'M_orb' work/orbital-serial/Fe.wpout
输入中的相关项:
berry = true
berry_task = ahc+morb
berry_kmesh = 10 10 10
uHu_formatted = true
完整参数以附件 inputs/orbital/Fe.win 为准。助手会准备配套的 Fe.uHu,不要借用别的材料或另一套k网格的矩阵。
实际轨道磁矩约为:
Mx = 0.0000013144 μB/cell
My = 0.0000002854 μB/cell
Mz = 0.0430559492 μB/cell
它是轨道部分,不能与上一篇的自旋DOS积分混为同一物理量,也不能把粗网格结果直接当作实验Fe磁矩。

5 得到什么#
Fe.wpout 保存原生运行摘要,扫描文件保留各化学势结果;bash run.sh 生成 Fe-AHC-grid.csv、Fe-AHC-scan.csv、Fe-orbital.csv 及上图。三张CSV是明确标注的提取表,不冒充原生输出。
继续阅读光学与联合态密度及电子输运与热导率。本篇覆盖上述Berry体响应,不包含表面Green函数或所有Wannier90选项。