Wannier90 旋光与动磁电响应:Te五类入口
C、D0、Dw、K与NOA五个原生后处理例,并解释局部BZ盒与单位。
阅读本篇目录
下载完整输入、参考数据和绘图程序,保存为example.zip:
python3 -m zipfile -e example.zip .
cd wannier-response-examples
bash results.sh
bash plot.sh
环境使用wannier90/4.0.3-serial,Intel ifx2024.2、AVX2、MKL顺序库;MPI构建使用Intel MPI2021.13。本文小例子用单线程即可。job.slurm申请CPU分区资源,再由run.py在新的work/算例名下运行。查看参考结果不需要重新计算;重复计算时换用新的解压目录。
1. 选择任务#
本例使用官方固定Te模型和五套原始教学输入,在集群运行原版postw90,与对应官方输出一致。五套计算使用一个局部BZ盒,不是覆盖全布里渊区的体材料预测。
| 算例 | 物理入口 | 主要文件 | 本例原生单位 |
|---|---|---|---|
| Te-gyro-C | 欧姆电导相关C张量 | Te-gyrotropic-C.dat | A/cm |
| Te-gyro-D0 | Berry曲率偶极 | Te-gyrotropic-D.dat | 无量纲 |
| Te-gyro-Dw | 有限频率曲率偶极推广 | Te-gyrotropic-tildeD.dat | 无量纲 |
| Te-gyro-K | 动磁电效应轨道项 | Te-gyrotropic-K_orb.dat | A |
| Te-gyro-NOA | 天然旋光轨道项 | Te-gyrotropic-NOA_orb.dat | Å |
cat inputs/Te-gyro-D0/Te.win
sbatch job.slurm Te-gyro-C
sbatch job.slurm Te-gyro-D0
sbatch job.slurm Te-gyro-Dw
sbatch job.slurm Te-gyro-K
sbatch job.slurm Te-gyro-NOA
每个win的gyrotropic主开关、gyrotropic_task、局部盒、费米能与频率设置必须成套使用,不把不同任务的文件头和单位混在一起。NOA轨道项不包含所有可能的自旋贡献。
2. 明确积分区域#
本例盒中心约为(0.33333,0.33333,0.5),边方向为原输入给定的0.2尺度,网格5³;EF从2到10eV、步长2eV,有限频率任务按原输入0–0.1eV、步长0.05eV。完整几何与单位都在各自win中:
grep -i -A 14 'gyrotropic' inputs/Te-gyro-Dw/Te.win
head -n 8 reference-results/Te-gyro-C/Te-gyrotropic-C.dat
head -n 8 reference-results/Te-gyro-Dw/Te-gyrotropic-tildeD.dat
head -n 8 reference-results/Te-gyro-NOA/Te-gyrotropic-NOA_orb.dat
有的文件前两列是EF和频率,后面是对称6分量与反对称3分量;NOA有自己的9个分量顺序。必须读本文件列名,不能统一按“第3列=xx”解析所有任务。
3. 从文件到图#
bash plot.sh
随包图读取NOA文件头对应的yzx、zxy、xyz,单位Å。这里能检查的是输入读取、张量输出与固定参考一致;不能把局部盒曲线发布成Te全BZ体材料旋光系数。
要换成自己的材料,先生成包含所需矩阵的Wannier模型,明确是否包含自旋项,再选择全BZ或有物理目的的局部积分、收敛网格与展宽。dos和spin等附加任务还需要相应开关与矩阵,不因为同属于gyrotropic就自动包含。
各任务公式与附加项见官方Gyrotropic文档。