18. 平面波基组 + 截断能(化简 8)¶
化简 7(布洛赫 + BZ)把波函数结构化成 \(\phi_{n,\vec{k}}(\vec{r}) = e^{i\vec{k}\cdot\vec{r}} u_{n,\vec{k}}(\vec{r})\),但 \(u_{n,\vec{k}}(\vec{r})\) 仍是一个周期连续函数,仍是无穷维自由度。这一步把它展开到一组有限基函数上,让 Kohn-Sham 方程变成一个有限维的矩阵特征值问题——这是从"PDE"走到"线性代数"的关键一跃,也是 ML/CS 读者最熟悉的一步。
1. 化简位置¶
12 步化简链中的第 8 步:平面波基组 + 截断能(plane-wave basis + cutoff energy)。
- 前一步:化简 7 布洛赫定理把波函数写成 \(\phi_{n,\vec{k}}(\vec{r}) = e^{i\vec{k}\cdot\vec{r}} u_{n,\vec{k}}(\vec{r})\),\(u\) 是在原胞里的周期函数
- 本步:把周期部分 \(u_{n,\vec{k}}(\vec{r})\) 用傅里叶级数(即平面波)展开,再截断高频
- 下一步:化简 9(k 点采样)——布洛赫 k 是连续的,要离散采样
2. 上一步的困难¶
化简 7 之后,需要在每个 \(\vec{k}\) 上求解
这是一个连续的偏微分方程(PDE)。即使利用了布洛赫定理把问题限制在一个原胞里,\(u_{n,\vec{k}}(\vec{r})\) 仍然是一个无穷维的函数空间元素。
想让计算机算,必须把它投影到有限维子空间。这就是"基组(basis set)"做的事:选一组基函数 \(\{\chi_\alpha\}\),写 \(u \approx \sum_{\alpha=1}^{N_b} c_\alpha \chi_\alpha\),然后求 \(\{c_\alpha\}\)。
选什么基?这就是化简 8 的核心问题。
3. 引入的假设 / 近似¶
核心假设:\(u_{n,\vec{k}}(\vec{r})\) 可以用有限个平面波近似展开,高频成分可以丢掉。
具体地,因为 \(u_{n,\vec{k}}(\vec{r})\) 是原胞周期的,它的傅里叶级数只含倒格矢 \(\vec{G}\) 的分量:
代回 Bloch 形式:
截断(cutoff):只保留动能小于阈值的平面波:
这个 \(E_{\text{cut}}\) 就是 QE 的 ecutwfc(cutoff for the wavefunction)。
代价:截断引入数值误差,需要做收敛性测试(convergence test)验证结果对 ecutwfc 不再敏感。
4. 引入的新概念¶
4.1 平面波(plane wave)¶
定义:\(\chi_{\vec{G}}(\vec{r}) = \frac{1}{\sqrt{\Omega}} e^{i(\vec{k}+\vec{G})\cdot\vec{r}}\),其中 \(\Omega\) 是原胞体积。
性质: - 正交归一(orthonormal):\(\int_\Omega \chi_{\vec{G}}^* \chi_{\vec{G}'} \, d\vec{r} = \delta_{\vec{G},\vec{G}'}\) - 非局域(non-local / delocalized):每个 \(\chi_{\vec{G}}\) 在整个空间非零(与高斯轨道相反) - 完备(complete):\(\{\chi_{\vec{G}}\}\) 对所有 \(\vec{G}\) 张满周期函数空间
4.2 截断能 ecutwfc¶
波函数截断能,单位 Ry(Rydberg,1 Ry ≈ 13.606 eV)。控制基组大小:
——基组大小随 \(E_{\text{cut}}^{3/2}\) 增长。对典型原胞(几个原子),ecutwfc = 40 Ry 约产生 \(10^3\)–\(10^4\) 个平面波。
4.3 密度截断能 ecutrho¶
电子密度 \(\rho(\vec{r}) = \sum_n |\phi_n(\vec{r})|^2\) 是波函数模平方,其傅里叶分量涉及 \(\vec{G} - \vec{G}'\)——可以出现最高到 \(2\vec{G}_{\max}\)。因此密度需要更大的截断:
即 ecutrho >= 4 * ecutwfc。这是 norm-conserving 赝势的理论下界。
对 USPP(超软赝势)和 PAW 赝势,因为价态波函数"更柔"且增广项含高频补偿,实际需要 ecutrho / ecutwfc 比值达 8–12。
4.4 KS 方程的矩阵形式¶
把 \(\phi_{n,\vec{k}} = \sum_{\vec{G}} c_{n,\vec{k},\vec{G}} \chi_{\vec{G}}\) 代入 \(\hat{H}_{KS} \phi = \varepsilon \phi\),两边左乘 \(\chi_{\vec{G}'}^*\) 积分,得到
这是一个标准的矩阵特征值问题 \(\mathbf{H}(\vec{k}) \vec{c}_n = \varepsilon_n \vec{c}_n\),矩阵维度 = \(N_{\text{PW}}\)。因为平面波正交,没有重叠矩阵 \(\mathbf{S}\)(或者说 \(\mathbf{S} = \mathbf{I}\))。
对 USPP / PAW,投影增广项引入非平凡 \(\mathbf{S}\),变成广义特征值问题 \(\mathbf{H}\vec{c} = \varepsilon \mathbf{S} \vec{c}\)。
4.5 FFT 网格¶
密度 \(\rho(\vec{r})\) 和势 \(V(\vec{r})\) 同时在实空间格点和倒空间 \(\vec{G}\) 点表示;两者切换用 3D 快速傅里叶变换(FFT)。FFT 网格大小由 ecutrho 决定,通常 QE 会自动选到 \(2 \vec{G}_{\max}^\rho\) 对应的 \((N_1, N_2, N_3)\)。
这就是为什么平面波 DFT 在 HPC 上跑得快:核心的两个操作——对角化 + FFT——都有成熟高效的库(ScaLAPACK、FFTW/cuFFT)。
5. 为什么选平面波(vs 其他基组)¶
| 基组 | 代表软件 | 优点 | 缺点 |
|---|---|---|---|
| 平面波(PW) | QE, VASP, ABINIT | 完备、系统可收敛、天然契合周期系统、FFT 高效 | 基组大(\(10^3\)–\(10^5\))、描述局域态浪费、真空区也要填平面波 |
| 高斯型轨道 GTO(Gaussian-type orbitals) | Gaussian, NWChem | 基组小(几十到几百)、和原子轨道直觉对应 | 不完备、选基需经验、对周期体系支持较弱 |
| 数值原子轨道 NAO(Numerical Atomic Orbitals) | FHI-aims, SIESTA | 局域、线性标度、适合大体系 | 不完备、收敛性不系统 |
| (L)APW | WIEN2k, ELK | 全电子、高精度(分"近核"和"间隙"区域分别处理) | 计算开销大、实现复杂 |
为什么 QE / TritonDFT 用平面波:
- 周期性契合:晶体是周期的,傅里叶级数是描述周期函数的自然基
- 系统性可收敛(systematic convergence):增大
ecutwfc单调改善精度——这就是 ML 里 scaling law 那种"干净"的实验:一个超参调大就好 - FFT 让计算廉价:势能 \(V(\vec{r})\phi(\vec{r})\) 在实空间做乘法 \(O(N_r)\),动能 \(\frac{\hbar^2}{2m}|\vec{k}+\vec{G}|^2 \hat{\phi}(\vec{G})\) 在倒空间做乘法 \(O(N_G)\),两空间切换用 \(O(N \log N)\) 的 FFT——避免了 \(O(N^2)\) 的显式矩阵构造
- 无需"选基"的艺术:和分子化学家调 6-31G* vs aug-cc-pVTZ 那种"玄学"相比,PW 只有一个数字
ecutwfc
6. 对应 QE 字段¶
&SYSTEM 命名空间:
其他相关:
- nbnd:计算多少条能带(= 要对角化出多少个最小特征值)。金属和激发态计算时要大于价带占据数
- FFT 网格 nr1, nr2, nr3:可手动指定,通常交给 QE 自动决定
输出验证:SCF 开始前 QE 会打印类似
Number of Kohn-Sham states= 8
kinetic-energy cutoff = 40.0000 Ry
charge density cutoff = 320.0000 Ry
...
G cutoff = 359.1242 ( 22751 G-vectors) FFT dimensions: ( 48, 48, 48)
22751 G-vectors 可以反推基组大小。
7. 对应 benchmark 条目¶
7.1 输入设置¶
tritonDFT-src 中 agent 在 参数推断(info_query) 阶段会给每种材料选 ecutwfc / ecutrho。这是一个被优化空间——选小了不收敛,选大了浪费 CPU。
7.2 评分影响¶
evaluate/compare.py 的评分字段(a, b, c, alpha, beta, gamma 等)都间接依赖 ecutwfc:
- 截断能太低 → 能量面不准 → 弛豫到错位置 → 晶格常数偏离 ground truth
- 截断能足够 → 结果对
ecutwfc不再敏感(此时才算"收敛")
7.3 已知 bug:Ge 的 40 Ry¶
- 现象:agent 给 Ge(半导体,\(Z=32\))选
ecutwfc = 40 Ry,对 PseudoDojo 的 Ge 赝势严重不够(应 \(\geq 60\) Ry) - 结果:计算数值不稳定,SCF 可能不收敛或收敛到错误能量面
- 教训:LLM 参数推断需要知识,"默认 40 Ry 适用所有材料"的经验主义在重元素、过渡金属、某些主族(Ge、Sn、Sb)上会翻车
- 属于化简 8 参数不当的典型例子
8. ML 类比¶
8.1 基组展开 = 傅里叶/DCT/小波压缩¶
- 信号处理里把图像投影到 DCT 基,保留低频系数 → JPEG
- DFT 把周期波函数投影到平面波基,保留 \(|\vec{k}+\vec{G}|^2 < E_{\text{cut}}\) 的系数
- 完全同构:两者都是"选完备基 + 截断高频"
8.2 ecutwfc = 模型容量超参¶
- 增大
ecutwfc→ 基组更大 → 表示能力更强 → 更贴近真实解 - 类似增大 hidden dim 或层数:单调提升,直到饱和
- 和 NN 不同的是:DFT 里有明确的"真理"(精确 KS 方程)作为渐近极限,所以"够大
ecutwfc"是一个可以通过收敛曲线客观判定的事
8.3 系统性收敛 vs "选基艺术"¶
- 高斯基组像手调 kernel:需要经验选
6-311G(d,p)这类符号 - 平面波像 scaling law:只有一个数字
ecutwfc,曲线光滑递减 - ML 读者最熟悉的那种"把超参调大看曲线"直觉在这里完全适用
8.4 波函数 vs 密度截断的不对称¶
- 想类比的话:\(\rho = |\phi|^2\) 在傅里叶域是卷积,分量从 \([0, G_{\max}]\) 扩到 \([0, 2G_{\max}]\)
- 类似信号处理里,平方输入会使带宽翻倍——所以必须提高密度的 Nyquist(即
ecutrho) - 这是一个"naive 默认会翻车"的坑,和 ML 里 BatchNorm 在小 batch 不稳那类"实现细节"有一比
8.5 FFT = 卷积的快速核¶
CNN 的卷积在大 kernel 下用 FFT 加速;DFT 里势函数乘波函数(实空间乘法)和动能作用(倒空间乘法)之间来回跳,同一个 FFT trick。
9. 典型取值与常见坑¶
9.1 典型 ecutwfc(norm-conserving 或 PBE PseudoDojo 标准)¶
| 材料类型 | ecutwfc |
说明 |
|---|---|---|
| 主族元素、有机分子 (H, C, N, O) | 40–50 Ry | 标准起点 |
| 过渡金属 (Cu, Fe, Ni) | 60–80 Ry | d 电子局域性强 |
| 半导体含重元素 (Ge, Sn, GaAs) | 60–80 Ry | Ge 在 40 Ry 下明显不够 |
| 氧化物 (O 的 2p 电子) | 60–80 Ry | O 比较"硬" |
| 极高精度(声子、弹性常数) | 80–120 Ry | 需要非常平滑的能量面 |
9.2 典型 ecutrho¶
- Norm-conserving:
ecutrho = 4 * ecutwfc(理论下界) - USPP:
ecutrho = 8 * ecutwfc - PAW:
ecutrho = 8–12 * ecutwfc
坑:QE 默认 ecutrho = 4 * ecutwfc 对 USPP/PAW 不够。必须显式设置。PseudoDojo 的 .upf 文件头部通常会给推荐值,可以脚本提取。
9.3 收敛性测试(convergence test)——最规范的做法¶
对某个代表材料(如 Si),扫描
画 total_energy per atom vs ecutwfc,找到相邻两点能量差 < 1 meV/atom 的起点。更严格的可以用 0.1 meV/atom。
对弛豫、晶格常数、力,可能需要比总能量更严格的截断(能量是变分的,高阶收敛;力是一阶导数,收敛慢一截)。
9.4 常见坑列表¶
ecutrho默认不够:UPF 未显式设 → 用ecutrho = 4*ecutwfc→ USPP/PAW 下密度表示不准 → 力和应力异常- Ge 和其他重主族:40 Ry 是"分子 DFT"习惯值,晶体 Ge 需 60+
- 金属对
ecutwfc更敏感:费米面附近态密度高,任何基组不足都会在费米能级处放大 - FFT 网格不是 2 的幂:QE 会自动选,但部分集群的 FFT 实现在非 2 幂维度下更慢——可以手动设
nr1=48等强制 - 单原胞复制成超胞后:
ecutwfc不变(它是能量标度,不是基组大小),但基组数目 \(N_{\text{PW}}\) 随原胞体积线性增长
下一步阅读¶
19-kpoints.md— 化简 9:k 点采样。把 BZ 积分离散化,和本篇的平面波截断一起决定一次 SCF 的计算量20-symmetry.md— 化简 10:空间群对称性,压缩 k 点21-scf-iteration.md— 化简 11:SCF 自洽迭代,解决 \(V_{\text{eff}} \leftrightarrow \rho\) 的循环依赖