||
Siesta 官方有计算半导体能带的范例。既然能带结构都算出来了,有效质量岂不一并得到?
但事实没那么简单,因为能带图中,只要体现出不同方向倒空间长度的相对比值就可以了。比如,对于面心立方的硅,其倒格子 Gamma-L 的长度要是 Gamma-X 长度的 $\sqrt{3}/2$ 倍。相对正确就可以,不要求绝对的 K 值。
然而,计算有效质量需要绝对的 K 值正确,这就要格外留神。
以面心立方结构的半导体为例,正确的做法是:
(1) 输入 fdf 文件中晶格常数要写结晶学原胞(而不是固体物理学原胞)的晶格常数。对于硅,就是要设置成
AtomicCoorFormatOut Ang
LatticeConstant 5.430 Ang
(2) 基矢自然要写成
%block LatticeVectors
0 0.5 0.5
0.5 0 0.5
0.5 0.5 0
%endblock LatticeVectors
(3) 算出的能带结构 *.bands 文件中,能量 E 的单位是 eV 而 K 点的单位是 rad/bohr。注意 K 点的单位不是 rad/ $\mathrm{\AA}$ 。
(4) 后处理过程。
由于
$E=\frac{\hbar^2k^2}{2m^*}$
如果对 E-k 关系在导带底做抛物线拟合:
$E=\alpha+\beta{k}+\gamma{k^2}$
则
$m^*=\frac{\hbar^2}{2\gamma}$
前提是 E 的单位是 J 而 k 的单位是 rad/m,则得到有效质量是 kg。
现在我们输入 E 的单位是 eV,k 的单位是 rad/bohr,而输出有效质量的单位希望是多少倍的电子质量(无量纲)。在这种情况下,经过一些常数换算,可以得到
$m^*=\frac{13.60569366}{\gamma}$
其中 $\gamma$ 是用 Siesta 输出的原始数据(不改变!)做抛物线拟合得到的系数,而算出的是多少倍的电子质量。
(5) 其他计算方法。
如果 LatticeConstant 没有设置成结晶学原胞的晶格常数,就不能用上面的数值来计算。但也不必重新算,因为具体 K 点的值可以手算。比如面心立方晶体的第一布里渊区 X 点坐标是 $(2\pi/a, 0, 0)$ ,其中 $a$ 是结晶学原胞的晶格常数。那么可以无视 Siesta 输出的 K 点,而直接算出 X 点距离原点的绝对距离(rad/m)。根据 K 点的序号,就可以均匀分配给他们从 0 到 X 之间的值。将能量单位换算成 J,就可以在国际单位制下套公式直接计算出有效质量(kg)。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-23 04:08
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社