
算超导的人常把功夫全花在电声耦合的 q 网格密度和 Wannier 插值上却对最底层的交换关联泛函睁一只眼闭一只眼——用 PBE 跑完结构、声子、电声耦合最后套 Allen-Dynes 公式得一个 Tc和实验对得上就皆大欢喜对不上就归咎于非谐效应或者强关联。这几年 SCAN 这类 meta-GGA 泛函在超导计算里被反复提起原因很直接超导机制判断的整条链条从晶格常数、声子频率、费米面附近的态密度一直到电声耦合常数 lambda全部建立在 DFT 给出的电子结构之上底层泛函的自交互误差会顺着这条链一路放大。这篇内容讲的就是把 SCAN 接进超导计算流程的完整思路它补上了 PBE 缺的哪一块跑之前必须敲定哪些配置声子与电声耦合环节哪些数值会跟着变以及什么情况下 SCAN 给出的结果足以支撑这是电声主导的判断。适合已经能用平面波代码跑通一遍电声耦合、想把机制分析做得更扎实的人看也适合刚接触 meta-GGA、被力震荡和虚频折磨过的同行。1. 超导计算里最容易背锅的一环交换关联泛函1.1 晶格差 1%声子频率能差 3% 到 5%先说一个很多人有体感但不太愿意承认的事实PBE 给的晶格常数对过渡金属、金属间化合物、氢化物这几类超导体系的系统性偏差通常落在 1% 上下。这个数字单看不算什么可一旦进到声子环节就会放大。声子频率对体积的敏感度大致可以用 Grüneisen 参数描述典型金属的模 Grüneisen 参数在 1.5 到 2.5 之间也就是说体积偏差 1%对应的声子频率偏差就有 1.5% 到 2.5%某些软模附近能到 5% 以上。而电声耦合常数 lambda 对声子频率的依赖是反平方的lambda 正比于电声耦合矩阵元平方除以声子频率平方的加权求和。声子频率系统性偏低lambda 就被系统性放大再叠加 PBE 常见的费米面附近态密度高估最终 Tc 算出个偏大三成到一倍的结果并不罕见。我见过不少算例PBE 路线算出来 Tc 比实测高一截改用 SCAN 之后晶格略微收缩或者略微膨胀不同体系方向不一定一致声子谱整体硬化几个百分点lambda 降下来Tc 反而更贴近实验。关键在于这条误差传递链是连续的你没法通过多算几个 q 点或者把展宽调小来消除它。它是泛函层面的系统偏差只能在泛函层面解决。这也是为什么 SCAN 这类 meta-GGA 值得在超导流程里认真对待——它不是精度上的锦上添花而是把一条系统性偏移的基线拉回正轨。1.2 SCAN 补上的那块拼图把交换关联泛函按雅各布阶梯排一下LDA 只用局域密度GGA 加了密度梯度meta-GGA 在梯度之外再加上动能密度 tau等价于占据轨道信息的局域代理。SCAN 的特殊之处在于它是被一组精确约束反向设计出来的它同时满足二十来条已知的精确条件包括均匀电子气极限、线性响应极限、以及最关键的——在单电子体系里完全消除自交互误差。自交互误差这件事对超导计算的影响比看上去大得多。PBE 在一电子区域会把电子过度离域化后果是能带被抹平、带隙偏小、费米面附近态密度失真、某些体系的磁矩被压制。对于判断超导机制这几项恰好都是关键输入费米面形状决定了 nesting 条件态密度决定了 lambda 里那个 N(E_F) 因子磁矩和自旋涨落的倾向决定了你要不要考虑非电声机制。SCAN 把自交互误差在这个极限下消掉等于把这几项输入的可信度往上提了一档。另一个容易忽略的点是 SCAN 对氢化物体系的处理。氢的零点振动能和键合行为对泛函极其敏感PBE 给的 H-H 键长经常偏长导致光学支声子频率低估而在氢化物超导里高频光学支恰好是撑起 omega_log 的主力。SCAN 在这类体系上的改进相对明显这也是它在高压超导文献里出现频率越来越高的原因。1.3 上 SCAN 之前先算一笔账SCAN 不是免费的。它的计算量比 PBE 高出大约 1.5 到 2.5 倍取决于实现和体系大小而且这个倍数在声子环节会被再放大一次——因为声子计算本质上是把 SCF 跑几十上百遍。对你需要算电声耦合的体系来说整体机时可能是 PBE 路线的三倍以上。更麻烦的是数值稳定性。SCAN 的增强因子在 tau 接近零的区域存在导数不连续表现出来就是原子受力有小幅噪声几何优化在收敛末端来回震荡、能量差抖动在 1e-4 到 1e-3 eV 量级收敛不下去。r2SCAN 就是针对这个问题提出的变体它保留了 SCAN 的约束满足性但把数值行为修得更平滑力的噪声明显改善。如果你的流程里要做大量有限位移的声子计算每个位移都是一次独立的力计算强烈建议直接用 r2SCAN 而不是原版 SCAN。我的经验是结构弛豫和声子用 r2SCAN只在最终做电子结构精细分析费米面、态密度、能带时用原版 SCAN 做交叉验证。两者的结果差异通常在声子频率的 0.5% 以内但数值稳定性差得远。2. 跑 SCAN 之前必须敲定的三件事2.1 赝势或 PAW 数据集是否原生支持 SCAN这一条是第一大坑而且踩了之后症状极其隐蔽。很多赝势库里的标准数据集是在 PBE 下生成的把它直接拿来配 SCAN 泛函代码不会报错会正常跑完但结果是错的——因为赝势的生成泛函与计算泛函不一致核心区修正项对不上误差量级可以达到几十 meV/atom在声子频率上表现为整体偏移。判断方法很直接去数据集目录里看文件名或者头部的泛函标记明确写着 SCAN 或 r2SCAN 的才能用。如果没有原生数据集退路是全电子方法或者投影缀加波PAW里把核心电子显式处理——但后者计算量会飙升对含重元素的超导体系基本不可行。另外要检查该数据集的价电子配置meta-GGA 对半核心态的处理比 GGA 敏感把 3s3p 当核心的赝势在某些过渡金属上会带来额外的误差建议选价电子配置更深的版本。还有一个细节某些代码里的 meta-GGA 实现依赖外部泛函库版本差异会导致增强因子在边界点的取值微调进而让力有微小差异。如果同一批计算要跨机器、跨版本做对比务必把泛函库版本固定下来否则你会在为什么同一结构两次优化差这么多上浪费大量时间。2.2 动能密度与数值稳定性几个必须打开的开关meta-GGA 需要动能密度 tau而 tau 是在实空间网格上由波函数梯度算出来的对积分网格和截断能的要求比 GGA 高。截断能方面我的经验是 ecutwfc 要比 PBE 收敛测试的结果再上浮 20% 到 30%ecutrho 保持 8 倍左右的比例。理由是 tau 里含波函数的二阶导数信息在 GGA 下够用的密度截断在 meta-GGA 下会让力出现可观测的噪声。关键的几个开关不同代码里名字不一样但逻辑一致打开非球对称的PAW/投影修正很多代码里叫 LASPH 或等价选项。meta-GGA 的增强因子在原子核心附近变化剧烈球对称近似会引入系统性误差。精度档位拉到最高PRECAccurate 一类关掉任何为了省时间做的网格插值。电子步收敛标准收紧到 1e-6 到 1e-7 eV 量级。SCAN 的能量对电子步收敛比 PBE 敏感收敛不到位时力会带系统性偏差。展宽方式的选择要重新考虑。金属体系用 Methfessel-Paxton 或 cold smearing 都行但 SCAN 下展宽宽度建议比 PBE 更小一些0.01 Ry 到 0.02 Ry 量级因为 SCAN 给出的态密度在费米面附近往往更锐展宽过大会把这个结构抹掉。下面是一段示意性的输入片段只列和 SCAN 相关的关键项具体关键字随代码版本会有差异SYSTEM ecutwfc 70 ! 比 PBE 收敛值上浮约 25% ecutrho 560 ! 保持 8 倍比例 occupations smearing smearing cold degauss 0.01 input_dft SCAN ! 或 R2SCAN视版本而定 lspinorb .false. / ELECTRONS conv_thr 1.0d-8 mixing_beta 0.3 ! meta-GGA 下建议压低混合参数 electron_maxstep 250 /混合参数这一项值得单独说。SCAN 的 SCF 迭代比 PBE 更容易震荡尤其在金属体系里费米面附近有平坦能带时。把 mixing_beta 从默认的 0.7 压到 0.3 甚至 0.2虽然迭代步数增加但收敛的稳定性提升明显。如果还是震荡先加上局域轨道修正或者改用更保守的混合方案不要急着调展宽——展宽是可以掩盖问题的但它掩盖的是物理不是数值。2.3 k 网格与展宽SCAN 比 PBE 更贪吃一个反直觉的现象同一体系PBE 下 12×12×12 的网格能收敛到 1 meV/atom换 SCAN 后同样网格的结果和 24×24×24 差了好几 meV。原因还是 tau——它比电荷密度更结构化在布里渊区里的变化更剧烈需要更密的采样才能把费米面附近的贡献积分准。实操建议k 网格在每个倒格矢方向上比 PBE 收敛值加 30% 到 50%。对金属间化合物16×16×16 起步24×24×24 做验证。代价是计算量按网格数线性增长但这一步省不得尤其是后面要拿这些结果去做 Wannier 插值的时候——插值的输入如果本身不收敛插出来的电声耦合会带着系统偏差而你还看不出来。还有个实操技巧先用 PBE 的收敛网格跑一遍再把网格逐级加密看 SCAN 的总能和力什么时候稳定。别用能量差判断用力的最大分量判断更靠谱——声子计算吃的就是力力收敛了能量自然也收敛了。3. 结构弛豫与声子SCAN 给出的振动信息怎么读3.1 让晶格先松到位体积弛豫的收敛陷阱超导体系的晶格常数必须自己弛豫不能拿实验值硬套。这一点在 PBE 时代就成立在 SCAN 下更重要——因为 SCAN 和 PBE 给的平衡体积差异有时是反方向的你没法靠经验修正。流程上我建议分两步走先做定体积的能量扫描把体积在实验值 ±6% 范围内扫 7 到 9 个点每个点做一次固定体积的弛豫只放开原子位置然后用状态方程拟合出平衡体积再做一次全弛豫微调。这样做的理由是定体积扫描对力的噪声不敏感体积固定只有原子位置在动拟合出来的平衡体积比直接全弛豫更稳。陷阱在收敛判据上。SCAN 的力有噪声你把力的收敛阈值设成 1e-4 eV/Å 可能永远达不到优化器会在最后几十步来回跳。实用做法是把阈值放到 5e-4 到 1e-3 eV/Å同时把电子步收敛收紧到 1e-8——电子步收敛不够才是力噪声的主要来源把力阈值放宽松一点反而能收敛到正确的极小值附近。如果非要更严换 r2SCAN。另一个坑是磁序。铁磁、反铁磁、非磁三种初猜在 SCAN 下可能收敛到不同的局部极小能量差在几 meV 量级但声子谱会完全不同磁序影响自旋涨落通道也影响费米面。建议三种都试取能量最低的同时记录磁矩大小——这个数字在第五章判断机制时会用到。3.2 有限位移与线性响应两条路线的取舍声子计算有两条主路线密度泛函微扰理论DFPT线性响应和有限位移。在 SCAN 下这两条路的适用性差别很大。DFPT 的问题是它对泛函的形式有要求——meta-GGA 的交换关联势含 tau而 tau 对波函数的泛函导数在标准 DFPT 框架里要额外处理很多代码的 DFPT 实现只对 LDA/GGA 完备meta-GGA 要么不支持要么效率极低。所以在 SCAN 下我的默认选择是有限位移法。有限位移的关键参数是位移幅度。太大超出简谐区太小被力的噪声淹没。SCAN 下我一般取 0.01 到 0.02 Å比 PBE 下的 0.01 Å 略大一点就是为了压过力噪声。配合对称性约化一个高对称性立方结构通常只需要位移几个不等价原子代价可控。有限位移的一个隐藏要求超胞。声子色散需要在若干 q 点采样对应实空间的超胞。SCAN 下超胞计算量很吓人所以通常只算到 2×2×2 或 3×3×3 超胞然后靠力常数插值。这时候要检查插值后的声子谱和超胞直接算出来的 q0 点是否一致不一致说明超胞太小、力常数截断太狠。3.3 出现虚频之后的排查顺序虚频是声子计算里最常见的结果也是最能体现经验的地方。拿到一份带虚频的声子谱我按这个顺序排查基本能定位到原因第一步看虚频出现在哪个 q 点。Gamma 点虚频多半是结构没弛豫到位或者对称性用错了布里渊区边界虚频多半是超胞太小或者力常数插值失真软模在某个特定 q 点附近塌下去则是真实的物理不稳定性说明这个结构本身在低温下会相变。第二步检查力噪声水平。做一个零位移测试把原子位移设成恰好零跑一次单点力计算看残余力的最大分量。如果超过 5e-3 eV/Å说明力噪声已经大到可以伪造虚频后面所有声子结果都不可信。这时候的处理顺序是收紧电子步收敛 → 加密 k 网格 → 换 r2SCAN → 最后才考虑放大位移幅度。第三步检查超胞尺寸。把超胞从 2×2×2 加到 3×3×3看虚频是否消失或者频率是否明显变化。变化超过 10% 说明超胞不足。第四步考虑非谐效应。如果前面都排查完虚频依然存在且这个体系是已知的低维材料、氢化物或者有软模的铁电类结构那虚频可能是真实的非谐行为。这时候简单的简谐近似已经不适用需要考虑自洽声子或者温度依赖的有效声子谱——这是另一个量级的工作量我一般会在这之前先确认是否真的非算不可。提示不要为了让声子谱干净而随意调整展宽或者位移幅度。虚频是信息不是错误。把它压下去只会让你在后面 lambda 的计算里得到一个毫无意义的大数。4. 电声耦合落到 Tc几个关键量的换算链条4.1 用 Wannier 插值把 q 网格补密电声耦合常数 lambda 需要对整个布里渊区的 q 点和 k 点做双重积分直接算密网格的代价在 SCAN 下基本不可承受。标准做法是在中等密度的粗网格上算出电声耦合矩阵元用最大局域化 Wannier 函数做插值把矩阵元外推到密网格上。这个流程的关键参数是 Wannier 投影的选取。对过渡金属化合物投影要覆盖费米面附近的所有轨道——包括过渡金属的 d 轨道和配体的 p 轨道。判断投影是否合格的标准是Wannier 插值能带与第一性原理能带在费米面 ±1 eV 范围内的最大偏差我在 SCAN 下的验收线是 20 meV 以内超过就说明投影窗口选错了后面所有电声结果都会带着这个误差。这里有个 SCAN 特有的注意点meta-GGA 给出的能带比 PBE 更窄带宽收缩因为自交互误差减小后轨道更局域费米面附近的能带结构更复杂Wannier 投影需要的轨道数可能比 PBE 下多。如果沿用 PBE 下那套投影会发现插值误差降不下去。我的做法是先用 PBE 跑一遍确定投影方案再用 SCAN 跑时把窗口放宽、轨道数加 20%重新做一次解纠缠。q 网格密度方面SCAN 下我建议粗网格不少于 6×6×6插值后的密网格 24×24×24 起步。判断收敛的方法是把密网格从 24 加到 36看 lambda 的变化是否小于 2%。4.2 从 lambda 到 Tc 的完整算路拿到电声谱函数 alpha²F(omega) 之后流程是固定的三步算 lambda、算对数平均频率 omega_log、套 Allen-Dynes 公式。lambda 的定义是 alpha²F 除以 omega 的积分乘 2lambda 2 * ∫ [ alpha²F(omega) / omega ] domegaomega_log 是加权对数平均omega_log exp{ (2/lambda) * ∫ [ alpha²F(omega)/omega * ln(omega) ] domega }Allen-Dynes 修正公式Tc (omega_log / 1.2) * exp{ -1.04*(1lambda) / [ lambda - mu* * (1 0.62*lambda) ] }其中 mu* 是库仑赝势参数物理上来自屏蔽库仑排斥经验取值 0.1 到 0.13。这个参数是整个流程里最不确定的一项因为它无法从第一性原理可靠算出只能取经验值。而 Tc 对 mu* 极其敏感lambda 在 1 附近时mu* 从 0.10 变到 0.13Tc 能掉 30% 以上。我做一个示意性的数值演算用来说明敏感度以下数值均为虚构的算例只为演示换算过程不代表任何真实材料假设某一组计算给出 lambda 1.20omega_log 350 K。mu* 0.10 时分母 1.20 - 0.10×(10.744) 1.0256指数项 -1.04×2.20/1.0256 -2.231Tc (350/1.2)×exp(-2.231) ≈ 291.7×0.1074 ≈ 31.3 K。mu* 0.13 时分母 1.20 - 0.13×1.744 0.9733指数项 -2.288/0.9733 -2.351Tc 291.7×0.0952 ≈ 27.8 K。也就是说 mu* 变动 0.03Tc 就差了 3.5 K约 11%。这还是 lambda 较大分母较大、相对稳定的情况lambda 越小mu* 的影响越剧烈因为分母里 lambda 和 mu* 项会接近抵消。所以我的做法是永远给出一组 Tc 区间而不是单个数字比如按 mu* 0.08 / 0.10 / 0.12 / 0.14 各算一遍报一个区间。这样别人看你的结果时知道不确定性在哪而不是被一个精确到小数点的 Tc 误导。SCAN 在这里的价值是让 lambda 和 omega_log 这两个量本身更可靠。我在若干体系上做过的对比同样是虚构算例只说明量级PBE 给出 lambda 偏大 5% 到 15%、omega_log 偏小 3% 到 8%两个偏差方向相反在 Tc 上的叠加效应被部分抵消所以最终 Tc 的偏差往往没有单项那么大——这也解释了为什么 PBE 在很多体系上看起来够用。但如果你要判断的是机制而不是数字这种误差抵消就完全是坏事它把一个物理上不成立的图像伪装成数值上说得通。4.3 什么时候该上 Eliashberg 方程Allen-Dynes 公式是近似它的适用前提是电声耦合强度中等lambda 在 0.5 到 1.5 之间、声子谱没有极端的双峰结构、非谐效应可以忽略、体系是三维的常规金属。一旦落到下面几种情况就得解完整的 Eliashberg 方程lambda 超过 2强耦合区公式会显著高估 Tc声子谱里低频软模和高频光学支同时存在且强度相当omega_log 这个单一参数无法刻画需要保留完整的 alpha²F体系是准二维或者有强烈的各向异性费米面附近有多个能带且各自的耦合强度差异很大。从 SCAN 的角度看还有一个额外的理由推动你上 EliashbergSCAN 把能带结构和费米面算得更准之后各向异性信息本身变得更可信了。Allen-Dynes 是把所有各向异性平均掉的如果你的 SCAN 结果显示出明显的各向异性结构用平均公式等于把刚拿到的信息又扔掉。当然Eliashberg 的计算量比公式法高一个量级以上通常只在机制分析的关键算例上做。5. SCAN 在超导机制判别上的真实分量5.1 三个指标可以定下是不是电声主导这个结论标题里说 SCAN 能揭示机制落到实处其实就是几个可量化的判别指标比空谈泛函更准有用得多。第一个指标是 lambda 的量级。用 SCAN 算出 lambda 之后套公式看 Tc 的上限能到多少。如果实验 Tc 是 40 K 而 SCAN 给出的最大可能 Tc 只有 5 K哪怕把所有参数都往有利于超导的方向调那么电声机制基本被排除需要考虑自旋涨落、等离激元或者其他通道。反过来如果 SCAN 给出的 Tc 落在实验值附近电声主导的判断就有支撑。这一步用 PBE 做也可以但 PBE 的偏差方向不固定容易得出模糊结论。第二个指标是费米面附近的态密度和各向异性。SCAN 给出的能带更窄、费米面结构更精细可以用来检查 nest 条件是否成立、有没有准一维的费米面片。这对判断声子软化是否来自费米面嵌套很关键。第三个指标是自旋涨落的倾向。这个用 Stoner 判据粗略估计算费米面处自旋分辨的态密度看交换劈裂的倾向有多大。SCAN 减小了自交互误差对磁矩的描述通常比 PBE 更定性正确——该有磁矩的体系 PBE 常常压得太小。如果 SCAN 下体系明显偏向磁有序那就要认真考虑自旋涨落对 Tc 的抑制或者增强。5.2 SCAN 算得准的部分与算不准的部分把话说透SCAN 不是万灵药它有明确的失效边界。算得准的地方一是晶格常数和体模量对金属和半导体普遍优于 PBE误差通常能压到 1% 以内二是结合能和键长尤其是含氢体系三是自交互误差主导的那些量比如准粒子能带宽度、局域磁矩。四是软模附近的声子频率——因为软模对电子结构的细节敏感SCAN 改善明显。算不准的地方一是金属体系的费米面精细结构。SCAN 虽然整体改善但它是半局域的对费米面形状这种需要准粒子修正的量仍然是系统偏差做精密对比时最好配合 GW 或者其他修正。二是强关联体系SCAN 不能替代 DFTU 或者动力学平均场。三是 mu*这个参数无论用什么泛函都算不准只能当经验参数处理。四是非谐效应显著的体系简谐近似本身失效SCAN 只是把简谐部分算准救不了非谐。还有一点要提醒SCAN 的改进幅度在不同体系上差别很大。对简单金属和过渡金属化合物改进通常是温和的声子频率变化 1% 到 3%对氢化物、分子晶体、低维体系改进可能非常显著10% 以上。如果你的体系属于前者花三倍机时换 2% 的精度是否值得需要自己权衡——但如果你的目标是机制判断而不是数值复现那这 2% 可能恰好是压垮错误结论的那根稻草。5.3 我踩过的坑和对应的处理把前面零散的坑整理成一张表方便对着排查症状最可能的原因处理顺序几何优化收敛不了最后几十步来回跳力噪声来自电子步收敛不足或原版 SCAN 的 tau 导数不连续收紧电子步到 1e-8 → 换 r2SCAN → 力阈值放宽到 5e-4声子谱出现大面积虚频赝势不是 SCAN 版本或 k 网格不足换原生 SCAN 赝势 → k 网格加密 1.5 倍 → 检查对称性lambda 明显偏大、Tc 偏高声子频率被低估或 mu* 取值偏小核对晶格常数是否过松 → omega_log 是否偏低 → mu* 做敏感性分析Wannier 插值能带与第一性原理对不上投影轨道数不足SCAN 下带宽收缩导致加轨道数 20% → 放宽解纠缠窗口 → 检查费米面附近的能带简并同一结构两次计算声子频率差 2%泛函库版本或积分网格不一致固定泛函库版本 → 统一 ecutrho → 用零位移测试标定噪声水平SCF 震荡不收敛混合参数过大或费米面附近有平坦能带mixing_beta 降到 0.2 → 加 smearing 宽度 → 检查是否有磁性初猜冲突最后说一个我自己常用的验证习惯每次上 SCAN 之前先用 PBE 把整条流程结构 → 声子 → 电声耦合 → Tc完整跑通一遍。这不是浪费时间而是给你一个基准线。换到 SCAN 之后逐项对比晶格常数、Gamma 点声子频率、费米面态密度、lambda、omega_log 这五个量看变化方向是否和你对该泛函行为的预期一致。如果某个量的变化方向反了八成是配置出了问题而不是物理。这套对比流程帮我抓到过好几次赝势不匹配的错比直接看最终 Tc 有效得多。还有个小技巧是关于 mu* 的报结果时把不同 mu* 下的 Tc 做成一条曲线而不是单个点并且注明 lambda 的量级。读者看到 lambda 1.2 配 mu* 0.1 得 30 K会自己判断这个结果的可信度而只看到一个Tc 30 K的人往往会把它当成精确值拿去和实验逐点对比然后得出泛函不准的结论——实际上不准的可能不是泛函而是没被交代清楚的那个经验参数。