跳转至

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}\) 的来源

就是上面说的"挪动一个晶胞后波函数差的相位":

\[\psi(\vec{r} + \vec{R}) = e^{i\vec{k}\cdot\vec{R}} \psi(\vec{r})\]

每个 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}\)

\[e^{i\vec{k}'\cdot\vec{R}} = e^{i\vec{k}\cdot\vec{R}} \cdot e^{i\vec{G}\cdot\vec{R}}\]

\(\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 波的标签(身份证号) 每走一个原胞波函数转的相位

"不就是周期结构吗,何必这么复杂?"

你说得对,如果只是描述经典周期结构,不需要这些。但我们要描述的是周期结构里的量子力学问题——这才是复杂的来源:

  1. 电子是量子粒子:需要用波函数描述
  2. 波函数必须满足量子力学规则(本征态、归一化等)
  3. 加上晶体周期约束:波函数必须"周期等变"
  4. 结果:波函数被限制成"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 (  2527 PWs)   bands (ev):
           -5.8123  6.0123  6.0123 ...
  • 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}\) 分块

原来:一个 10^23 维 KS 问题

   化简 7 Bloch 分块

现在:在每个 k 点上,一个原胞大小的 KS 子问题
     不同 k 之间互不耦合
     对所有 k "积分"得到全局量

两个层次的计算

层次 1:每个 k 点独立算("原子级操作")

对 BZ 里每个 \(\vec{k}\),解一个局部 KS 方程:

\[\hat{H}_{KS}(\vec{k}) \, \phi_{n,\vec{k}}(\vec{r}) = \varepsilon_n(\vec{k}) \, \phi_{n,\vec{k}}(\vec{r})\]

其中 \(\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}\) 互相不等价,都要算。

自由电子类比(最能说明问题)

考虑最简单的自由电子:

\[\psi_{\vec{k}}(\vec{r}) = e^{i\vec{k}\cdot\vec{r}}, \quad \varepsilon(\vec{k}) = \frac{\hbar^2 k^2}{2m}\]
  • 每个 \(\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 积分:

\[\int_0^{2\pi} \sin(x) \, dx\]
  • 积分区域 \([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}\) 都有独立贡献:

\[\rho(\vec{r}) = \sum_n \underbrace{\int_{BZ} f_{n,\vec{k}} |\phi_{n,\vec{k}}(\vec{r})|^2 \frac{d\vec{k}}{(2\pi)^3}}_{\text{BZ 内扫所有 }\vec{k}\text{,加起来}}\]

每个 \(\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}\) 对应一个独立的物理态,所有态的贡献叠加给全局量:

\[\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}\]

类比:信号处理里,把所有频率分量叠加还原时域信号: $\(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 波展开:

\[\phi_{n,\vec{k}}(\vec{r}) = e^{i\vec{k}\cdot\vec{r}} \cdot \underbrace{\sum_{\vec{G}} c_{n,\vec{k}}(\vec{G}) e^{i\vec{G}\cdot\vec{r}}}_{u_{n,\vec{k}}(\vec{r}) \text{ 周期部分}}\]
  • \(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 个原胞级子问题