17-bloch-bz 问答笔记¶
源文件:17-bloch-bz.md
这一篇源文件讲得数学术语密集。QA 文件用音乐/钟表/连续信号的通俗类比从零重讲一遍。如果读完觉得之前章节的抽象部分清晰了,说明类比起作用了。
背景——这些概念为什么突然出现?(回答 Q5 的结构性困惑)¶
原文:"周期势,本征态,Bloch 波,晶体动量——这些内容之前的几个文档都没出现过"
你的观察完全正确。化简 1–6 都在讲"有 N 个电子 + M 个原子核的量子问题",没有限定这是分子还是晶体。到了化简 7,第一次明确"我们要算的是无限大晶体"——所以必须引入专门描述周期结构的工具:
| 概念 | 为什么化简 7 才出现 |
|---|---|
| 周期势 \(V(\vec{r}+\vec{R})=V(\vec{r})\) | 化简 1–6 只假设核在某个位置上,没要求"周期排列";直到我们要算晶体才需要 |
| Bloch 波 | 描述"电子在周期排列的原子核中"的专用波函数形式 |
| 晶体动量 \(\vec{k}\) | Bloch 波的"身份证号",给每个电子态打一个标签 |
| 布里渊区 (BZ) | \(\vec{k}\) 能取的范围 |
| 倒格矢 \(\vec{G}\) | 倒空间(频率空间)的"晶格",和 BZ 配套 |
为什么非得引入这些¶
前面我们说 1 cm³ 硅有 \(10^{23}\) 个电子——直接解 \(10^{23}\) 维矩阵不可能。但晶体有结构:它不是一堆随机放置的原子,而是一个原胞在空间里严格重复。
Bloch 定理的作用就是利用这个周期性把 \(10^{23}\) 维问题拆成 \(\sim 30\) 个"每个原胞"级别的小问题,每个小问题只涉及一个原胞里的原子。
这种利用对称性拆分问题的思路,正是化简 7 全部的目的。
Q1:平移算符、对易、本征态——"直觉像天书"¶
原文:"如果 \(\hat{H}\) 和所有晶格平移算符 \(\hat{T}_{\vec{R}}\) 对易..."
这段的所有术语都可以用大白话重讲。先把数学词翻译成直觉,再回头看原文:
音乐类比:无限重复的旋律¶
想象一个无限长的周期音乐——一个 4 拍小节,然后完全一样的下一个小节,再下一个……永远重复。
现在问你:什么样的"音波"在这段音乐里是"稳定"的?
答案:这个音波必须满足——挪动一个小节之后,它除了一个相位外没有任何变化。
因为如果"挪一个小节变了别的样子",那说明音乐不是周期的——但我们假设它是。所以稳定音波必须是"周期不变模一个相位"的。
翻译成物理¶
把上面每一项翻译:
| 音乐 | 物理 |
|---|---|
| 无限长的周期音乐 | 无限大的周期晶体 |
| 一个小节 | 一个原胞 |
| 音波 | 电子波函数 \(\psi(\vec{r})\) |
| "挪一个小节" | 晶格平移算符 \(\hat{T}_{\vec{R}}\)(把 \(\psi(\vec{r})\) 变成 \(\psi(\vec{r}+\vec{R})\)) |
| "能量稳定的音波" | 哈密顿量 \(\hat{H}\) 的本征态(\(\hat{H}\psi = E\psi\)) |
| "挪一个小节除了相位没变" | \(\psi(\vec{r}+\vec{R}) = e^{i\vec{k}\cdot\vec{R}} \psi(\vec{r})\) |
三个抽象词的大白话¶
- "对易":\(\hat{H}\hat{T} = \hat{T}\hat{H}\)——"先算能量再挪"和"先挪再算能量"结果一样。
-
为什么成立?因为晶体处处一样,电子在这里和在挪过去那里的能量相同。所以能量算符不关心挪没挪。
-
"共同本征态":一个波函数 \(\psi\) 同时满足:
- \(\hat{H}\psi = E\psi\)(能量稳定)
- \(\hat{T}_{\vec{R}}\psi = \lambda_{\vec{R}}\psi\)(挪一下只差一个因子 \(\lambda_{\vec{R}}\))
-
数学事实:如果两个算符对易,它们可以找到共同本征态(线性代数标准结论)
-
"本征值必然是相位 \(e^{i\vec{k}\cdot\vec{R}}\)":因为
- 平移算符是幺正的(\(|\hat{T}\psi|^2 = |\psi|^2\),挪动不改变概率分布)
- 幺正算符的本征值模必须等于 1
- 所以只能是 \(e^{i\phi_{\vec{R}}}\) 的形式
- 再考虑两次挪动 \(\hat{T}_{2\vec{R}} = \hat{T}_{\vec{R}}^2\),得出 \(\phi_{2\vec{R}} = 2\phi_{\vec{R}}\),所以 \(\phi_{\vec{R}}\) 必须线性于 \(\vec{R}\) → \(\phi_{\vec{R}} = \vec{k}\cdot\vec{R}\)
所以原文那段话的意思翻译成大白话就是:
因为晶体处处一样,能量稳定的电子波函数在挪一个晶胞后只能差一个纯相位。这个相位可以用一个 3 维向量 \(\vec{k}\) 概括——它成为每个电子态的"标签"。
ML 类比¶
"\(\hat{H}\) 与 \(\hat{T}\) 对易" ≈ 等变 NN: - 对图像做旋转 \(R\) 后,CNN 不会改变结果(translation equivariant) - 其实就是 \(\text{CNN}(R(x)) = R(\text{CNN}(x))\)——交换顺序不影响 - Bloch 定理是"电子波函数必须对平移对称性等变"的结论
Q2:\(\vec{k}\) 哪里来?代表什么?布里渊区是什么?¶
原文:"\(\vec{k}\) 成为一个连续变量,取值范围就是第一布里渊区"
\(\vec{k}\) 的来源¶
就是上面说的"挪动一个晶胞后波函数差的相位":
每个 Bloch 电子态都带一个 \(\vec{k}\) 作为标签。不同的 \(\vec{k}\) 对应不同的"相位随空间变化模式"的电子态。
\(\vec{k}\) 的物理意义(钟表类比)¶
想象你站在晶体里,向 \(\vec{R}\) 方向走一步(一个原胞)。波函数会"转"一个角度 \(\vec{k}\cdot\vec{R}\)。
- 如果 \(\vec{k} = 0\)(Gamma 点 Γ):波函数在每个原胞都完全一样——最"静态"
- 如果 \(\vec{k}\) 大:每走一个原胞波函数转一大圈——"相位变化快"
- \(\vec{k}\) 就是每走一米相位转多少的速率(单位 rad/m 或 \(\text{Å}^{-1}\))
为什么叫"晶体动量": - 自由电子的平面波 \(\psi = e^{i\vec{p}\cdot\vec{r}/\hbar}\) 里,\(\vec{p}\) 是真正的动量 - Bloch 波 \(\psi = e^{i\vec{k}\cdot\vec{r}} u(\vec{r})\) 里,\(\vec{k}\) 起类似作用但不完全是动量 - 因为 \(u(\vec{r})\) 也会贡献动量算符的作用 - 所以叫 "crystal momentum"——"晶体版本的动量",有动量的部分性质(守恒、能量-动量关系),但不是严格动量
\(\vec{k}\) 能取什么值——两层约束¶
约束 1:周期性等价
如果你把 \(\vec{k}\) 换成 \(\vec{k} + \vec{G}\)(\(\vec{G}\) 是倒格矢),物理上是一样的态。为什么?
回忆 \(\psi(\vec{r}+\vec{R}) = e^{i\vec{k}\cdot\vec{R}} \psi(\vec{r})\)。换成 \(\vec{k}' = \vec{k}+\vec{G}\):
而 \(\vec{G}\cdot\vec{R} = 2\pi \times \text{整数}\)(倒格矢的定义),所以 \(e^{i\vec{G}\cdot\vec{R}} = 1\)。两个 \(\vec{k}\) 给出相同的平移相位,物理上等价。
钟表类比: - 钟表的 13 点和 1 点是同一个指针位置(\(13 \mod 12 = 1\)) - \(\vec{k}\) 和 \(\vec{k}+\vec{G}\) 是同一个"相位速率"("模倒格矢"等价)
约束 2:只取一个代表——布里渊区
既然 \(\vec{k}\) 和 \(\vec{k}+\vec{G}\) 等价,每个等价类只需取一个代表。怎么取?
第一布里渊区(First Brillouin Zone, BZ) = 最自然的代表区: - 以原点 \(\vec{k}=0\) 为中心 - 边界是所有最近邻倒格点的中垂面围成的区域 - 这个区域里每个点都是不等价的,互相不能用 \(\vec{G}\) 平移变到 - BZ 外的任何点都等价于 BZ 内的某个点
钟表类比: - 把 0–12 小时当成"BZ"——这里每个值都不重复 - 13, 14 等价于 1, 2——虽然能表达但是重复 - 所以只需要在 0–12 里标时间
连续还是离散?¶
严格无限晶体 → \(\vec{k}\) 在 BZ 内连续取值(无穷多 k 点)。
但有限超胞(Born-von Kármán 边界,\(N_1 \times N_2 \times N_3\) 个原胞)→ \(\vec{k}\) 只在 BZ 内离散取 \(N_1 N_2 N_3\) 个值。
实际计算:取有限 k 点采样近似连续积分——就是化简 9 的事。
Q3:倒格矢不通俗¶
原文:"\(\vec{b}_i\) 满足 \(\vec{a}_i\cdot\vec{b}_j = 2\pi\delta_{ij}\)"
用傅里叶级数类比¶
你应该熟悉傅里叶级数: - 一个周期 \(T\) 的信号 \(f(t+T)=f(t)\) 可以展开为: $\(f(t) = \sum_n c_n e^{i \cdot n\omega_0 \cdot t}\)$ 其中 \(\omega_0 = 2\pi/T\) 是基频,\(n\omega_0\) 是允许的频率(基频的整数倍)
- "允许的频率集合" = \(\{0, \pm\omega_0, \pm 2\omega_0, \ldots\}\)——是一维的离散网格
3D 晶体就是这件事的 3D 版¶
晶格周期:实空间有三个周期向量 \(\vec{a}_1, \vec{a}_2, \vec{a}_3\)(原胞基矢),任何函数满足 \(f(\vec{r}+\vec{R})=f(\vec{r})\)(\(\vec{R}=n_1\vec{a}_1+n_2\vec{a}_2+n_3\vec{a}_3\))。
傅里叶展开: $\(f(\vec{r}) = \sum_{\vec{G}} c_{\vec{G}} e^{i\vec{G}\cdot\vec{r}}\)$
允许的 \(\vec{G}\) 集合就是倒格点——也是一个离散 3D 网格,基向量是 \(\vec{b}_1, \vec{b}_2, \vec{b}_3\)。
对应关系: - 1D 周期函数:基频 \(\omega_0 = 2\pi/T\),允许频率 = 整数倍 - 3D 周期函数:基倒格矢 \(\vec{b}_i = 2\pi/\vec{a}_i\)(大致如此;精确定义要用 \(\vec{a}_i\cdot\vec{b}_j = 2\pi\delta_{ij}\)),允许"频率" = 整数线性组合
"倒"的含义:长度变频率(\(\vec{a}\) 单位是 Å,\(\vec{b}\) 单位是 1/Å)——实空间和倒空间是傅里叶对偶。
具体例子:立方晶格¶
实空间:\(\vec{a}_1 = (a, 0, 0)\), \(\vec{a}_2 = (0, a, 0)\), \(\vec{a}_3 = (0, 0, a)\)(边长 \(a\) 的立方体)
倒空间:\(\vec{b}_1 = (2\pi/a, 0, 0)\), \(\vec{b}_2 = (0, 2\pi/a, 0)\), \(\vec{b}_3 = (0, 0, 2\pi/a)\)(边长 \(2\pi/a\) 的立方体)
倒格点就是 \((2\pi/a)(m_1, m_2, m_3)\),\(m_i \in \mathbb{Z}\)——3D 的立方网格。
直观图像: - 实空间:原子在实际立方网格上 - 倒空间:允许的傅里叶频率在倒空间立方网格上
为什么有用¶
一个晶体周期函数(如电子密度 \(\rho(\vec{r})\))在倒空间只有有限个非零分量(存倒格点上的傅里叶系数即可)。相比实空间要在每个网格点存值,倒空间表示常常更紧凑。
这就是 QE 用平面波基组 + FFT的物理基础——直接把波函数、密度存成倒格矢上的傅里叶系数。
Q4:BZ 和倒格点间距的关系¶
你的推测:"似乎与倒格点间距有关"
完全正确。
精确关系¶
第一布里渊区是倒空间的 Wigner-Seitz 原胞: - 以 \(\vec{G} = 0\) 为中心 - 边界是到所有最近邻倒格点的中垂面 - 形状取决于倒晶格类型(立方 → 立方 BZ;fcc → 截角八面体 BZ;etc.)
大小/尺寸¶
BZ 的线性尺寸 ~ 最近邻倒格点到原点的距离的一半(因为 BZ 边界在中点)。
对立方晶格: - 原胞大小 \(a\) - 倒格点间距 \(2\pi/a\) - BZ 是边长 \(2\pi/a\) 的立方体(中心在原点)
有趣推论¶
- 原胞越大 → 倒格点越密 → BZ 越小
- 超胞(\(2\times 2\times 2\) 原胞):实空间大 2 倍 → 倒空间小 2 倍 → BZ 缩 8 倍
-
结果:超胞的能带被"折叠"到更小的 BZ 里(band folding)
-
原胞越小 → 倒格点越稀疏 → BZ 越大
- 极限:单个原子的 BZ 是整个倒空间
钟表类比(再用一次)¶
- 钟表周期 12 小时 → "频率"(相位速率)的基本单位是 \(2\pi/12\)
- 所有不等价的钟表相位都在 \([0, 2\pi)\)——这就是一维"BZ"
- 换成 6 小时的"超钟":基本频率 \(2\pi/6\),一维 BZ 变成 \([0, 2\pi/6)\)——缩一半
3D 晶体的 BZ 就是这个思路的 3D 推广。
Q5:为什么突然有这么多新词?(周期势、本征态、Bloch 波、晶体动量)¶
原文:"不就是周期性重复的结构吗,为什么有这么多奇怪的内容"
这是本题开头"背景"那段的延伸。简单回答:
| 词 | 为什么需要 | 大白话 |
|---|---|---|
| 周期势 | 原子核排在周期晶格上,它们产生的势场也是周期的 | 每个原胞里的电子看到的势场完全一样 |
| 本征态 | 量子力学里,能量确定的电子态是 \(\hat{H}\psi = E\psi\) 的解(不是化简 7 新概念,在 10-qm-basics 讲过) |
能量稳定的电子状态 |
| Bloch 波 | 满足晶体平移对称的特殊本征态形式 | 电子的"周期化波"——平面波 × 原胞内细节 |
| 晶体动量 \(\vec{k}\) | Bloch 波的标签(身份证号) | 每走一个原胞波函数转的相位 |
"不就是周期结构吗,何必这么复杂?"¶
你说得对,如果只是描述经典周期结构,不需要这些。但我们要描述的是周期结构里的量子力学问题——这才是复杂的来源:
- 电子是量子粒子:需要用波函数描述
- 波函数必须满足量子力学规则(本征态、归一化等)
- 加上晶体周期约束:波函数必须"周期等变"
- 结果:波函数被限制成"Bloch 形式"——既满足量子力学又满足晶体对称
Bloch 定理就是"量子力学 × 晶体对称"联合的结论。如果只有经典波,或者非周期量子系统,就不需要这套工具。
对照之前章节¶
| 化简 | 涉及系统 | 新引入的概念 |
|---|---|---|
| 1 BO | 原子 / 分子 / 晶体都适用 | 外势 \(V_{ext}\) |
| 2 Slater | 任意多电子系统 | 单电子轨道、Slater 行列式 |
| 3 HK | 任意基态问题 | 电子密度、能量泛函 |
| 4 KS | 任意基态问题 | KS 轨道、\(V_{eff}\) |
| 5 XC | 任意系统 | LDA/PBE/SCAN 泛函 |
| 6 赝势 | 任意系统 | 价电子、norm-conserving/PAW |
| 7 Bloch | 专门为晶体(周期系统) | Bloch 波、\(\vec{k}\)、BZ、倒格矢 |
化简 7 的"新"正是因为它第一次专门针对晶体。不是化简 1–6 不够完整,而是前 6 步在讨论更一般的问题,到了化简 7 才开始利用晶体的特殊结构。
Q6:k 点是"有 k 个点"还是"有一个点叫 k"?¶
原文:"一个值得反复玩味的类比:解 Bloch 问题 = ..."
"k 点"= "在倒空间里坐标为 \(\vec{k}\) 的点"。不是"有 \(k\) 个点",也不是"有一个点叫 \(k\)"——\(\vec{k}\) 是该点的 3 维坐标。
澄清命名¶
- "k 空间" = 倒空间(倒格矢空间)的另一种叫法,因为这里的坐标就用 \(\vec{k}\) 表示
- "k 点" = k 空间里的一个具体点,坐标 \((k_x, k_y, k_z)\) 或者分数坐标 \((f_1, f_2, f_3)\) 乘以 \(\vec{b}_i\)
- "k 点采样" = 在 BZ 里选有限个 k 点,用于数值积分
具体例子¶
输入 K_POINTS automatic 8 8 8 0 0 0:
- "8 8 8":在 BZ 三个方向各等距取 8 个点
- 总共 \(8^3 = 512\) 个 k 点
- "0 0 0":从 Γ 点(原点)开始(gamma-centered)
- QE 会用对称性压缩成 ~30 个不可约 k 点(irreducible BZ)
每个 k 点都有 3 个坐标,对应 BZ 里的一个具体位置(比如 Γ = (0, 0, 0),X = (0.5, 0, 0.5) 等)。
QE 输出中典型的一行¶
k = 0.0000 0.0000 0.0000:这个 k 点的坐标(Γ 点)bands:该 k 点下各条能带的本征值
"k 点" 命名的历史¶
英文 "k-point" 确实有歧义,但物理学界习惯这样说。更准确的翻译应该是 "k 空间中的点" 或 "\(\vec{k}\) 向量"。中文里有时说成 "k 矢点" 或 "k 矢"。
下次读到 "k 点" 就理解为 "一个 3 维坐标 \(\vec{k}\)" 即可。
用音乐类比一次性串起来(总复习)¶
把整章的核心概念放到一个类比里:
场景:无限长的周期音乐¶
你有一段永远重复的 4 拍音乐。问:什么样的音波在这段音乐里是"能量稳定的"?
| 音乐 | 晶体 |
|---|---|
| 4 拍的小节 | 原胞(含原子位置) |
| 小节长度 \(T\)(秒) | 晶格常数 \(\vec{a}\)(Å) |
| 允许的"和谐音波"形式(Bloch 波) | Bloch 波函数 \(\psi = e^{i\vec{k}\cdot\vec{r}} u(\vec{r})\) |
| 小节内的具体波形 \(u(t)\) | 原胞内周期部分 \(u(\vec{r})\) |
| "挪一小节波形差一相位" \(e^{i\omega T}\) | "挪一原胞差一相位" \(e^{i\vec{k}\cdot\vec{R}}\) |
| 相位速率 \(\omega\) | 晶体动量 \(\vec{k}\) |
| 允许的基频 \(\omega_0 = 2\pi/T\) | 倒格矢基 \(\vec{b}_i = 2\pi/\vec{a}_i\) |
| "频率 0 到 \(\omega_0\)" 是独立区间 | 第一布里渊区 |
| 超出这个区间 = 别名(aliasing) | \(\vec{k}+\vec{G}\) 等价于 \(\vec{k}\) |
| 每个频率 \(\omega\) 下的"谐波序列" | 每个 \(\vec{k}\) 下的能带 \(\varepsilon_n(\vec{k})\) |
Bloch 定理在这个类比里就是说:任何稳定的音波都可以写成"某个基本相位速率 \(\omega\) × 小节内的某个波形"——这两件事联合起来就完整描述了音波。
晶体的 Bloch 波也是:"某个晶体动量 \(\vec{k}\) × 原胞内的周期波形 \(u(\vec{r})\)"。
本轮 6 个问题速览¶
| # | 主题 | 核心 |
|---|---|---|
| Q1 | 原文"直觉"像天书 | "\(\hat{H}\) 与 \(\hat{T}\) 对易" = 晶体处处一样,能量算符不关心挪不挪;"本征值是 \(e^{i\vec{k}\cdot\vec{R}}\)" = 挪一下只能差一个纯相位 |
| Q2 | \(\vec{k}\) 从哪来?BZ 是什么? | \(\vec{k}\) 是"挪一原胞差的相位速率";\(\vec{k}\) 和 \(\vec{k}+\vec{G}\) 等价(钟表 13=1);BZ 是代表区 |
| Q3 | 倒格矢为什么 | 周期函数的傅里叶级数只在"允许频率"上取值;3D 版本就是倒格点,它们构成倒格矢网格 |
| Q4 | BZ 与倒格点间距 | 完全正确:BZ 是 Wigner-Seitz 原胞,大小 ~ 最近邻倒格点距离的一半 |
| Q5 | 新词从哪来 | 化简 7 第一次专门处理晶体(周期系统),之前的化简都是更一般的问题;这些新词是"量子力学 × 晶体周期性"的联合结果 |
| Q6 | "k 点"是什么 | 倒空间里坐标为 \(\vec{k}\) 的点;\(\vec{k}\) 是 3 维坐标;"k 点采样" = 在 BZ 里选有限多个 \(\vec{k}\) |
Q7:在布里渊区视角下,我们具体要算什么?和前面几步的关系是什么?¶
这个问题是本篇和其他章节对接的钥匙。
全局图景:Bloch 把 DFT 每一步"按 k 分块"¶
化简 1–6 定义了一个"大问题": - 化简 1:核位置固定 → 周期外势 \(V_{ext}\) - 化简 3–4:KS 方程 + 密度泛函 \(E[\rho]\) - 化简 5:\(E_{xc}\) 具体形式 - 化简 6:只算价电子
但化简 1–6 没告诉你"晶体里怎么实际求解"——KS 方程在整个 1 cm³ 晶体上是 \(10^{23}\) 维的。
化简 7 做的事:利用 Bloch 定理把这个大问题按 \(\vec{k}\) 分块。
两个层次的计算¶
层次 1:每个 k 点独立算("原子级操作")¶
对 BZ 里每个 \(\vec{k}\),解一个局部 KS 方程:
其中 \(\phi_{n,\vec{k}}(\vec{r}) = e^{i\vec{k}\cdot\vec{r}} u_{n,\vec{k}}(\vec{r})\),\(u\) 只在原胞内变化。
子问题输出: - 本征能 \(\varepsilon_n(\vec{k})\):该 \(\vec{k}\) 下的能带值(\(n = 1, 2, \ldots, N_{bnd}\)) - KS 轨道 \(\phi_{n,\vec{k}}(\vec{r})\) - 占据数 \(f_{n,\vec{k}}\):按能量填电子
规模:每个 \(\vec{k}\) 的问题只涉及一个原胞,矩阵规模 \(\sim 10^3\)–\(10^4\),可对角化。
重要澄清(针对追问)¶
你的这句追问包含 4 个互相关联的概念混淆,必须一并拆开——这是学 Bloch 最容易栽的地方。
混淆 1:k 点 ≠ 原胞¶
两者在完全不同的空间:
| 对象 | 所在空间 | 单位 | 是什么 |
|---|---|---|---|
| 原胞 | 实空间(你能"摸到"的 3D 空间) | Å 或 bohr | 一块有限体积,装着几个原子 |
| k 点 | 倒空间(波矢空间 / 频率空间) | 1/Å 或 1/bohr | 一个 3D 坐标 \(\vec{k}\),标记电子波的"相位变化率" |
类比: - 原胞 = 一段录好的音频波形(实空间信号) - k 点 = 该音频做傅里叶分析后的一个频率分量(频域坐标)
"每个 k 点的 KS 问题涉及一个原胞"的意思:我们在这个 k 标签下,解一个原胞大小的方程。不是说 k 点就是原胞——它们是两个不同的东西,只是每次 KS 计算都发生在原胞空间里(因为 \(u_{n,\vec{k}}(\vec{r})\) 只在原胞内变化)。
混淆 2:实空间原胞都一样 ≠ 倒空间 k 都一样¶
这是最关键的点:
实空间(原胞): - 晶体 = 原胞无限复制 - 每个原胞里的电子密度、势场都完全一样 - 所以"算一个原胞就够了"——对的,我们的计算也确实只在一个原胞里
倒空间(BZ 内的 k 点): - BZ 内的每个 \(\vec{k}\) 对应一个完全不同的物理态 - 不同 \(\vec{k}\) 的能量 \(\varepsilon_n(\vec{k})\) 不同 - 不同 \(\vec{k}\) 的波函数 \(\phi_{n,\vec{k}}\) 空间相位模式不同 - 所以必须算所有 k,不能只算一个
为什么容易混淆:两者都有"周期性",但周期的含义不同:
| 实空间 | 倒空间 | |
|---|---|---|
| 周期对象 | 原胞(每格内容相同) | \(\vec{k}\) 的等价(\(\vec{k}\) 与 \(\vec{k}+\vec{G}\) 物理等同) |
| "周期单元" | 一个原胞 | 一个 BZ |
| 周期单元内部 | 内容都一样(只有一个原子集合) | 每个点都是独立物理态(无穷多 \(\vec{k}\)) |
BZ 是什么:它是"独立 \(\vec{k}\) 的代表区"——BZ 以外的 \(\vec{k}\) 都和 BZ 内某个 \(\vec{k}\) 等价,所以不需要算。但 BZ 内部的不同 \(\vec{k}\) 互相不等价,都要算。
自由电子类比(最能说明问题)¶
考虑最简单的自由电子:
- 每个 \(\vec{k}\) 对应一个不同动量、不同能量的电子态
- \(\vec{k}=0\) 静止,\(\vec{k}=(1, 0, 0)/\text{Å}\) 朝 x 方向运动,\(\vec{k}=(0, 1, 0)/\text{Å}\) 朝 y 方向……
- 每个都是不同的物理态,能量都不同
电子密度: $\(\rho(\vec{r}) = \sum_{\text{occupied }\vec{k}} |\psi_{\vec{k}}(\vec{r})|^2\)$
如果只算一个 \(\vec{k}\),你漏掉其他所有态。实际金属里 Fermi 海下有巨大数量的占据 \(\vec{k}\),全部都要算(至少采样足够多代表点)。
晶体里的 Bloch 电子完全类似——只是波函数从 \(e^{i\vec{k}\cdot\vec{r}}\) 变成 \(e^{i\vec{k}\cdot\vec{r}} u_{n,\vec{k}}(\vec{r})\)(多了原胞内细节),但"不同 \(\vec{k}\) 是不同态"这件事不变。
钟表类比的精确界限¶
之前的钟表类比说"13 点 = 1 点"——这对应"\(\vec{k}\) 和 \(\vec{k}+\vec{G}\) 等价"。
但这不意味着"钟表上所有时间都相等"——2 点不是 8 点,虽然都在 0-12 范围内。
对应关系:
| 钟表 | 晶体 |
|---|---|
| 0-12 小时(一个周期) | 一个 BZ |
| 13 点 = 1 点(周期等价) | \(\vec{k}\) 与 \(\vec{k}+\vec{G}\) 等价 |
| 2 点 ≠ 8 点(周期内不同位置) | BZ 内不同 \(\vec{k}\) 是不同物理态 |
| 只需要标时钟 0-12 | 只需要标 BZ 内 k |
| 但 0-12 里每个时刻都不同 | BZ 里每个 \(\vec{k}\) 都要算 |
混淆 3:\(\int_{BZ} f(\vec{k}) d\vec{k}\) 是什么¶
不是"对 BZ 积分 \(d\text{BZ}\)"(把 BZ 当积分变量)。
是: - 积分区域:BZ(一个 3D 区域) - 积分变量:\(\vec{k}\)(BZ 里的任意点) - 积分元:\(d\vec{k} = dk_x \, dk_y \, dk_z\)(3D 小体积元)
完全类比你熟悉的 1D 积分:
- 积分区域 \([0, 2\pi]\)
- 积分变量 \(x\)
- 积分元 \(dx\)
没人会把这写成"对 \([0, 2\pi]\) 积分 \(d[0, 2\pi]\)"——同理,BZ 是积分区域,不是积分变量。
BZ 积分是:在 BZ 内部扫描所有 \(\vec{k}\),把每个 \(\vec{k}\) 的贡献加起来。
混淆 4:为什么要积分("每个 BZ 都一样" vs "每个 k 不同")¶
"每个 BZ 都一样"是对的——但一个 BZ 内部不是一样的!
想算整个晶体的电子密度,不需要考虑 BZ 外的 \(\vec{k}\)(那里和 BZ 内等价,多余)。但 BZ 内每个 \(\vec{k}\) 都有独立贡献:
每个 \(\vec{k}\) 贡献什么: - 该 \(\vec{k}\) 下填充了的每个能带 \(n\) 的电子密度 \(f_{n,\vec{k}}|\phi_{n,\vec{k}}|^2\) - 不同 \(\vec{k}\) 的 \(\phi\) 和 \(\varepsilon\) 都不同——贡献都不同
如果只算 1 个 k(比如 Γ 点): - 漏掉 BZ 其他位置的贡献 - 对晶体尺寸 \(N_1 \times N_2 \times N_3\) 的超胞,漏掉 \(N_1 N_2 N_3 - 1\) 个独立态 - 结果能量错得离谱,结构弛豫发散
实际做法(化简 9 的内容): - 离散化 BZ 为 Monkhorst-Pack 网格(如 \(8 \times 8 \times 8 = 512\) k 点) - 每个 k 点加权求和(而不是连续积分) - 不同体系 k 点数需求不同:金属 \(12^3+\),绝缘体 \(6^3\) 够
总结:核心纠正¶
你的追问分解后的4 个纠正:
| 你的表述 | 正确表述 |
|---|---|
| "k 点 = 原胞" | ❌ k 点是倒空间坐标,原胞是实空间区域 |
| "只有相位变化,能量不变" | ❌ 不同 \(\vec{k}\) 的能量 \(\varepsilon_n(\vec{k})\) 不同 |
| "只算一个 k 就好了" | ❌ 必须算所有独立 \(\vec{k}\)(BZ 内都不等价) |
| "对 BZ 积分 \(d\text{BZ}\)" | ❌ 是对 BZ 内部的 \(\vec{k}\) 积分,\(d\vec{k}\) 是积分元 |
| "每个 BZ 都一样,为什么积分" | ✅ BZ 之间确实等价(所以只需一个 BZ),❌ 但 BZ 内部不同 \(\vec{k}\) 完全不同 |
ML 类比(一次说清)¶
| ML 情境 | DFT |
|---|---|
| 图像分类:每张图像有 224 × 224 像素 | 每个晶体有很多 \(\vec{k}\) 点 |
| "每个像素值都要看"才能分类 | "每个 \(\vec{k}\) 都要算"才能得到总电子密度 |
| 不能"只看一个像素就说这是猫" | 不能"只算 Γ 点就说这是 Si" |
| 如果图像周期(如 tiled texture),可以只看一个 tile | 如果晶体周期(确实),可以只看一个原胞 |
| 但 tile 内部的每个像素还是要看 | 但原胞内部对应 BZ 内所有 \(\vec{k}\) 还是要算 |
关键:实空间周期性让我们只需要一个原胞的空间,但这个原胞里的电子是由所有 BZ 内 \(\vec{k}\) 的 Bloch 模式叠加而成——必须对所有 \(\vec{k}\) 积分才能得到对的答案。
一张图总结¶
实空间:
┌───────┬───────┬───────┬───────┐
│ 原胞 A │ 原胞 A │ 原胞 A │ 原胞 A │ ← 所有原胞内容一样(周期)
│ (0,0,0)│(a,0,0)│(2a,0,0)│(3a,0,0)│ ← 所以只需看 1 个原胞
└───────┴───────┴───────┴───────┘
一个原胞内的电子密度 ρ(r) 由什么决定?
↓ 积分所有 Bloch 模式
↓
倒空间 BZ 内部:
┌──────────────────┐
│ · · · · · │
│ · k₁ k₂ k₃ · │ ← BZ 里每个 k 点都是独立物理态
│ · k₄ k₅ k₆ · │ 每个都要算 φ_{n,k}(r), ε_n(k)
│ · · · · · │
└──────────────────┘
ρ(r) = Σ_n ∫_BZ f_{n,k} |φ_{n,k}(r)|² dk/(2π)³
↑ ↑
对所有 k 积分 每个 k 贡献不同
最后得到的 ρ(r) 在任何原胞内都一样(实空间周期性)
但这个 ρ(r) 的具体数值 = 所有 BZ 内 k 模式贡献的叠加
核心洞察:实空间周期 ↔ 倒空间的 BZ 离散网格。实空间"看一个原胞"对应倒空间"扫所有 BZ 内 \(\vec{k}\)"——两个空间的对偶性。
追问(概念确认):倒空间 = 频率空间?BZ = 频率范围?对每个频率的物性积分?
你的三个直觉基本都对,稍作细化和扩展:
✅ 倒空间 ≈ 频率空间(更精确:空间频率空间)¶
- 信号处理:时间 \(t\) 的傅里叶对偶 → 时间频率 \(\omega\)(单位 Hz = 1/s)
- 晶体物理:位置 \(\vec{r}\) 的傅里叶对偶 → 空间频率 \(\vec{k}\)(单位 1/m 或 1/Å)
- 数学上完全是同一个概念——傅里叶对偶空间
- 物理上的差别只是变量:时间 vs 空间
类比表:
| 信号处理 | 晶体 |
|---|---|
| 时间 \(t\) | 位置 \(\vec{r}\) |
| 时间频率 \(\omega\)(Hz) | 空间频率 \(\vec{k}\)(1/Å) |
| 傅里叶变换 | 倒空间表示 |
| 周期信号 | 周期晶格 |
| 离散频率(倍频) | 倒格矢 \(\vec{G}\)(离散倒格点) |
| 采样信号的奈奎斯特区 | 第一布里渊区 |
✅ BZ ≈ 独立频率的范围(奈奎斯特区类比)¶
完全准确。BZ 不是"所有频率"(倒空间是无限的),而是"独立空间频率的代表区":
- 超出 BZ 的 \(\vec{k}\) 都能通过加倒格矢 \(\vec{G}\) "折叠"回 BZ 内(类似数字信号里的 aliasing)
- 所以只需扫描 BZ 内——和采样定理里"频率只需取到奈奎斯特频率"是同一数学事实
这个关系用公式说明: - 信号采样率 \(f_s\) → 奈奎斯特区 \([-f_s/2, +f_s/2]\) - 晶体晶格周期 \(a\) → 倒格矢基 \(b = 2\pi/a\) → BZ 大小 \([-b/2, +b/2]\)
✅ 对每个频率的物性积分¶
正确。每个 \(\vec{k}\) 对应一个独立的物理态,所有态的贡献叠加给全局量:
类比:信号处理里,把所有频率分量叠加还原时域信号: $\(f(t) = \frac{1}{2\pi}\int F(\omega) e^{i\omega t} \, d\omega\)$
结构完全相同——对频率域积分,得到位置域的物理量。
一个重要补充:倒空间里有两种"频率"¶
晶体的倒空间实际包含两层傅里叶结构。
用通俗类比区分两种频率:
类比 1:海浪打在一排浮标上¶
想象海上有一排均匀排列的浮标(每间隔 10 m 一个 = 晶体里的原子)。浪(电子波)拍过来:
- 长波 \(\vec{k}\)(BZ 内的频率):海面的大浪——波峰波谷每 50–100 m 变化一次
- 描述"跨浮标"的波动节奏——相邻浮标之间浪的相位差
- 波长 ~ 浮标间距的 1 倍到无穷倍
- 短波 \(\vec{G}\)(倒格点的频率):每个浮标周围的小涟漪
- 描述一个浮标周围 "水花细节"——短距离内的快速起伏
- 波长 ~ 浮标间距的 1/10 甚至更短
两种波同时存在,要完整描述水面必须都知道。
类比 2:一列火车¶
想象一列长火车(晶体),由很多相同的车厢(原胞)组成。每节车厢里有乘客(电子密度)。
- \(\vec{k}\)(跨车厢节奏):整列车上乘客集体做动作的时序
- 所有车厢乘客同时举手 → \(\vec{k} = 0\)(最同步)
- 隔一节错开一个节拍 → \(\vec{k}\) 适中
-
相邻车厢动作反向 → \(\vec{k}\) 达到 BZ 边界
-
\(\vec{G}\)(车厢内分布):一节车厢里乘客具体坐哪里
- 坐过道 / 坐窗边 / 坐门口 —— 这些分布细节
- 分布越复杂 → 需要越多 \(\vec{G}\) 分量来描述
ecutwfc就是"保留多精细的分布细节"
类比 3:重复壁纸¶
想象一面无限大的墙壁贴着重复花纹的壁纸:
- \(\vec{k}\)(跨块相位):一块壁纸相对下一块有没有"偏移"?
- \(\vec{k}=0\) 所有块完全一样
-
\(\vec{k} \neq 0\) 每块相对前一块有相位平移
-
\(\vec{G}\)(块内细节):一块壁纸自身的花纹长什么样
- 花纹有多复杂就需要多少 \(\vec{G}\) 分量
关键:这是两个独立的问题—— - "跨块怎么排"(长尺度) - "块内长啥样"(短尺度)
回答其中一个不回答另一个,都无法还原整面墙的图案。
精确技术区别¶
| 维度 | \(\vec{k}\)(BZ 内) | \(\vec{G}\)(倒格点) |
|---|---|---|
| 通俗说 | 跨原胞的"同步节奏" | 原胞内的"分布细节" |
| 尺度 | 长波(原胞到晶体尺寸) | 短波(原子核到原胞) |
| 取值 | BZ 内连续(有限采样后离散) | 离散倒格点(无限多,但可截断) |
| 数量(Si 原胞) | \(\sim 30\)(不可约 k 点) | \(\sim 10^3\)(ecutwfc=40 下的平面波数) |
| QE 参数 | K_POINTS |
ecutwfc |
| 所属化简 | 化简 7 (Bloch) + 9 (采样) | 化简 8 (平面波基组) |
| 数学角色 | 给每个电子态贴标签(\(\phi_{n,\vec{k}}\)) | 在每个 \(\vec{k}\) 下做基组展开 |
| 物理动机 | 利用平移对称性(Bloch 定理) | 数值离散化(把 PDE 变矩阵) |
ML 类比:两种信息分离¶
像 Transformer 里的两种结构: - 跨 token 的自注意力 ↔ \(\vec{k}\)(跨原胞关系) - 每个 token 的 embedding 维度 ↔ \(\vec{G}\)(原胞内细节)
或 CNN: - Feature map 的空间维度(整体布局)↔ \(\vec{k}\) - 每个空间位置的 channel 维度(局部特征)↔ \(\vec{G}\)
一个描述"整体",一个描述"局部"——两者独立且互补。
完整波函数怎么体现这两种频率¶
把 Bloch 波展开:
- \(e^{i\vec{k}\cdot\vec{r}}\):长波包络,跨原胞慢变化
- \(\sum_{\vec{G}} c_{n,\vec{k}}(\vec{G}) e^{i\vec{G}\cdot\vec{r}}\):原胞内细节,由多个短波叠加
合起来 = \(\sum_{\vec{G}} c_{n,\vec{k}}(\vec{G}) e^{i(\vec{k}+\vec{G})\cdot\vec{r}}\),总共是 \((\vec{k}+\vec{G})\) 平面波的和。
在 QE 输入里的直接对应¶
你之前看的 Si vc-relax 输入:
&SYSTEM
ecutwfc = 40.0 ! ← 控制 G 截断(原胞内细节精度)
...
/
K_POINTS automatic
8 8 8 0 0 0 ! ← 控制 k 采样(跨原胞节奏点数)
两个参数控制两件独立的事:
- ecutwfc 调高 → 保留更多短波 \(\vec{G}\),原胞内细节更精确
- K_POINTS 调密 → 采样更多 \(\vec{k}\),跨原胞积分更准
两者都要够大才能得到准确结果,但调其中一个不替代另一个。
总结:两种频率的本质区别¶
| \(\vec{k}\) | \(\vec{G}\) | |
|---|---|---|
| 通俗定义 | 跨原胞的同步节奏 | 原胞内部的分布细节 |
| 波长 | 长(原胞尺寸→晶体尺寸) | 短(原子核尺寸→原胞尺寸) |
| QE 参数 | K_POINTS |
ecutwfc |
| 决定 | 标签电子态身份 | 展开原胞内波形 |
一句话:\(\vec{k}\) 是"整体如何排列",\(\vec{G}\) 是"局部长什么样"——两个独立维度。
层 1:BZ 内的 \(\vec{k}\)——"跨原胞"的长波相位¶
- 描述:电子波函数跨相邻原胞时的相位变化率
- 取值范围:BZ 内(有限区域)
- 连续变量(或有限 k 点采样后的离散)
- 由 Bloch 定理引入
层 2:倒格点 \(\vec{G}\)——"原胞内部"的短波细节¶
- 描述:原胞内部 \(u_{n,\vec{k}}(\vec{r})\) 的空间频率结构
- 取值:倒格点(离散的 3D 网格)
- 无限延伸(但实际被
ecutwfc截断) - 用于化简 8 的平面波展开:\(u_{n,\vec{k}}(\vec{r}) = \sum_{\vec{G}} c_{n,\vec{k}}(\vec{G}) e^{i\vec{G}\cdot\vec{r}}\)
两层关系图¶
倒空间(完整)
├── 近原点的有限区域 = BZ
│ ↑
│ 这里取 k 点(跨原胞相位)
│ 每个 k 是一个独立 KS 子问题
│
└── 离原点远的倒格点 G(无限多)
↑
这里用作平面波展开系数(原胞内细节)
ecutwfc 截断高频 G
完整的 Bloch 电子波: $\(\phi_{n,\vec{k}}(\vec{r}) = e^{i\vec{k}\cdot\vec{r}} \sum_{\vec{G}} c_{n,\vec{k}}(\vec{G}) e^{i\vec{G}\cdot\vec{r}} = \sum_{\vec{G}} c_{n,\vec{k}}(\vec{G}) e^{i(\vec{k}+\vec{G})\cdot\vec{r}}\)$
所以每条 Bloch 能带的波函数 = 一组 \((\vec{k}+\vec{G})\) 平面波的叠加——既用了 BZ 内的 \(\vec{k}\)(长波包络),也用了倒格点 \(\vec{G}\)(短波细节)。
关键差别:每个 \(\vec{k}\) 不只是"一个傅里叶系数"¶
普通傅里叶变换中,每个频率 \(\omega\) 对应一个复数振幅 \(F(\omega)\)——单一数字。
晶体里每个 \(\vec{k}\) 对应: - 一个独立的 KS 方程(原胞级) - 多条能带 \(\varepsilon_n(\vec{k})\)(\(n = 1, 2, \ldots, N_{bnd}\)) - 每条能带对应一个原胞内 3D 波函数 \(u_{n,\vec{k}}(\vec{r})\)
所以 Bloch 比傅里叶变换丰富得多——不是把信号拆成简单的频率系数,而是把晶体拆成"每个 \(\vec{k}\) 下的一组独立 KS 解"。
完整类比表(信号处理 ↔ 晶体 DFT)¶
| 概念 | 信号处理 | 晶体 DFT |
|---|---|---|
| 原始函数 | 信号 \(f(t)\) | 波函数 \(\psi(\vec{r})\) |
| 傅里叶对偶空间 | 频率 \(\omega\) 空间 | 倒空间 \(\vec{k}\) |
| 周期单元 | 信号周期 \(T\) | 原胞(周期向量 \(\vec{a}\)) |
| 独立频率范围 | \([0, 2\pi/T)\) 或奈奎斯特区 | 第一布里渊区 |
| 离散频率分量 | 倍频 \(n\omega_0\) | 倒格点 \(\vec{G}\) |
| 每个频率存什么 | 一个振幅 \(F(\omega)\)(单复数) | 一组 \(\{\varepsilon_n(\vec{k}), u_{n,\vec{k}}(\vec{r})\}\)(需独立解 KS) |
| 还原物理量 | \(f(t) = \int F(\omega) e^{i\omega t} d\omega\) | \(\rho(\vec{r}) = \sum_n \int_{BZ} f_{n,\vec{k}}\|\phi_{n,\vec{k}}(\vec{r})\|^2 d\vec{k}\) |
总结¶
| 你的直觉 | 评估 | 细化 |
|---|---|---|
| 倒空间 = 频率空间 | ✅ | 更精确:空间频率空间 |
| BZ = 频率范围 | ✅ | 独立频率代表区(奈奎斯特区类比) |
| 对每个频率的物性积分 | ✅ | 严格说每个 \(\vec{k}\) 对应一组 KS 解而非单一系数 |
补充:倒空间有两种频率——BZ 内的 \(\vec{k}\)(跨原胞长波)+ 倒格点 \(\vec{G}\)(原胞内短波)。化简 7 用前者(Bloch 分块),化简 8 用后者(平面波展开)。
层次 2:对 BZ 积分 / 求和("全局量")¶
所有物理量都是对 BZ 的积分:
电子密度(送回化简 4 的 \(V_{eff}\)): $\(\rho(\vec{r}) = \sum_n \int_{BZ} f_{n,\vec{k}} \, |\phi_{n,\vec{k}}(\vec{r})|^2 \, \frac{d\vec{k}}{(2\pi)^3}\)$
总能量(化简 4 的目标): $\(E_{total} = T_s + V_{ext}[\rho] + J[\rho] + E_{xc}[\rho] + E_{nuc\text{-}nuc}\)$
每项都是 BZ 积分。
态密度 DOS: $\(g(E) = \sum_n \int_{BZ} \delta(E - \varepsilon_n(\vec{k})) \frac{d\vec{k}}{(2\pi)^3}\)$
能带图:\(\varepsilon_n(\vec{k})\) 沿 BZ 高对称路径扫描。
带隙: $\(E_{gap} = \min_{\vec{k}} \varepsilon_{CBM}(\vec{k}) - \max_{\vec{k}} \varepsilon_{VBM}(\vec{k})\)$
和前面化简的具体对应¶
| 化简 | 贡献了什么 | 在 BZ 分块视角下的作用 |
|---|---|---|
| 1 BO | 核位置 \(\{\vec{R}_I\}\) 周期排列 → 周期势 \(V_{ext}(\vec{r})\) | 周期性让 Bloch 分解成立 |
| 2 Slater | 单电子轨道形式 | \(\Psi\) 是 Bloch 轨道的 Slater 行列式 |
| 3 HK | 基态密度决定一切 | "只需算 \(\rho\)"在晶体里成立 |
| 4 KS | KS 方程 + \(V_{eff}[\rho]\) | 提供每个 k 要解的具体算符 \(\hat{H}_{KS}\) |
| 5 XC | \(V_{xc}[\rho]\) 具体形式 | 填入 \(\hat{H}_{KS}\) |
| 6 赝势 | 电子数从全电子变价电子 | 减少每个 k 点的矩阵规模 |
| 7 Bloch (本篇) | 按 k 分块 + \((n, \vec{k})\) 标签 | 让求解可实际分块 |
| 8 平面波 | 每个 k 内用平面波展开 \(u_{n,\vec{k}}\) | PDE → 矩阵特征值 |
| 9 k 采样 | BZ 积分 → 有限 k 求和 | 让 BZ 积分可数值实现 |
| 10 对称性 | 等价 k 只算一次 | 独立 k 数量压缩 |
| 11 SCF | \(V_{eff} \leftrightarrow \rho\) 循环 | 每次迭代对所有 k 对角化 |
| 12 BFGS | 外层调核位置 | 每步都重跑 7–11 |
把整个 DFT 流程串起来("k 分块视图")¶
外层:BFGS 调原子位置 {R_I} (化简 12)
│
▼
更新周期势 V_ext(r) (化简 1, 6)
│
▼
┌─── SCF 迭代(化简 11)────────────────┐
│ │
│ 构造 V_eff = V_ext + V_H[ρ] + V_xc[ρ] (化简 4, 5)
│ │
│ 对每个不可约 k 点(化简 9, 10): │
│ ↓ │
│ 构造 Ĥ_KS(k) 矩阵(平面波基,化简 8)│
│ ↓ │
│ 对角化 → {ε_n(k), φ_{n,k}} │
│ │
│ 所有 k 合起来(BZ 积分): │
│ ↓ │
│ ρ(r) = Σ ∫_BZ f |φ|² dk/(2π)³ │
│ E = T_s + V_ext + J + E_xc │
│ │
│ 检查 ρ_new vs ρ_old: │
│ 未收敛 → 混合 ρ,回到 V_eff │
│ 收敛 → 跳出 │
└────────────────────────────────────────┘
│
▼
算力 F_I 和应力 σ (化简 12)
│
▼
BFGS 调 {R_I} 或晶格 (化简 12)
│
└── 回到顶端
化简 7 的位置:让 SCF 内循环的"解 KS"部分可以并行按 k 分块——每个 k 独立,然后积分起来。
为什么这么设计关键¶
- 没有 Bloch 分块:\(10^{23}\) 维 KS 方程,不可行
- 有了 Bloch 分块:
- ~30 个不可约 k 点,每个 \(\sim 10^3\) 维
- 两层积分:每 k 对角化 + 对 k 加权求和
- 总算力:\(O(10^{69}) \to O(10^{13})\)——可在 CPU 秒级跑完
QE 一次 SCF 迭代的样子¶
iteration # 1 ecut= 40.00 Ry beta= 0.70
Davidson diagonalization with overlap ← 每个 k 都做
ethr = 1.00E-02
avg # of iterations = 2.5 ← 平均 Davidson 步数
total cpu time ...
total energy = -16.92 Ry ← BZ 积分后的总能量
iteration # 2
...
每次 iteration 的操作:
1. 构造 \(V_{eff}\)
2. 对所有 k 点(常并行)做 Davidson 对角化(层次 1)
3. 用新结果算 \(\rho_{new}\)(层次 2 积分)
4. 比较新旧 \(\rho\) 并混合
5. 输出 total energy
QE 的 k 点并行(-npool)把不同 k 分给不同进程——因为它们互相独立。
BZ 积分的物理意义(举例)¶
金属的电子密度:费米面上"有多少 k"直接决定局部电子浓度,必须做 BZ 积分
半导体的带隙:VBM 可能在 Γ,CBM 可能在 X——必须采样多个 k 才能找到真正的极值
磁性:\(\rho_\uparrow - \rho_\downarrow\) 对每个 k 分别积分 up/down
简洁总结¶
| 什么 | 在 BZ 分块视角 |
|---|---|
| 每个 k 算什么 | 一个局部 KS 本征值问题 → \(\{\varepsilon_n(\vec{k}), \phi_{n,\vec{k}}\}\) |
| 所有 k 合起来算什么 | 对 BZ 积分:\(\rho\)、\(E\)、DOS、能带、带隙 |
| 前面化简的作用 | 1–6 决定"要解什么 KS 方程";7 把它分块按 k |
| 后面化简的作用 | 8 离散化每个 k;9–10 离散 BZ 积分;11 SCF;12 外层优化 |
一句话:Bloch + BZ 把"\(10^{23}\) 维 KS 方程"变成"~30 个独立原胞级子问题 + BZ 积分得到全局量"——这是 DFT 在晶体上实际可跑的根本原因。
本轮 7 个问题速览(更新)¶
| # | 主题 | 核心 |
|---|---|---|
| Q1 | "直觉"像天书 | "\(\hat{H}\) 与 \(\hat{T}\) 对易" = 晶体处处一样;"本征值是相位" = 挪不能改变概率 |
| Q2 | \(\vec{k}\) 哪来?BZ 是什么 | \(\vec{k}\) 是"挪一原胞差的相位速率";\(\vec{k}+\vec{G}\) 等价;BZ 是代表区 |
| Q3 | 倒格矢通俗解释 | 傅里叶级数允许频率的 3D 版本 |
| Q4 | BZ 与倒格点间距 | BZ 大小 ~ 最近邻倒格点距离的一半 |
| Q5 | 新词从哪来 | 化简 7 第一次专门针对晶体,之前是更一般问题 |
| Q6 | "k 点"是什么 | 倒空间里坐标为 \(\vec{k}\) 的点 |
| Q7 | BZ 视角下算什么?怎样和前面连接 | 两层:每 k 独立解 KS + 对 BZ 积分得到 \(\rho\)/\(E\)/DOS;化简 7 把 KS 按 k 分块,让 \(10^{23}\) 维问题变成 ~30 个原胞级子问题 |