15  C1 晶体学与晶体结构

凝聚态物理与量子材料基础

作者

Atom - 凝聚态物理与量子材料

发布于

Invalid Date

16 C1 核心模块:晶体学与晶体结构

16.1 章节概述

本章介绍凝聚态物理学的基础——晶体学。晶体结构是理解固体物理性质的起点,从金属到半导体,从绝缘体到超导体,所有凝聚态物质的性质都由其原子排列决定。本章将带领读者从宏观的晶体外观深入到微观的晶格结构,建立起处理晶体问题的基本数学工具。

学习目标: - 理解晶体的本质和分类 - 掌握晶格矢量、倒格子、布拉伐格子等基本概念 - 理解晶体对称性和空间群 - 能够分析常见晶体结构 - 理解晶体缺陷对物理性质的影响


16.2 1.1 晶体结构的本质

16.2.1 晶体是什么

晶体是由原子、离子或分子在空间呈周期性排列而成的固体。与非晶体(如玻璃)相比,晶体具有以下特征:

  1. 长程有序:原子排列的周期性可延续至整个晶体
  2. 确定的熔点:晶体在固定温度下熔化
  3. 各向异性:不同方向上的物理性质不同
  4. 自发形成多面体:晶体生长时自然形成规则外形

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):以某个格点为中心,作所有连接该格点与最近格点的垂直平分面,这些平面围成的最小体积即为维格纳-塞茨原胞。它反映了晶体的对称性。

2D Lattice Types

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\) 空间就是第一布里渊区 - 声子、色散关系等都在布里渊区中讨论

Brillouin Zone

16.3.3 常见晶格的倒格子

正格子 倒格子
简单立方 (SC) 简单立方
体心立方 (BCC) 面心立方 (FCC)
面心立方 (FCC) 体心立方 (BCC)
六方密排 (HCP) 六方

16.4 1.3 晶体对称性

16.4.1 对称操作

晶体的对称性通过以下操作描述:

  1. 旋转对称:绕特定轴旋转一定角度后晶体不变

    • 1次、2次、3次、4次、6次旋转
    • 不存在5次旋转轴(这是晶体学的基本限制)
  2. 镜面对称:通过某平面作镜像

  3. 反演对称:关于某点的中心对称

  4. 旋转-反演:旋转后反演

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₂) - 三角棱柱配位

Graphene Structure

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 缺陷的物理影响

  1. 电学性质:掺杂引入载流子
  2. 光学性质:发光中心、颜色
  3. 力学性质:塑性变形、强度
  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 练习题

  1. 基础题: 证明 FCC 结构的堆积因子为 0.74。
  2. 计算题: 已知 Cu 为 FCC 结构,晶格常数 \(a = 3.61\) Å,计算原子半径和密度。
  3. 概念题: 解释为什么晶体学中不存在5次旋转对称轴。
  4. 作图题: 绘制简单立方晶体的第一布里渊区。
  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 ../代码/c1_graphene_structure.py - 石墨烯结构

      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 —

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 二维晶格的布里渊区

石墨烯的第一布里渊区是一个正六边形。

Brillouin Zone

主要高对称点: - \(\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 练习题

  1. 基础题: 已知简单立方晶格的晶格常数为 \(a = 3.5\) Angstrom,计算其倒格子基矢的长度。

  2. 推导题: 证明面心立方(FCC)晶格的倒格子是体心立方(BCC)晶格。

  3. 概念题: 解释为什么第一布里渊区是最重要的倒格子区域,而不是更高阶的布里渊区。

  4. 应用题: 使用 Python 代码绘制体心立方(BCC)晶体的第一布里渊区,并标注主要的高对称点(\(\Gamma\), \(H\), \(N\), \(P\))。

  5. 思考题: 石墨烯的 \(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