15 C1 晶体学与晶体结构
凝聚态物理与量子材料基础
16 C1 核心模块:晶体学与晶体结构
16.1 章节概述
本章介绍凝聚态物理学的基础——晶体学。晶体结构是理解固体物理性质的起点,从金属到半导体,从绝缘体到超导体,所有凝聚态物质的性质都由其原子排列决定。本章将带领读者从宏观的晶体外观深入到微观的晶格结构,建立起处理晶体问题的基本数学工具。
学习目标: - 理解晶体的本质和分类 - 掌握晶格矢量、倒格子、布拉伐格子等基本概念 - 理解晶体对称性和空间群 - 能够分析常见晶体结构 - 理解晶体缺陷对物理性质的影响
16.2 1.1 晶体结构的本质
16.2.1 晶体是什么
晶体是由原子、离子或分子在空间呈周期性排列而成的固体。与非晶体(如玻璃)相比,晶体具有以下特征:
- 长程有序:原子排列的周期性可延续至整个晶体
- 确定的熔点:晶体在固定温度下熔化
- 各向异性:不同方向上的物理性质不同
- 自发形成多面体:晶体生长时自然形成规则外形
16.2.2 晶格与基元
晶体的数学描述包含两个基本概念:
晶格(Lattice):空间中的一组离散点阵,这些点完全等价且周期性排列。每个格点周围的环境完全相同。
基元(Basis):附加在每个格点上的原子或原子团。晶体的实际结构 = 晶格 + 基元。
\[ \text{晶体结构} = \text{晶格} \times \text{基元} \]
16.2.3 晶格矢量
在三维空间中,我们用三个线性无关的矢量 \(\vec{a}_1, \vec{a}_2, \vec{a}_3\) 来描述晶格的周期性。这三个矢量称为原胞基矢,它们张成的平行六面体称为原胞。
任意格点位置可以表示为:
\[ \vec{R} = n_1 \vec{a}_1 + n_2 \vec{a}_2 + n_3 \vec{a}_3 \]
其中 \(n_1, n_2, n_3\) 为整数。
16.2.4 晶胞
除了原胞外,常用的还有维格纳-塞茨原胞(Wigner-Seitz Cell):以某个格点为中心,作所有连接该格点与最近格点的垂直平分面,这些平面围成的最小体积即为维格纳-塞茨原胞。它反映了晶体的对称性。

16.3 1.2 倒格子与布里渊区
16.3.1 倒格子定义
对于每个正格子(真实晶体),都存在一个对应的倒格子。倒格子是傅里叶变换在晶体学中的体现,在处理波的散射、能带计算等问题时起关键作用。
倒格子基矢定义为:
\[ \vec{b}_1 = 2\pi \frac{\vec{a}_2 \times \vec{a}_3}{\vec{a}_1 \cdot (\vec{a}_2 \times \vec{a}_3)} \]
\[ \vec{b}_2 = 2\pi \frac{\vec{a}_3 \times \vec{a}_1}{\vec{a}_1 \cdot (\vec{a}_2 \times \vec{a}_3)} \]
\[ \vec{b}_3 = 2\pi \frac{\vec{a}_1 \times \vec{a}_2}{\vec{a}_1 \cdot (\vec{a}_2 \times \vec{a}_3)} \]
重要性质:
\[ \vec{a}_i \cdot \vec{b}_j = 2\pi \delta_{ij} \]
任意倒格矢:
\[ \vec{G} = h\vec{b}_1 + k\vec{b}_2 + l\vec{b}_3 \quad (h,k,l \in \mathbb{Z}) \]
16.3.2 布里渊区
第一布里渊区是倒格子空间中原胞的维格纳-塞茨原胞。它是连接原点的倒格矢的垂直平分面所围成的最小体积。
布里渊区的物理意义: - 电子波函数在第一布里渊区内是准连续的 - 能带论中的 \(k\) 空间就是第一布里渊区 - 声子、色散关系等都在布里渊区中讨论

16.3.3 常见晶格的倒格子
| 正格子 | 倒格子 |
|---|---|
| 简单立方 (SC) | 简单立方 |
| 体心立方 (BCC) | 面心立方 (FCC) |
| 面心立方 (FCC) | 体心立方 (BCC) |
| 六方密排 (HCP) | 六方 |
16.4 1.3 晶体对称性
16.4.1 对称操作
晶体的对称性通过以下操作描述:
旋转对称:绕特定轴旋转一定角度后晶体不变
- 1次、2次、3次、4次、6次旋转
- 不存在5次旋转轴(这是晶体学的基本限制)
镜面对称:通过某平面作镜像
反演对称:关于某点的中心对称
旋转-反演:旋转后反演
16.4.2 点群与空间群
点群:只包含旋转、镜面、反演等不移动格点的操作。有32种。
空间群:包含上述操作和平移操作。有230种。
晶体的所有物理性质都受到其空间群的对称性制约。例如: - 压电效应只出现在无中心对称的点群 - 铁磁性需要时间反演对称破缺
16.4.3 晶系
根据晶胞参数,晶体分为7个晶系:
| 晶系 | 轴长关系 | 轴角关系 |
|---|---|---|
| 立方 | a = b = c | α = β = γ = 90° |
| 六方 | a = b ≠ c | α = β = 90°, γ = 120° |
| 四方 | a = b ≠ c | α = β = γ = 90° |
| 三方 | a = b = c | α = β = γ ≠ 90° |
| 正交 | a ≠ b ≠ c | α = β = γ = 90° |
| 单斜 | a ≠ b ≠ c | α = γ = 90°, β ≠ 90° |
| 三斜 | a ≠ b ≠ c | α ≠ β ≠ γ ≠ 90° |
16.5 1.4 常见晶体结构
16.5.1 金属常见结构
面心立方 (FCC): - 配位数:12 - 原子半径:\(r = \frac{\sqrt{2}}{4}a\) - 堆积因子:0.74(最密排) - 代表:Al, Cu, Ni, Ag, Au
体心立方 (BCC): - 配位数:8 - 原子半径:\(r = \frac{\sqrt{3}}{4}a\) - 堆积因子:0.68 - 代表:Fe, Cr, W, Na
六方密排 (HCP): - 配位数:12 - 堆积因子:0.74 - 代表:Mg, Zn, Ti
16.5.2 半导体结构
闪锌矿结构 (Zinc Blende): - FCC 格子 + 两个原子(类比) - 代表:GaAs, ZnS, CdS
纤锌矿结构 (Wurtzite): - 六方结构 - 代表:ZnO, GaN
16.5.3 二维材料结构
石墨烯: - 六角蜂窝状晶格 - 碳碳键长:1.42 Å - 层间距:3.35 Å
过渡金属硫族化合物 (TMDC): - MX₂ 型(MoS₂, WS₂) - 三角棱柱配位

16.6 1.5 晶体缺陷与界面
16.6.1 点缺陷
空位:格点处原子缺失
间隙原子:原子占据格点间的间隙位置
替位原子:杂质原子占据格点位置
弗伦克尔缺陷:空位+间隙原子成对出现
16.6.2 线缺陷
位错:一维方向的晶体缺陷
- 刃型位错:额外半原子面
- 螺型位错:原子面螺旋错位
- 混合位错
位错密度 \(\rho\) 对材料力学性质有重要影响:
\[ \sigma = \sigma_0 + \alpha G b \sqrt{\rho} \]
16.6.3 面缺陷
晶界:不同取向晶粒之间的界面
孪晶界:镜像对称的晶界
堆垛层错:密排面的堆垛顺序错误
16.6.4 缺陷的物理影响
- 电学性质:掺杂引入载流子
- 光学性质:发光中心、颜色
- 力学性质:塑性变形、强度
- 扩散:原子迁移通道
16.7 本章小结
| 概念 | 公式/说明 |
|---|---|
| 晶格矢量 | \(\vec{R} = n_1\vec{a}_1 + n_2\vec{a}_2 + n_3\vec{a}_3\) |
| 倒格子基矢 | \(\vec{b}_1 = 2\pi \frac{\vec{a}_2 \times \vec{a}_3}{\vec{a}_1 \cdot (\vec{a}_2 \times \vec{a}_3)}\) |
| 正交关系 | \(\vec{a}_i \cdot \vec{b}_j = 2\pi\delta_{ij}\) |
| 配位数 (FCC) | 12 |
| 配位数 (BCC) | 8 |
| 晶系 | 7种 (立方、六方、四方、三方、正交、单斜、三斜) |
| 空间群 | 230种 |
16.8 练习题
- 基础题: 证明 FCC 结构的堆积因子为 0.74。
- 计算题: 已知 Cu 为 FCC 结构,晶格常数 \(a = 3.61\) Å,计算原子半径和密度。
- 概念题: 解释为什么晶体学中不存在5次旋转对称轴。
- 作图题: 绘制简单立方晶体的第一布里渊区。
- 编程练习: 使用 Python 计算任意晶格常数的倒格子基矢。
16.9 延伸阅读
- Ashcroft & Mermin, 《Solid State Physics》
- Kittel, 《Introduction to Solid State Physics》
- 《晶体学导论》
16.10 参考资料
- 本章代码示例:
../代码/c1_2d_lattice.py- 二维晶格类型可视化../代码/c1_brillouin_zone.py- 布里渊区绘制16.11
title: “倒格子与布里渊区” author: “Atom - 凝聚态物理与量子材料” date: “2026” mathspec: true mainfont: “Noto Serif SC” sansfont: “Noto Sans SC” monofont: “JetBrains Mono” geometry: “margin=2.5cm” papersize: “a4” linestretch: 1.5 —../代码/c1_graphene_structure.py- 石墨烯结构
17 C1 主干模块:1.2 倒格子与布里渊区
17.1 章节概述
本章介绍固体物理学中两个核心概念:倒格子( reciprocal lattice)和布里渊区(Brillouin zone)。倒格子是描述晶体周期性的重要数学工具,它在X射线衍射、能带理论、声子研究等领域发挥着关键作用。布里渊区则是倒格子空间中的特殊区域,是分析晶体电子结构和晶格振动的基本单元。
学习目标: - 理解倒格子的定义和物理意义 - 掌握倒格子基矢的推导方法 - 理解布里渊区的构建原理 - 掌握常见晶格(简单立方、体心立方、面心立方)的倒格子和布里渊区 - 理解倒格子在晶体衍射条件中的应用
17.2 1.2.1 倒格子的定义
17.2.1 正格子回顾
在上一章中,我们学习了晶体由布拉维格子(Bravais lattice)和基元(basis)组成。布拉维格子是一组离散点的集合,其位置矢量可以表示为:
\[\mathbf{R}_n = n_1 \mathbf{a}_1 + n_2 \mathbf{a}_2 + n_3 \mathbf{a}_3\]
其中 \(\mathbf{a}_1, \mathbf{a}_2, \mathbf{a}_3\) 是正格子基矢(direct lattice vectors),\(n_1, n_2, n_3\) 是整数。
17.2.2 倒格子基矢的定义
倒格子是另一个由基矢 \(\mathbf{b}_1, \mathbf{b}_2, \mathbf{b}_3\) 定义的格子,其定义满足正交关系:
\[\mathbf{a}_i \cdot \mathbf{b}_j = 2\pi \delta_{ij}\]
其中 \(\delta_{ij}\) 是克罗内克 delta 函数(当 \(i=j\) 时等于 1,否则等于 0)。
这一定义意味着: - \(\mathbf{b}_1\) 垂直于 \(\mathbf{a}_2\) 和 \(\mathbf{a}_3\) 所在的平面 - \(\mathbf{b}_2\) 垂直于 \(\mathbf{a}_1\) 和 \(\mathbf{a}_3\) 所在的平面 - \(\mathbf{b}_3\) 垂直于 \(\mathbf{a}_1\) 和 \(\mathbf{a}_2\) 所在的平面
17.2.3 倒格子的物理意义
倒格子的引入有深刻的物理原因。在晶体研究中,我们经常需要处理满足周期性边界条件的波函数。倒格子基矢的大小正比于 \(1/a\)(其中 \(a\) 是晶格常数),因此倒格子也称为”动量空间格子”或”k空间格子”。
倒格子的每一个格点 \(\mathbf{G}\) 都可以表示为:
\[\mathbf{G} = h\mathbf{b}_1 + k\mathbf{b}_2 + l\mathbf{b}_3\]
其中 \(h, k, l\) 是整数,称为密勒指数(Miller indices)。
17.2.4 倒格子基矢的推导
根据正交关系,我们可以推导出倒格子基矢的显式表达式。对于三维晶体:
\[\mathbf{b}_1 = 2\pi \frac{\mathbf{a}_2 \times \mathbf{a}_3}{\mathbf{a}_1 \cdot (\mathbf{a}_2 \times \mathbf{a}_3)}\]
\[\mathbf{b}_2 = 2\pi \frac{\mathbf{a}_3 \times \mathbf{a}_1}{\mathbf{a}_1 \cdot (\mathbf{a}_2 \times \mathbf{a}_3)}\]
\[\mathbf{b}_3 = 2\pi \frac{\mathbf{a}_1 \times \mathbf{a}_2}{\mathbf{a}_1 \cdot (\mathbf{a}_2 \times \mathbf{a}_3)}\]
分母 \(\mathbf{a}_1 \cdot (\mathbf{a}_2 \times \mathbf{a}_3)\) 是正格子原胞的体积:
\[V_c = \mathbf{a}_1 \cdot (\mathbf{a}_2 \times \mathbf{a}_3)\]
因此,倒格子基矢也可以写成:
\[\mathbf{b}_1 = 2\pi \frac{\mathbf{a}_2 \times \mathbf{a}_3}{V_c}, \quad \mathbf{b}_2 = 2\pi \frac{\mathbf{a}_3 \times \mathbf{a}_1}{V_c}, \quad \mathbf{b}_3 = 2\pi \frac{\mathbf{a}_1 \times \mathbf{a}_2}{V_c}\]
17.3 1.2.2 常见晶格的倒格子
17.3.1 简单立方(Simple Cubic, SC)
对于简单立方晶体,基矢为:
\[\mathbf{a}_1 = a\hat{x}, \quad \mathbf{a}_2 = a\hat{y}, \quad \mathbf{a}_3 = a\hat{z}\]
计算倒格子基矢:
\[\mathbf{b}_1 = 2\pi \frac{\mathbf{a}_2 \times \mathbf{a}_3}{a^3} = 2\pi \frac{a^2 \hat{x}}{a^3} = \frac{2\pi}{a}\hat{x}\]
\[\mathbf{b}_2 = \frac{2\pi}{a}\hat{y}, \quad \mathbf{b}_3 = \frac{2\pi}{a}\hat{z}\]
结论: 简单立方晶格的倒格子仍是简单立方,倒格子常数仍为 \(2\pi/a\)。
17.3.2 体心立方(Body-Centered Cubic, BCC)
对于体心立方晶体,基矢可以取为:
\[\mathbf{a}_1 = \frac{a}{2}(-\hat{x} + \hat{y} + \hat{z})\]
\[\mathbf{a}_2 = \frac{a}{2}(\hat{x} - \hat{y} + \hat{z})\]
\[\mathbf{a}_3 = \frac{a}{2}(\hat{x} + \hat{y} - \hat{z})\]
计算原胞体积:
\[V_c = \mathbf{a}_1 \cdot (\mathbf{a}_2 \times \mathbf{a}_3) = \frac{a^3}{2}\]
倒格子基矢为:
\[\mathbf{b}_1 = \frac{2\pi}{a}(\hat{y} + \hat{z} - \hat{x}) = \frac{2\pi}{a}(\hat{y} + \hat{z} - \hat{x})\]
通过类似计算可得:
\[\mathbf{b}_1 = \frac{2\pi}{a}(\hat{y} + \hat{z} - \hat{x})\]
\[\mathbf{b}_2 = \frac{2\pi}{a}(\hat{x} + \hat{z} - \hat{y})\]
\[\mathbf{b}_3 = \frac{2\pi}{a}(\hat{x} + \hat{y} - \hat{z})\]
重要结论: 体心立方晶格的倒格子是面心立方(FCC)晶格。
17.3.3 面心立方(Face-Centered Cubic, FCC)
对于面心立方晶体,基矢取为:
\[\mathbf{a}_1 = \frac{a}{2}(\hat{y} + \hat{z})\]
\[\mathbf{a}_2 = \frac{a}{2}(\hat{x} + \hat{z})\]
\[\mathbf{a}_3 = \frac{a}{2}(\hat{x} + \hat{y})\]
原胞体积:
\[V_c = \frac{a^3}{4}\]
倒格子基矢:
\[\mathbf{b}_1 = \frac{2\pi}{a}(\hat{y} + \hat{z} - \hat{x}) = \frac{2\pi}{a}(-\hat{x} + \hat{y} + \hat{z})\]
\[\mathbf{b}_2 = \frac{2\pi}{a}(\hat{x} - \hat{y} + \hat{z})\]
\[\mathbf{b}_3 = \frac{2\pi}{a}(\hat{x} + \hat{y} - \hat{z})\]
重要结论: 面心立方晶格的倒格子是体心立方(BCC)晶格。
17.3.4 BCC 与 FCC 的倒格子关系
这是一个非常优美且重要的对称性关系:
| 正格子 | 倒格子 |
|---|---|
| 简单立方(SC) | 简单立方(SC) |
| 体心立方(BCC) | 面心立方(FCC) |
| 面心立方(FCC) | 体心立方(BCC) |
这种对应关系在理解金属的电子结构和声子谱时非常重要。例如,钠(Na)和铁(Fe)等BCC金属的布里渊区是FCC形状的。
17.3.5 二维晶格的倒格子
对于二维晶体,情况更加简单。以石墨烯的蜂窝状晶格为例,其原胞基矢为:
\[\mathbf{a}_1 = a\left(\frac{3}{2}, \frac{\sqrt{3}}{2}\right)\]
\[\mathbf{a}_2 = a\left(\frac{3}{2}, -\frac{\sqrt{3}}{2}\right)\]
其中 \(a\) 是碳-碳键长,晶格常数 \(a_{lat} = \sqrt{3}a\)。
二维倒格子基矢为:
\[\mathbf{b}_1 = \frac{2\pi}{a_{lat}}\left(1, \frac{1}{\sqrt{3}}\right)\]
\[\mathbf{b}_2 = \frac{2\pi}{a_{lat}}\left(1, -\frac{1}{\sqrt{3}}\right)\]
17.4 1.2.3 布里渊区的构建
17.4.1 布里渊区的定义
布里渊区(Brillouin zone)是倒格子空间中的一个特殊区域,定义为:以某个倒格点为中心,到最近邻倒格点连线的垂直平分面包围的区域。
- 第一布里渊区:从原点出发,不穿过任何倒格点就能到达的倒格子空间区域
- 更高阶布里渊区:通过连续添加最近邻倒格点的垂直平分面来划分
第一布里渊区是最重要的,因为它: - 包含了倒格子空间的所有基本信息 - 在能带理论中,电子的k矢量通常限制在第一布里渊区内 - 声子、色散关系等也通常在第一布里渊区中讨论
17.4.2 简单立方的布里渊区
对于简单立方晶体,倒格子也是简单立方。第一布里渊区是一个边长为 \(2\pi/a\) 的立方体,其边界由六个垂直平分面围成。
布里渊区体积:
\[V_B = (2\pi/a)^3 = \frac{8\pi^3}{a^3} = \frac{(2\pi)^3}{V_c}\]
这表明第一布里渊区的体积等于正格子原胞体积的倒数乘以 \((2\pi)^3\)。
17.4.3 BCC 的第一布里渊区
体心立方晶格的倒格子是面心立方。因此,BCC的第一布里渊区是一个正十二面体(截角八面体),由12个正六边形面围成。
主要的高对称点: - \(\Gamma\) 点:中心位置 \((0, 0, 0)\) - \(H\) 点:角点位置 \((\frac{2\pi}{a})(-\frac{1}{2}, \frac{1}{2}, \frac{1}{2})\) - \(N\) 点:面心位置 \((\frac{2\pi}{a})(0, \frac{1}{2}, 0)\) - \(P\) 点:三重轴位置 \((\frac{2\pi}{a})(\frac{1}{4}, \frac{1}{4}, \frac{1}{4})\)
17.4.4 FCC 的第一布里渊区
面心立方晶格的倒格子是体心立方。因此,FCC的第一布里渊区是一个截角立方体(十四面体),由6个正方形面和8个正六边形面围成。
主要的高对称点: - \(\Gamma\) 点:中心位置 - \(X\) 点:面心位置 - \(L\) 点:角点位置 - \(W\) 点:特殊位置
17.4.5 二维晶格的布里渊区
石墨烯的第一布里渊区是一个正六边形。

主要高对称点: - \(\Gamma\) 点:中心 - \(K\) 点:六边形的角点 - \(M\) 点:六边形边的中点
\(K\) 点是石墨烯狄拉克锥(Dirac cone)所在的位置,这是石墨烯独特电子结构的来源。
17.5 1.2.4 倒格子在物理中的应用
17.5.1 晶体衍射条件
倒格子最重要的应用之一是描述X射线、中子衍射条件。Laue方程和布拉格定律都可以用倒格子语言简洁地表达。
17.5.1.1 Laue 方程
当X射线入射到晶体上时,散射条件由Laue方程给出:
\[\mathbf{k'} - \mathbf{k} = \mathbf{G}\]
其中: - \(\mathbf{k}\) 是入射波矢 - \(\mathbf{k'}\) 是散射波矢 - \(\mathbf{G}\) 是倒格矢
这意味着只有当入射波矢和散射波矢之差等于某个倒格矢时,才会发生相干衍射。
17.5.1.2 布拉格定律
布拉格定律是X射线衍射的经典结果:
\[n\lambda = 2d\sin\theta\]
其中 \(d\) 是晶面间距,\(\theta\) 是入射角,\(n\) 是衍射级数。
用倒格子语言,布拉格条件可以写成:
\[|\mathbf{k'} - \mathbf{k}| = |\mathbf{G}|\]
当 \(|\mathbf{k}| = |\mathbf{k'}| = 2\pi/\lambda\) 时,可以推导出布拉格定律。
17.5.2 Ewald 球
Ewald 球是一种几何方法,用于确定哪些倒格点会产生衍射。
Ewald 球的构造: 1. 以入射波矢的端点为球心,画半径为 \(2\pi/\lambda\) 的球 2. 倒格点位于球面上时,满足衍射条件
17.5.3 布洛赫定理与k空间
在能带理论中,电子在周期势场中的波函数满足布洛赫定理:
\[\psi_{n\mathbf{k}}(\mathbf{r} + \mathbf{R}) = e^{i\mathbf{k} \cdot \mathbf{R}} \psi_{n\mathbf{k}}(\mathbf{r})\]
这里的 \(\mathbf{k}\) 矢量正是定义在倒格子空间中的准动量(quasi-momentum)。第一布里渊区是描述电子动量的基本区域。
17.5.4 声子与晶格振动
声子是晶格的集体振动模式。声子的色散关系 \(\omega(\mathbf{q})\) 也是在第一布里渊区中定义的,其中 \(\mathbf{q}\) 是声子的波矢。
17.6 1.2.5 倒格子与布里渊区的可视化
17.6.1 Python 代码实现
下面我们用 Python 可视化常见晶格的倒格子和布里渊区。
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
# BCC 倒格子(FCC)可视化
def visualize_bcc_reciprocal():
"""可视化 BCC 晶格的倒格子(FCC 结构)"""
# FCC 基矢
a = 1.0
a1 = a/2 * np.array([0, 1, 1])
a2 = a/2 * np.array([1, 0, 1])
a3 = a/2 * np.array([1, 1, 0])
# FCC 倒格子基矢(BCC)
Vc = np.dot(a1, np.cross(a2, a3))
b1 = 2*np.pi * np.cross(a2, a3) / Vc
b2 = 2*np.pi * np.cross(a3, a1) / Vc
b3 = 2*np.pi * np.cross(a1, a2) / Vc
# 生成 FCC 倒格点
points = []
for i in range(-2, 3):
for j in range(-2, 3):
for k in range(-2, 3):
point = i*b1 + j*b2 + k*b3
points.append(point)
points = np.array(points)
fig = plt.figure(figsize=(10, 10))
ax = fig.add_subplot(111, projection='3d')
ax.scatter(points[:, 0], points[:, 1], points[:, 2], s=20)
ax.set_xlabel('kx')
ax.set_ylabel('ky')
ax.set_zlabel('kz')
plt.title('FCC Reciprocal Lattice (BCC Real Space)')
plt.show()
# 绘制第一布里渊区
def plot_brillouin_zone_2d():
"""绘制二维六角晶格的布里渊区"""
a = 1.0
a1 = a * np.array([3/2, np.sqrt(3)/2])
a2 = a * np.array([3/2, -np.sqrt(3)/2])
# 倒格子基矢
b1 = 2*np.pi * np.cross([a2[0], a2[1], 0], [a1[0], a1[1], 0])[:2]
b2 = 2*np.pi * np.cross([a1[0], a1[1], 0], [a2[0], a2[1], 0])[:2]
# 归一化
b1 = 2*np.pi / a * np.array([1, 1/np.sqrt(3)])
b2 = 2*np.pi / a * np.array([1, -1/np.sqrt(3)])
# 布里渊区边界(中垂线)
fig, ax = plt.subplots(figsize=(8, 8))
# 绘制六角形布里渊区
gamma = np.array([0, 0])
k_points = []
for i in range(6):
angle = np.pi/6 + i*np.pi/3
k = 4*np.pi/(3*a) * np.array([np.cos(angle), np.sin(angle)])
k_points.append(k)
k_points = np.array(k_points)
ax.fill(k_points[:, 0], k_points[:, 1], alpha=0.3, label='First BZ')
ax.plot(k_points[:, 0], k_points[:, 1], 'b-', linewidth=2)
# 标记高对称点
gamma = np.array([0, 0])
k_point = 4*np.pi/(3*a) * np.array([1, 0])
m_point = 2*np.pi/(np.sqrt(3)*a) * np.array([0, 1])
ax.plot(0, 0, 'ro', markersize=10, label=r'$\Gamma$')
ax.plot(k_point[0], k_point[1], 'go', markersize=10, label='K')
ax.plot(m_point[0], m_point[1], 'mo', markersize=10, label='M')
ax.legend()
ax.set_aspect('equal')
ax.set_xlabel('kx')
ax.set_ylabel('ky')
ax.set_title('Graphene First Brillouin Zone')
plt.grid(True)
plt.show()相关代码文件: ../代码/c1_brillouin_zone.py
17.6.2 交互式可视化
通过调整参数,可以观察不同晶格对应的倒格子和布里渊区变化。
17.7 本章小结
| 概念 | 公式/描述 | 物理应用 |
|---|---|---|
| 倒格子基矢 | \(\mathbf{a}_i \cdot \mathbf{b}_j = 2\pi\delta_{ij}\) | 动量空间描述 |
| 简单立方倒格子 | \(\mathbf{b}_i = \frac{2\pi}{a}\hat{i}\) | 基础晶格 |
| BCC倒格子 | FCC结构 | 碱金属电子结构 |
| FCC倒格子 | BCC结构 | 贵金属电子结构 |
| 第一布里渊区 | 最近邻倒格点连线的垂直平分面包围区域 | 能带论基础 |
| 衍射条件 | \(\mathbf{k'} - \mathbf{k} = \mathbf{G}\) | X射线衍射 |
| 布拉格定律 | \(n\lambda = 2d\sin\theta\) | 晶体衍射 |
17.8 练习题
基础题: 已知简单立方晶格的晶格常数为 \(a = 3.5\) Angstrom,计算其倒格子基矢的长度。
推导题: 证明面心立方(FCC)晶格的倒格子是体心立方(BCC)晶格。
概念题: 解释为什么第一布里渊区是最重要的倒格子区域,而不是更高阶的布里渊区。
应用题: 使用 Python 代码绘制体心立方(BCC)晶体的第一布里渊区,并标注主要的高对称点(\(\Gamma\), \(H\), \(N\), \(P\))。
思考题: 石墨烯的 \(K\) 点被称为”狄拉克点”,试解释这与石墨烯的倒格子结构有何关系。
17.9 参考资料
- Ashcroft, N. W., & Mermin, N. D. (1976). Solid State Physics - 第4章:晶体衍射与倒格子
- Kittel, C. (2005). Introduction to Solid State Physics - 第2版,第2章
- Hofmann, P. (2015). Solid State Physics: An Introduction - 倒格子与布里渊区详解
- Python Materials Physics: https://pymatgen.org/
- 课程代码:../代码/c1_bcc_reciprocal.py, ../代码/c1_brillouin_zone.py