30. DFT 能算的物性完全指南(输出侧)¶
本篇定位¶
前面 00–22 把 DFT 作为数值求解器讲完了:12 步化简把 3N 维多体问题压成 QE 能跑的矩阵特征值循环。跑通之后 QE 输出一堆数字——哪些数字有物理意义?能对比实验的是哪些?DFT 算不准的又是哪些?
本篇是 DFT 的"输出物性百科"。按物理范畴分 8 组,每组给出:
- 定义 — 物理学教科书定义
- DFT 怎么算 — 用化简链里的哪些输出 + 后处理
- QE 命令 / 字段 — 触发它的输入参数,输出文件
- benchmark 关联 — 在 DFTBench
questions/里对应哪个模板,compare.py里有无评分字段 - 典型值 — 让 ML 背景读者对数值尺度有直觉
- 常见坑 / DFT 局限 — 哪些物性 DFT 系统性算不准,为什么
- ML 类比(如适用)
本篇和 benchmark 设计直接相关:benchmark 的"可评分物性"取决于 DFT 本身的精度上限。带隙低估 30% 是 PBE 的内禀属性,不是 bug;把 band_gap 纳入严格评分就要接受这个系统偏差或切换到 HSE06。
组 0:单位速查¶
| 物性 | QE 内部单位 | 常用单位 | 换算 |
|---|---|---|---|
| 能量 | Ry(里德伯) | eV | 1 Ry = 13.6057 eV |
| 长度 | bohr | Å | 1 bohr = 0.5292 Å |
| 力 | Ry/bohr | eV/Å | 1 Ry/bohr = 25.71 eV/Å |
| 压强 / 应力 | Ry/bohr³ | kbar / GPa | 1 Ry/bohr³ = 14710 kbar;1 GPa = 10 kbar |
| 频率(声子) | cm⁻¹ 或 THz | meV | 1 THz ≈ 4.14 meV ≈ 33.36 cm⁻¹ |
| 磁矩 | μ_B(玻尔磁子) | — | — |
配方单元 (formula unit, f.u.):一个化学式对应的原子组。如 Si₂(金刚石原胞含 2 个 Si 原子)= 1 f.u.;NaCl 原胞含 1 个 Na + 1 个 Cl = 1 f.u.。benchmark 的 total_energy_ev_per_fu 需要把 QE 输出的总能量除以原胞内 f.u. 数。
组 1:结构与能量(vc-relax / scf 直接输出)¶
这是 DFTBench 绝大多数任务的直接评分对象,也是 DFT 算得最准的一组物性。
1.1 总能量 / total energy (E)¶
- 定义:KS 基态的总能量 \(E[\rho_0] = T_s + V_{ext}\cdot\rho + E_H + E_{xc} + E_{nuc-nuc}\)
- DFT 怎么算:SCF 收敛后直接输出(化简 11 的产物)
- QE 字段:
calculation='scf'或任何含 SCF 的流程;输出里 grep - benchmark 关联:
questions/scf_energy.json;评分字段total_energy_ev_per_fu - 典型值:绝对值没有物理意义——它相对"裸核+无穷远电子"的参考态,数字跟赝势选择强相关。只有能量差才是物理量。
- Si(金刚石,2 原子/原胞):~ −15.8 Ry ≈ −215 eV
- NaCl(2 原子/原胞):~ −130 Ry
- 差一个赝势库就能差几百 eV——所以 benchmark 对绝对总能量比较时必须所有计算用同一赝势
- 常见坑:
- 不同赝势/泛函算的总能量不可比较
- 单位混淆:QE 输出 Ry,benchmark 要 eV
- 忘了除 f.u. 数(原胞内有几个化学式)
- ML 类比:总能量像神经网络的 loss,单独看没意义,要看差值(ΔE = loss 下降)
1.2 形成能 / formation energy (E_f)¶
- 定义:\(E_f = E(\text{化合物}) - \sum_i n_i E(\text{单质}_i)\);衡量化合物相对于元素单质的热力学稳定性
- DFT 怎么算:算化合物 + 所有组分单质的总能量,相减除以原子数
- QE 字段:多个独立 SCF 计算 + 后处理
- benchmark 关联:当前 DFTBench 不评形成能
- 典型值(每原子):
- 稳定化合物 −1 到 −5 eV/atom(SiO₂ ≈ −3.1 eV/atom)
- 亚稳相 0 到 −0.5 eV/atom
- 不稳定(分解)> 0 eV/atom
- 常见坑:单质参考态要选对(Fe 要用 bcc 铁磁态;O₂ 是三重态,自旋极化必须开)
- Materials Project 的 "energy above hull":更严格的稳定性判据——不仅比单质,还比所有可能的分解组合
1.3 弛豫结构 / relaxed structure¶
- 定义:BFGS 外层优化到力/应力收敛的晶格参数 (a, b, c, α, β, γ) 和原子分数坐标
- DFT 怎么算:化简 12(见
22-bfgs-relax.md) - QE 字段:
calculation='vc-relax';输出CELL_PARAMETERS和ATOMIC_POSITIONS - benchmark 关联:DFTBench 评分的核心
questions/vc_relax*.jsoncompare.py评a, b, c, α, β, γ(relative error)+space_group*, point_group, crystal_system(exact match)- 典型精度:PBE 晶格常数 vs 实验
- 平均误差 +1% 到 +2%(PBE 普遍高估)
- LDA −1% 到 −2%(普遍低估)
- PBEsol(专为固体调优的 GGA)误差 <0.5%
- SCAN(meta-GGA)< 0.3% 但 2-3 倍贵
- 常见坑 / DFT 局限:
- 范德华(vdW)材料(石墨层间、MoS₂)普通 PBE 根本绑不住 → 层间距严重高估,需要 DFT+D3 色散修正
- 弱氢键体系(冰、DNA)同上
- 磁性体系未开
nspin=2→ 结构错 - ML 类比:相对误差 1% 像一个训练很好的回归模型的 MAPE
1.4 体模量 / bulk modulus (B)¶
- 定义:\(B = -V \partial P / \partial V = V \partial^2 E / \partial V^2\),描述材料抗体积压缩能力
- DFT 怎么算:在平衡体积附近取 5-7 个不同体积,做 SCF,拟合 Birch-Murnaghan 方程态: $\(E(V) = E_0 + \frac{9V_0 B_0}{16}\left\{[(V_0/V)^{2/3}-1]^3 B_0' + [(V_0/V)^{2/3}-1]^2 [6-4(V_0/V)^{2/3}]\right\}\)$
- QE 字段:手动脚本(或用
ev.x后处理);需要一组 vc-relax 固定体积 - benchmark 关联:DFTBench 暂无
- 典型值(GPa):
- 金刚石 C:440(最硬之一)
- Si:98
- Al:76
- Cu:140
- NaCl:25
- 橡胶等软材料:<1
- DFT 局限:PBE 通常低估 B 约 5-10%(因为它高估晶格)
1.5 弹性常数矩阵 / elastic constants (Cᵢⱼ)¶
- 定义:应力-应变关系 \(\sigma_i = C_{ij}\epsilon_j\) 的 6×6 矩阵(Voigt 记号),各向异性体模量、剪切模量、杨氏模量都由它导出
- DFT 怎么算:对晶胞施加 6 种不同应变(εxx, εyy, εzz, εyz, εxz, εxy),每个应变下做 relax(只动原子)并读应力
- QE 字段:
thermo_pw.x(QE 配套工具)或手动脚本 - benchmark 关联:DFTBench 暂无
- 典型值(GPa):立方晶 C₁₁(对角硬度)200-1000;C₁₂(横向耦合)通常更小
- DFT 局限:同晶格常数问题传递——晶格错 1% 对应 Cᵢⱼ 错 3-5%
1.6 应力张量 / stress tensor (σᵢⱼ)¶
- 定义:单位体积内的晶格梯度 \(\sigma_{ij} = -\frac{1}{V}\partial E/\partial \epsilon_{ij}\);3×3 对称矩阵
- DFT 怎么算:SCF 收敛后由 Hellmann-Feynman + Nielsen-Martin 公式直接得
- QE 字段:
tstress=.true.(vc-relax 自动开);输出 - benchmark 关联:
press_conv_thr是 vc-relax 收敛判据;间接影响晶格评分 - 典型值:0 压目标 = 0 kbar;地球深处 ~ 10⁶ kbar = 100 GPa
- 常见坑:QE 的压强精度内禀 ~1 kbar(来自 ecutrho / 泛函),设
press_conv_thr=0.01纯属浪费(见22-bfgs-relax.md)
1.7 力 / forces¶
- 定义:\(\vec{F}_I = -\partial E / \partial \vec{R}_I\)
- DFT 怎么算:Hellmann-Feynman 定理(见
22-bfgs-relax.md§3.1) - QE 字段:
tprnfor=.true.(scf/relax 默认开);输出Forces acting on atoms ... - benchmark 关联:
forc_conv_thr是 relax/vc-relax 收敛判据 - 单位坑:Ry/bohr ≠ eV/Å
组 2:电子结构(scf / nscf / bands / dos)¶
这是 DFT 的"看家本领",也是精度问题最大的一组——band_gap 是 DFT 最著名的系统性低估。
2.1 带隙 / band gap (E_g)¶
- 定义:价带顶 (VBM) 到导带底 (CBM) 的能量差
- 直接带隙:VBM 和 CBM 在同一 k 点(如 GaAs 在 Γ)→ 光吸收效率高,LED 材料
- 间接带隙:VBM 和 CBM 在不同 k 点(如 Si,VBM 在 Γ,CBM 在 X 附近)→ 光吸收需声子参与,太阳能电池
- DFT 怎么算:
- SCF 得电子密度
- NSCF(非自洽)在稠密 k 网格上算本征值
- 或
calculation='bands'沿高对称点连线 - 带隙 = min(CBM k) − max(VBM k)
- QE 字段:
calculation='bands'+K_POINTS crystal_b;后处理bands.x - benchmark 关联:
questions/band_gap.json有模板- 但
compare.py里没有band_gap字段——评分不完整(见本篇末尾映射表) - 典型值(eV,实验值):
- Si:1.17(室温间接)
- Ge:0.66(间接)
- GaAs:1.43(直接)
- C 金刚石:5.47(间接)
- MgO:7.8(绝缘体)
- NaCl:8.5
- DFT 局限(关键,benchmark 设计必读):
- LDA/PBE 系统性低估 30-50%!Si 实验 1.17 eV,PBE 算 ~0.6 eV
- 原因:KS 本征值不是真实准粒子能量;XC 泛函缺少 "derivative discontinuity"
- 修复路线(代价递增):
- HSE06(杂化泛函,25% 精确交换):误差降到 ~0.2 eV,但贵 10-100×
- G₀W₀(准粒子 GW 近似):接近实验,但完全不同代码(BerkeleyGW / Yambo),贵 100-1000×
- DFT+U:只对局域 d/f 电子(如 NiO)有效
- benchmark 若要评 band gap 必须选定泛函并接受系统偏差,或切换 HSE06 承担 10× 成本
- 常见坑:
- 金属没有带隙(E_g = 0),但 DFT 算可能因 smearing 显出非零的假带隙
- 自旋极化体系(nspin=2)要分别看 spin-up 和 spin-down 带隙
- k 网格太稀 → VBM/CBM 位置错(Si 的 CBM 在 X 附近的非对称点,需要精细网格)
- ML 类比:像一个有 30% 系统性低估 bias 的预测模型——集成方法(加 hybrid XC)能减 bias,但计算成本是训一个更大模型
2.2 能带结构 / band structure¶
- 定义:\(\varepsilon_n(\vec{k})\) 作为 k 的函数;画在高对称点连线上是连续曲线
- DFT 怎么算:SCF → NSCF(或 bands)沿路径 Γ-X-W-K-Γ-L(fcc 为例)
- QE 字段:
calculation='bands'+K_POINTS crystal_b;后处理bands.x生成.dat+.gnu - benchmark 关联:
questions/band_gap.json和dos.json工作流含 bands;无直接评分字段 - 典型图像:
- 金属:能带穿过 E_F
- 半导体/绝缘体:带隙把能带劈成价带和导带
- 平带:局域电子(d/f 轨道)
- 常见坑:高对称路径要按晶系选(Setyawan-Curtarolo 标准);
xmgrace/matplotlib画图前要把 E_F 平移到 0
2.3 费米能级 / Fermi level (E_F)¶
- 定义:零温下最高占据态能量;有限温度下化学势 μ(T)
- DFT 怎么算:SCF 自动输出
- QE 字段: 或对绝缘体:
- benchmark 关联:无直接评分,但带隙计算要用
- 常见坑:
- 金属必须开 smearing(
occupations='smearing')才能算得准;不开会 SCF 振荡 - 绝缘体 E_F 位置不唯一(任何带隙中值都行),QE 默认取 VBM
2.4 费米面 / Fermi surface¶
- 定义:金属 k 空间里 \(\varepsilon_n(\vec{k}) = E_F\) 的 3D 等值面;决定导电、磁性、超导性质
- DFT 怎么算:NSCF 稠密 k 网格 →
fs.x后处理 → XCrysDen 可视化 - QE 字段:后处理程序
fs.x - benchmark 关联:DFTBench 暂无
- ML 类比:高维决策边界的可视化
2.5 DOS / density of states g(E)¶
- 定义:\(g(E) = \sum_{n,\vec{k}} \delta(E - \varepsilon_n(\vec{k}))\);单位能量内的能带数
- DFT 怎么算:
- SCF 收敛密度
- NSCF 稠密均匀 k 网格
dos.x后处理:高斯展宽 δ 函数求和- QE 字段:
dos.x输入需要DeltaE(bin 宽)、Emin/Emax;输出*.dos文件 - benchmark 关联:
questions/dos.json;无直接评分字段 - 典型图像:
- 3D 自由电子:g(E) ∝ √E
- 2D 自由电子:g(E) = const(阶跃)
- 1D 自由电子:g(E) ∝ 1/√E(van Hove 奇点)
- 半导体:带隙内 g = 0
- 常见坑:
- k 网格不够密 → DOS 出锯齿(高斯展宽能遮盖,但不解决物理问题)
- E_F 未对齐 → 图错位
2.6 PDOS / projected DOS¶
- 定义:把 DOS 按原子轨道(s, p, d, f)或原子位置投影分解
- DFT 怎么算:
projwfc.x把 KS 轨道投影到原子中心的球谐函数 - QE 字段:
projwfc.x后处理;输出*.pdos_atm#* - benchmark 关联:DFTBench 暂无
- 典型用法:
- 看化学键(O 的 2p 和 Si 的 3s 哪个主导 VBM)
- d 带中心理论(Nørskov):催化剂吸附强度 ∝ d 带中心距 E_F 的距离
- DFT 局限:投影基不完备——投影系数加起来不到 1 是正常的
组 3:磁性(nspin=2 相关)¶
DFT 做磁性需要显式开自旋极化。基态磁构型常不唯一,初值敏感。
3.1 磁矩 / magnetic moment (μ)¶
- 定义:自旋向上密度 − 自旋向下密度的体积分
total magnetization= ∫(ρ↑ − ρ↓) dV(代数和)absolute magnetization= ∫|ρ↑ − ρ↓| dV(绝对值和,反铁磁不为零)- DFT 怎么算:
nspin=2下 SCF 自动输出,单位 μ_B - QE 字段: 输出:
- benchmark 关联:DFTBench
materials/magnetic.json有磁性材料;评分字段暂无 - 典型值(每原子 μ_B):
- bcc Fe:2.22
- hcp Co:1.72
- fcc Ni:0.62
- NiO(反铁磁):total = 0,per atom = ±1.8
- DFT 局限:
- 强关联体系(NiO, La₂CuO₄)普通 PBE 算成金属(错),需 DFT+U 或 HSE06
- 磁构型"亚稳陷阱":初猜决定收敛到 FM / AFM / 非磁
- 有限温度磁性(居里温度)需 DFT + 蒙特卡洛/Heisenberg 模型,不是直接输出
3.2 自旋极化 / spin polarization¶
- DFT 怎么算:
nspin=2打开,每个原子设starting_magnetization - 常见坑:
- 不设初始磁矩 → QE 默认全零 → 收敛到非磁态(即便真实基态是铁磁)
- 对称性"意外地"强制非磁——
nosym=.true.可破 - ML 类比:对称性打破像 GAN 里的 mode collapse 预防——初始噪声不能全一样
3.3 反铁磁 / antiferromagnetism (AFM)¶
- 定义:相邻原子磁矩反平行,total M = 0 但 absolute M ≠ 0
- DFT 怎么算:构造 AFM 超胞(单胞对称性会强制铁磁或非磁);不同原子设相反符号的
starting_magnetization - 典型:NiO、MnO、Cr₂O₃
- 常见坑:AFM 超胞选不对(如 NiO 需要 2×2×2 rock-salt 超胞破坏对称)→ 收敛到错误态
3.4 磁晶各向异性 / magnetic anisotropy energy (MAE)¶
- 定义:不同磁化方向的能量差(如 E_[100] − E_[001])
- DFT 怎么算:
- 必须开自旋轨道耦合
lspinorb=.true.+ FR(full-relativistic)赝势 - 非共线自旋
noncolin=.true. - 约束不同量化轴,各跑一次 SCF
- 典型值:μeV/atom 到 meV/atom 量级(极小!)
- DFT 局限:量级太小,容易被数值噪声淹没;k 网格需要远密于常规计算
3.5 DFT+U¶
- 定义:对局域轨道(d/f)加 Hubbard 项 \(U(n-n^2)\) 惩罚分数占据,矫正 LDA/GGA 的自作用误差
- DFT 怎么算:QE 的
Hubbard_U参数;U 值可经验调(3-7 eV)或线性响应法算 - QE 字段:
- 典型用例:NiO, CoO, MnO, UO₂ —— LDA 预测金属,DFT+U 纠正为绝缘体
- ML 类比:像正则化项手动调强度
组 4:振动 / 声子(DFPT, ph.x)¶
声子需要额外一层计算(DFPT = 密度泛函微扰理论),比电子结构贵 10-100×。
4.1 声子谱 / phonon dispersion ω_q,j¶
- 定义:晶格振动频率作为波矢 q 和模式 j 的函数;和电子能带概念平行,但是振动模式
- DFT 怎么算:
ph.x在 q 网格上算动力学矩阵(linear response,不需做超胞)q2r.x傅里叶反变换到实空间力常数matdyn.x沿 BZ 路径插值得完整声子谱- QE 字段:独立可执行
ph.x;输入需要tr2_ph收敛阈值、q 点网格 - benchmark 关联:DFTBench 暂无声子任务
- 典型值:
- 金属:最高声子频率 10-30 meV(Pb 9 meV,Al 40 meV)
- 共价半导体:Si 63 meV (LO @ Γ)
- 轻元素:金刚石 165 meV(光学模)
- DFT 局限:准确度通常 <5%(比带隙好),但贵
4.2 声子 DOS / phonon density of states¶
- 定义:\(g_{ph}(\omega) = \sum_{q,j} \delta(\omega - \omega_{q,j})\)
- 用途:积分得热容、零点振动能
- 常见坑:q 网格不够密 → 低频尾部不准 → 热力学量(特别是低温 Cv)偏差
4.3 虚频 / imaginary frequency(动力学稳定性判据)¶
- 定义:声子谱中 ω² < 0 → 报告为 虚频(负值)→ 表示结构沿该模式能量会降低 → 动力学不稳定
- 物理含义:你 vc-relax 找到的是鞍点而非极小;沿虚频模式畸变会得到更稳定的低对称性相
- 典型例:
- 立方 BaTiO₃(高温顺电相)在 Γ 点有虚频 → 极化到四方铁电相
- 氢化物超导研究中,虚频表示高压预测的结构不稳定
- benchmark 关联:动力学稳定性是材料筛选的第一性判据;未来 DFTBench 扩展必选
- DFT 局限:消除虚频需做无限多次低对称性超胞弛豫,工程量大
4.4 拉曼 / 红外光谱¶
- 定义:Γ 点(q=0)光学声子 + 对称性筛选
- 红外活性:要求模式改变电偶极
- 拉曼活性:要求模式改变极化率
- DFT 怎么算:
ph.x算 Γ 点 +epsil=.true.开极化计算 - 典型用途:实验光谱表征的理论对标
4.5 热容 Cv(T)¶
- DFT 怎么算:从声子 DOS 积分 $\(C_v(T) = k_B \int g_{ph}(\omega) \left(\frac{\hbar\omega/k_BT}{\sinh(\hbar\omega/2k_BT)}\right)^2 d\omega\)$
- 典型值:Dulong-Petit 极限 3Nk_B ≈ 25 J/(mol·K)(高温)
- DFT 局限:电子贡献(金属低温 ∝T)需额外算;非谐项(热膨胀)要 quasi-harmonic 近似
4.6 热导率 κ¶
- DFT 怎么算:声子 + Boltzmann 输运方程(BTE),专用代码 ShengBTE、phono3py
- 用途:热电材料筛选
- 成本:需要三阶力常数 → 计算量 10²-10³ × 常规声子谱
4.7 电声耦合 / electron-phonon coupling λ¶
- 定义:电子被声子散射的强度;超导 McMillan/Allen-Dynes 公式的关键参数
- DFT 怎么算:
ph.x+ EPW(Electron-Phonon Wannier)或phonon+elph流程 - 典型值:λ ~ 0.1(弱耦合)到 ~3(强耦合,如 H₃S 高压超导)
- benchmark 关联:超导材料(
superconductor.json)潜在评分点
4.8 零点振动能 / zero-point energy (ZPE)¶
- 定义:\(E_{ZPE} = \frac{1}{2}\sum_{q,j}\hbar\omega_{q,j}\);量子基态的振动剩余能
- 典型值:
- 氢(H₂):135 meV/原子(极大,显著影响化学)
- 碳(金刚石):180 meV/f.u.
- 重金属(Au):几 meV/原子
- 常见坑:轻元素(H, Li)绝对不能忽略 ZPE;金属氢化物研究必算
组 5:光学与介电(epsilon.x, ph.x at q=0)¶
5.1 介电函数 ε(ω)¶
- 定义:\(\epsilon(\omega) = \epsilon_1(\omega) + i\epsilon_2(\omega)\)
- 实部:折射
- 虚部 ε₂:光吸收(与吸收系数 α 成正比)
- DFT 怎么算:
- 独立粒子近似:
epsilon.x直接从 KS 本征态求和(Kubo 公式) - 含激子效应:需 TDDFT 或 BSE(Bethe-Salpeter)
- QE 字段:
epsilon.x后处理 - benchmark 关联:DFTBench 暂无
- DFT 局限:
- 独立粒子 ε₂ 峰位置 = 带隙低估同样问题
- 激子束缚能完全缺失(独立粒子近似)
- 绝缘体光谱需要 BSE 才定量
5.2 介电常数 ε∞ vs ε₀¶
- ε∞(高频 / 纯电子):光频介电常数,只有电子响应
- ε₀(低频 / 静态):= ε∞ + 离子位移贡献(LO-TO splitting 相关)
- DFT 怎么算:
ph.xat q=0 +epsil=.true. - 典型值:
- Si:ε∞ ≈ 11.7
- NaCl:ε∞ ≈ 2.3,ε₀ ≈ 5.9
- 铁电 BaTiO₃:ε₀ ~ 2000(极大,因为离子软模)
- ML 类比:ε∞ ≈ 只用快推理,ε₀ ≈ 加上慢的全流程
5.3 Born effective charge Z*¶
- 定义:原子位移 u 对宏观极化 P 的贡献:\(P_\alpha = \sum_I Z^*_{I,\alpha\beta} u_{I,\beta}/V\)
- 用途:铁电极化计算的基础;LO-TO splitting
- 典型值:形式电荷 ± Z_formal,但实际 Z 常明显偏离(BaTiO₃ 里 Ti 的 Z ≈ +7 而不是 +4)
- DFT 怎么算:
ph.xat q=0 +epsil=.true.+zue=.true.
5.4 折射率 n + 消光系数 k¶
- 定义:由 ε 导出,\(\tilde{n} = \sqrt{\epsilon} = n + ik\)
- 典型值(可见光):
- 水:n ≈ 1.33
- 玻璃:1.5
- 金刚石:2.4
- GaAs:3.3-3.9(高折射率)
组 6:电荷与键合(pp.x 后处理)¶
6.1 电荷密度 ρ(r)¶
- 定义:\(\rho(\vec{r}) = \sum_i f_i |\phi_i^{KS}(\vec{r})|^2\)
- DFT 怎么算:SCF 输出
charge-density.hdf5;pp.x转成 3D 网格(cube/xsf 格式) - QE 字段:
pp.x的plot_num=0;可视化用 VESTA / XCrysDen - 用途:看化学键性质
- 离子键:电荷显著转移到阴离子(NaCl 里 Cl 周围堆积)
- 共价键:原子间有明显的电荷积累(Si-Si 键的"桥")
- 金属键:均匀背景
- ML 类比:像注意力图的可视化
6.2 Bader / Löwdin / Mulliken 电荷¶
- 定义:不同方案把连续 ρ 分配给各原子
- Bader 分析:按 ρ 的零通量面划分空间(最物理);工具
bader(Henkelman) - Löwdin 电荷:
projwfc.x输出;投影法,依赖基组 - Mulliken:QE 不原生提供(基组依赖性强)
- 典型值:NaCl 里 Na +0.85 e,Cl −0.85 e(Bader);形式电荷是 ±1
- 常见坑:不同方案的绝对数字不可直接比较,只比较同方案下的变化
6.3 差分电荷密度 Δρ¶
- 定义:\(\Delta\rho = \rho_{AB} - \rho_A - \rho_B\);成键时相对于孤立原子的电荷重分布
- DFT 怎么算:跑三次 SCF(AB 体系 + A + B,同一盒子),
pp.x相减 - 用途:可视化"成键电子来自哪里"
6.4 功函数 / work function (Φ)¶
- 定义:把一个电子从固体拿到真空中需要的能量 Φ = V_vacuum − E_F
- DFT 怎么算:表面 slab 模型(几层原子 + 真空层 >15 Å),从
pp.x的平面平均静电势读真空能级 - 典型值(eV):
- Cs:1.95(最低,光电阴极材料)
- Al(111):4.2
- Au(111):5.3
- Pt:5.6
- 常见坑:
- 真空层太薄(<10 Å)→ 镜像势互相干扰
- 表面弛豫必须做(slab 顶部几层要 relax)
- 极性表面需要偶极修正
dipfield=.true.
组 7:反应与动力学¶
7.1 反应能 ΔE_rxn¶
- 定义:\(\Delta E = \sum E(\text{产物}) - \sum E(\text{反应物})\)
- DFT 怎么算:所有物种独立 SCF(同赝势、同 ecut、同 k 密度)
- 典型精度:简单反应(无氢键/vdW)~ 0.1 eV;复杂化学可达 0.3 eV
- DFT 局限:
- 过渡金属自旋态翻转 → 能量跳几百 meV
- 开壳层自由基能量不准
7.2 过渡态 / transition state¶
- 定义:反应路径上能量最高点(鞍点,1 个虚频方向)
- DFT 怎么算:NEB (Nudged Elastic Band) 方法;QE 的
neb.x - 在初态和末态间插 5-9 个 "image"
- 沿路径同时优化所有 image(约束垂直于路径方向)
- QE 字段:
neb.x独立程序;输入包含所有 images - 常见坑:
- 初始/末态必须先各自 relax
- 线性插值初猜可能过高(穿过原子核)→ 用 IDPP (Image Dependent Pair Potential) 初猜
- 鞍点附近要切换到 "Climbing Image NEB" 精确定位
7.3 活化能 / activation energy Ea¶
- 定义:\(E_a = E(\text{TS}) - E(\text{IS})\);决定反应速率 \(k \propto e^{-E_a/k_BT}\)
- 典型值:化学反应 0.5-2 eV;扩散势垒 0.1-1 eV
- benchmark 关联:DFTBench 暂无 NEB 任务(但多智能体 DFT 应用的自然扩展方向)
7.4 分子动力学 / ab initio MD¶
- DFT 怎么算:
calculation='md';每步用 Hellmann-Feynman 力做 Verlet 积分;QE 提供 NVE, NVT(Langevin / Nosé-Hoover) - 成本:每个时间步 = 一次完整 SCF(~1e-3 s CPU 对小体系);ns 级模拟对 ~100 原子不现实,通常做 10-100 ps
- 替代:机器学习力场(MACE, NequIP, DeePMD)—— DFT 数据训练,推理快 1000×
组 8:拓扑与自旋电子学¶
8.1 自旋轨道耦合 / spin-orbit coupling (SOC)¶
- 定义:相对论效应,把自旋和轨道角动量耦合;对重原子(Z>40)显著
- DFT 怎么算:
lspinorb=.true.+noncolin=.true.- 使用 FR(full-relativistic)赝势(PseudoDojo 有 FR 版)
- 本征态变成双分量旋量
- QE 字段:PseudoDojo 里的
SRvsFR目录区分 - 典型值:
- Bi:SOC splitting ~1.5 eV
- Au:~0.5 eV
- Si:~30 meV(可忽略)
- 成本:双分量 → 矩阵大小 × 2 → 计算量 × 4 到 × 8
- benchmark 关联:
topological.json(Bi, Bi₂Se₃, ...)的正确处理必须开 SOC
8.2 Berry phase / Berry curvature¶
- 定义:
- Berry phase:波函数沿闭合路径绕一圈的几何相
- Berry curvature:类比磁场的"k 空间磁通密度"
- DFT 怎么算:
calculation='nscf'+lberry=.true.(极化模式) - 用途:
- 电极化 P(现代极化理论):P = e/(2π)³ ∫ i⟨u_k|∇_k|u_k⟩ d³k
- 反常霍尔导数 σ_xy = e²/ℏ ∫ Ω(k) d³k / (2π)³
8.3 拓扑不变量(Chern, Z₂)¶
- Chern number C:2D 绝缘体的整数拓扑量,决定量子霍尔电导 σ_xy = Ce²/h
- Z₂ invariant:3D 时间反演对称拓扑绝缘体的拓扑类
- DFT 怎么算:Wannier 函数 + Wannier90 / Z2Pack;或直接从 Wilson loop 算
- benchmark 关联:
topological.json材料的本质评分点——但实现难度高
8.4 Wannier 函数 / Wannier functions¶
- 定义:Bloch 波的傅里叶变换到实空间,得到局域化的轨道
- DFT 怎么算:
pw2wannier90.x+ Wannier90(外部代码) - 用途:
- 插值能带(拟合少量 k 点,插到任意 k)
- 低能有效哈密顿量
- 自动化拓扑不变量计算
- ML 类比:降维 + 可解释特征(Bloch 基 = 全局,Wannier 基 = 局部,类似傅里叶 vs 小波)
Benchmark 映射表(关键)¶
这是本篇和 DFTBench 的直接对接。src/evaluate/compare.py 的 COMPARISON_RULES 只评 10 个字段,而 questions/ 里有 5 类任务模板:
| benchmark 评分字段 | 比较方式 | 对应物性组 | 触发 task |
|---|---|---|---|
a, b, c |
relative error | 组 1.3(弛豫结构——晶格长度) | vc_relax*.json |
alpha, beta, gamma |
relative error | 组 1.3(弛豫结构——晶格角度) | vc_relax*.json |
space_group |
exact | 组 1.3 的对称分析(spglib 后处理) | vc_relax*.json |
space_group_number |
exact | 同上 | 同上 |
point_group |
exact | 同上 | 同上 |
crystal_system |
exact | 同上(cubic / hexagonal / ...) | 同上 |
required_ground_truth 在 JSON 里出现但 COMPARISON_RULES 未实现的字段:
| 字段 | 出现在 | 应对应组 | 现状 |
|---|---|---|---|
total_energy_ev_per_fu |
scf_energy.json, vc_relax_scf.json |
组 1.1(总能量) | compare.py 未实现 |
relaxed_structure |
band_gap.json, dos.json, vc_relax*.json |
组 1.3 | 只评其衍生的 a,b,c,... |
完全无评分字段的 task:
band_gap.json→ 工作流算了带隙(组 2.1),但 compare 里没有band_gapdos.json→ 工作流算了 DOS(组 2.5),但 compare 里没有dos
结论:当前 benchmark 评分覆盖面 = 组 1.3 的晶格和对称性 + 组 1.1 总能量(若未来修 compare.py)。组 2 的电子结构物性(带隙、DOS)task 有、评分无——这是 DFTBench 设计不完整处,也是自制 bench 时的扩展点。
DFT 精度内禀层级(benchmark 设计必读)¶
把 8 组物性按 DFT(PBE 级别)的精度排序——这决定了哪些适合作为 benchmark 评分项:
第 1 档:可信(误差 <2%)¶
- 晶格常数(PBE 高估 1-2%,PBEsol 更准)
- 体模量(5-10%)
- 声子谱(<5%)
- 形成能相对顺序(绝对值偏 0.1 eV,排序基本对)
benchmark 启示:这些是评分"性价比"最高的物性。DFTBench 当前评分对应的组 1.3 在这档。
第 2 档:系统偏差已知可修正(误差 10-30%)¶
- 磁矩(PBE 常高估 10-20%)
- 介电常数(类似带隙问题)
- 反应能(0.1-0.3 eV)
第 3 档:PBE 级根本不行(误差 >30% 或定性错)¶
- 带隙(PBE 低估 30-50%)→ 必须 HSE06 或 GW
- 激子束缚能 → 必须 BSE
- 强关联体系磁序 → 必须 DFT+U 或动态平均场
- 范德华体系层间距 → 必须 DFT+D3 或 vdW-DF
benchmark 启示:把这些物性纳入评分时,必须在 prompt 里明确泛函,否则 PBE 低估带隙被当"错误回答"会不公平——但用 HSE06 计算成本爆炸。这是 benchmark 设计的核心权衡。
第 4 档:需额外后处理代码¶
- 输运(热导、电导):ShengBTE / BoltzTraP
- 拓扑不变量:Z2Pack / WannierTools
- 光学(含激子):Yambo / BerkeleyGW
benchmark 启示:集成多智能体调用这些外部代码是未来扩展方向,但单台机器成本将爆炸。
下一步阅读¶
31-material-categories.md— DFTBench 10 大材料类别(金属 / 半导体 / 绝缘体 / 铁电 / 压电 / 磁性 / 超导 / 拓扑 / 热电 / 光学)的物理特征与计算难点。读完本篇,就能理解"为什么磁性材料要 nspin=2"、"为什么拓扑材料要 SOC"——那篇把每类材料和本篇的物性组对应起来。
如果想回顾化简链任何一步:
00-simplification-chain.md— 12 步总图22-bfgs-relax.md— 组 1 的计算机制(vc-relax 内部)21-scf-iteration.md— 组 1、2 所有"单点"量的来源