一维紧束缚模型的能带数量及色散关系绘制方法咨询
嘿,我来帮你梳理这两个关于一维紧束缚哈密顿量的问题:
1. 一维紧束缚模型的能带数量是多少?
你研究的是每个原子仅含一个量子态的单轨道紧束缚模型,这类模型里每个原胞只包含1个原子轨道。根据能带理论的核心结论:原胞内独立量子态的数量,就等于系统能带的数量。所以这个一维紧束缚模型的能带数量是1条。
举个额外的例子:如果每个原子有2个独立量子态(比如同时考虑s和p轨道),那原胞内的轨道数变成2,能带数量也会对应变成2条。
2. 如何绘制上述色散关系?
你给出的色散关系是 $E(k)=E_0-2t\cos(ka)$,首先要明确波矢$k$的取值范围是第一布里渊区,即 $k \in [-\frac{\pi}{a}, \frac{\pi}{a}]$(也可以用 $[0, \frac{2\pi}{a}]$,但对称区间的图像更直观)。
下面用Python的numpy和matplotlib库来实现绘制,步骤和代码都很清晰:
绘制步骤:
- 先设定参数值:可以先简化参数(比如令$E_0=0$,$t=1$,$a=1$),后续再根据需求调整;
- 生成第一布里渊区内足够多的$k$点,保证曲线平滑;
- 代入公式计算每个$k$对应的能量$E(k)$;
- 绘制曲线并添加必要的标注。
代码示例:
import numpy as np import matplotlib.pyplot as plt # 自定义参数(可根据需求修改) E0 = 0 # 格点能 t = 1 # 跃迁参数 a = 1 # 晶格常数 # 生成第一布里渊区的k值,取1000个点保证曲线平滑 k = np.linspace(-np.pi/a, np.pi/a, 1000) # 计算每个k对应的能量 E_k = E0 - 2 * t * np.cos(k * a) # 绘制色散曲线 plt.figure(figsize=(8, 5)) plt.plot(k, E_k, color='navy', linewidth=2) plt.xlabel('波矢 k (单位:1/a)') plt.ylabel('能量 E(k)') plt.title('一维单轨道紧束缚模型的电子色散关系') plt.axhline(y=E0, color='gray', linestyle='--', label='格点能 $E_0$') plt.legend() plt.grid(True, alpha=0.3) plt.show()
额外说明:
- 当你增大$t$时,能带的宽度(从$E_0-2t$到$E_0+2t$)会变宽,因为跃迁作用更强;
- 修改$E_0$只会让整个能带上下平移,不改变能带的形状;
- 如果想画$k \in [0, 2\pi/a]$的区间,只需要把
linspace的起始和结束值改成0和2*np.pi/a即可。
内容的提问来源于stack exchange,提问作者SRS
相关产品推荐
相关产品推荐

