Wannier90专题

Wannier90电子输运与热导率

硅模型的化学势、温度和弛豫时间扫描,提取Seebeck与零电流电子热导率。

更新于 2026-11-06约 5 分钟阅读按任务与环境选择适用配置
阅读本篇目录

下载输入、真实数值与终端工具(ZIP)。

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 先明确算哪种输运#

本篇采用常数弛豫时间、刚性能带的BoltzWann近似,计算电导率、Seebeck和电子热输运。它不会自动求出散射机制或真实弛豫时间,也不包含晶格热导率。

主要例子沿用集群此前实际VASP 6.6.1计算的Si 6³网格矩阵,以及硅Wannier化得到的八轨道模型。本文新增的是实际 postw90 输运计算,没有重复DFT。另提供官方QE硅4³矩阵的参考案例,来源在附件中单独标明。

2 设置化学势、温度和弛豫时间#

完整输入在 inputs/si10/wannier90.win,保留晶胞、原子、原始k点等已有部分,关键输运段为:

boltzwann = true
kmesh = 12
boltz_mu_min = 5.0
boltz_mu_max = 8.0
boltz_mu_step = 0.25
boltz_temp_min = 300
boltz_temp_max = 600
boltz_temp_step = 300
boltz_relax_time = 10
boltz_tdf_energy_step = 0.001

化学势单位eV,温度K,弛豫时间fs。kmesh=12 是12³插值积分网格;原始DFT网格仍为6³。化学势5—8 eV属于当前输入能量零点,不是相对真空的绝对电极电势。两种温度各13个化学势,共26行结果。

3 运行并提取自己的结果#

bash calculate.sh si10
bash calculate.sh si20
ls work/si10-serial/wannier90_*.dat
bash convert.sh work/si10-serial
bash plot-result.sh work/si10-serial

si20 只把假定弛豫时间改为20 fs。convert.sh 读取指定目录的原生张量文件,生成 converted-transport.csv 和 conversion-checks.json;绘图助手从同目录win读取实际弛豫时间,不默认把所有计算都标为10 fs。

底层步骤为:

module purge
module load wannier90/4.0.3-serial
export OMP_NUM_THREADS=1
export MKL_NUM_THREADS=1
cd work/si10-serial
w90chk2chk.x -import wannier90
postw90.x wannier90

运行助手已执行这些步骤,通常不必再重复。若要核对官方参考模型:

bash calculate.sh si-reference

4 输出分别是什么#

原生后缀 物理量与单位
_elcond.dat 电导率σ,S/m
_seebeck.dat Seebeck张量S,V/K;图中乘10⁶显示μV/K
_sigmas.dat 当前4.0.3原生一阶输运矩;本例记为B
_kappa.dat 二阶系数K,W/(m·K),尚未作零电流修正
_tdf.dat 能量分辨输运分布,保持原生单位定义

前四种文件的前两列为化学势eV和温度K。σ、B、K的六个独立分量按 xx、xy、yy、xz、yz、zz 排列;Seebeck为九分量行顺序 xx、xy、xz、yx、yy、yz、zx、zy、zz。不能给所有文件套同一个列索引。

当前4.0.3实际输出满足 B=−σ·S。文件名里的 sigmas 不足以判断符号;建议直接读取 _seebeck.dat 的S,并使用附件转换工具核对。换版本后应重新检查原生定义,不能生搬本例符号。

这里的σ单位是S/m,光学教程是S/cm,换算关系为 1 S/cm = 100 S/m。

5 电子热导率需要再做一步#

零电流电子热导率为:

κe = K − T Sᵀ σ S

以上均是矩阵乘法,S必须使用V/K。等价形式为 κe=K−T Bᵀ σ⁻¹ B。只有确实可按对角近似处理时,才可在单方向写成标量形式;一般各向异性体系不要逐元素乘除。

因此不能直接把原生 _kappa.dat 的K改个标题就称为最终电子热导率。转换工具同时保留原始K、热电修正及最终κe,便于自己比较。转换过程也用原生TDF独立积分核对了σ、S、B、K和κe;没有改写原生文件。

6 看本集群实际得到的数据#

μ=5.0 eV、T=300 K、τ=10 fs时:

σxx ≈ 2306983.667 S/m
Sxx ≈ +37.16819018 μV/K
Bxx ≈ −85.78411573 A/(m·K)

τ从10变20 fs时,在本常数弛豫时间模型里σ、K和κe成比例增大,Seebeck保持不变。这是近似模型的缩放性质,不表示实际样品的弛豫时间已知。

实际硅输运扫描、Seebeck及电子热导修正

左图对比两种温度与弛豫时间,中图显示Seebeck符号和温度依赖,右图区分原生K与零电流κe。这里不是硅实验输运曲线的拟合;低载流子区需特别检查能量积分步长、k网格和近奇异电导矩阵,不能只看曲线平滑。

7 换成自己的材料#

先完成自己的结构/电子计算和Wannier模型,检查目标能区的能带插值,再准备相匹配的检查点、win、mmn、eig。复制本例的输运参数段,按自己的能量零点调整化学势范围,逐项测试原始网格、插值网格及TDF能量步长。

不同缺陷、温度散射或掺杂导致能带变化时,刚性能带和常数τ不一定成立。若需要声子晶格热导率,应另做声子散射计算,不能与本篇κe混为一谈。

参考:Wannier90 BoltzWann说明、4.0.3原生实现及输出定义。

需要根据你的体系选择资源?联系讨论计算需求。实际可用软件与权限,以当前账户和运行环境为准。

查看配图

放大后可滚动查看细节,按 Esc 关闭。

100%查看原图 ↗