Use when working on first-principles materials calculations with Quantum ESPRESSO, especially SCF, band structures, DOS, phonons, electron-phonon coupling, Fermi surfaces, or charge-density analysis.
用 Quantum ESPRESSO 做 DFT / DFPT:基态、能带、DOS、声子、电声耦合、费米面和电荷密度分析。
本 skill 故意保持轻量:
scholaraio toolref对 QE 问题,agent 默认按这个顺序工作:
pw.x、ph.x、matdyn.x、q2r.x、dos.x、projwfc.xscholaraio toolref show qe ... 查关键变量search 再 showtoolref 已能回答,就不要把 skill 当第二份参数手册toolref 缺页或命中不好,先继续完成用户任务,再回报这是 toolref 覆盖缺口,而不是把补文档工作甩给用户这意味着:
toolref# 安装
conda install -c conda-forge qe
# 或编译 GPU 版(推荐 A100)
# 赝势下载
# PseudoDojo NC (DFPT 推荐): http://www.pseudo-dojo.org/
# SSSP Efficiency: https://www.materialscloud.org/discover/sssp
验证:pw.x --version 应显示版本。GPU 版本确认 CUDA 支持。
适合:
不适合:
当 agent 不确定 QE 输入变量、程序名、namelist 所属、默认值或适用条件时,先查 toolref。
常用查法:
scholaraio toolref search qe "wavefunction cutoff"
scholaraio toolref show qe pw ecutwfc
scholaraio toolref show qe pw occupations
scholaraio toolref show qe ph tr2_ph
scholaraio toolref show qe matdyn asr
推荐习惯:
.in 文件前,先查关键变量SYSTEM / ELECTRONS / INPUTPH 字段pw.x、ph.x、matdyn.x 还是别的模块如果遇到覆盖缺口:
toolref 之外的官方文档”scholaraio usearch "<材料名称> DFT" 检索相关论文SCF (pw.x) → 基态电荷密度
├─ NSCF (pw.x) → 能带/DOS 的本征值
│ ├─ bands.x → 能带结构后处理
│ ├─ dos.x → 态密度
│ ├─ projwfc.x → 投影态密度(轨道分辨)
│ └─ fs.x → 费米面 (.bxsf)
├─ Phonons (ph.x) → DFPT 声子计算
│ ├─ q2r.x → 实空间力常数
│ ├─ matdyn.x → 声子色散插值
│ └─ e-ph → 电声耦合 (α²F, λ, Tc)
└─ pp.x → 电荷密度/ELF 后处理
建议工作流:
alpha2f, λ, Tc如果 ph.x 中设了 electron_phonon = 'interpolated',会输出 alpha2f.dat(Eliashberg 谱函数)。
从 α²F(ω) 计算:
λ = 2 ∫ α²F(ω)/ω dω
ωlog = exp[(2/λ) ∫ α²F(ω) ln(ω)/ω dω]
Tc = (ωlog/1.2) × exp[-1.04(1+λ) / (λ - μ*(1+0.62λ))]
Allen-Dynes 公式中 μ* = 0.10-0.15(Coulomb 伪势),必须讨论 μ 敏感性*。
ecutwfc, ecutrho, occupations, smearing, degaussconv_thr, mixing_betatr2_ph, ldisp, electron_phononasr 与后处理程序的变量位置这些都应该通过 toolref 查询当前版本定义。
| 类型 | 优点 | 缺点 | 何时用 |
|---|---|---|---|
| NC (Norm-Conserving) | DFPT 最干净 | 截断能较高 | 声子计算 |
| US (Ultrasoft) | 截断能低 | DFPT 可用但更复杂 | 大体系 SCF |
| PAW | 最准确 | QE 中 DFPT 支持有限 | 精确能带 |
科学规范:声子计算优先用 NC 赝势。
# k 点并行(最常用)
mpirun -np 16 pw.x -npool 4 < scf.in > scf.out
# 每 pool 处理 1/4 的 k 点
# ph.x 并行
mpirun -np 16 ph.x -npool 4 < ph.in > ph.out
# 可加 -nimage 对 q 点/不可约表示并行
GPU 版 pw.x:每 GPU 一个 MPI rank,-npool = N_GPU。
| 工具 | 用途 |
|---|---|
| matplotlib | 能带结构、DOS、声子色散、α²F |
| VESTA | 电荷密度/ELF 3D 等值面 |
| XCrySDen | 费米面 (.bxsf) |
| FermiSurfer | 费米面(轨道着色) |
| ifermi (Python) | 费米面(pip 可装) |
| 检查项 | 正确做法 | 常见错误 |
|---|---|---|
| 截断能 | 收敛测试(总能 vs ecutwfc) | 用默认值不测试 |
| k 网格 | 收敛测试(金属需密集) | 网格太粗 |
| 展宽 | 金属用 MV,degauss 0.01-0.03 Ry | 用 Gaussian 展宽 |
| 赝势 | 声子用 NC(PseudoDojo) | 混用不同来源的赝势 |
| 声学求和规则 | asr = 'crystal' in matdyn.x | 声学支不归零 |
| μ* | 讨论 0.10-0.15 范围敏感性 | 固定一个值不讨论 |
| 晶格优化 | vc-relax 后再做性质计算 | 用实验晶格常数不优化 |
附加规范:
toolref