算法原理
本节详细介绍赝势生成的数学原理和数值方法。
概述
赝势生成流程包含以下关键步骤:
全电子原子解 - 获取参考态波函数和能级
TM 伪化 - 在截断半径内构造光滑伪轨道
势反演 - 从伪轨道反演半局域势
KB 转换 - 构造可分离非局域投影
可转移性检验 - 验证赝势质量
物理动机:为什么需要赝势?
核心矛盾
在平面波 DFT 计算中,基组是 \(\phi_{\mathbf{G}}(\mathbf{r}) = e^{i\mathbf{G}\cdot\mathbf{r}}\)。 真实的价电子波函数在核附近有剧烈振荡(为了与芯态正交),需要极高频的平面波才能描述。
但价电子的化学性质主要由核外区域决定。我们是否可以“重新定义”核内的波函数, 使其平滑,同时保持核外物理性质不变?
赝势的回答
是的。在某个截断半径 \(r_c\) 内,用平滑的“伪波函数”替代振荡的真实波函数:
\(r > r_c\):伪波函数 = 真实波函数(外区不变)
\(r \leq r_c\):伪波函数平滑、无节点
代价是什么?
需要同时修改势能,使得平滑的伪波函数仍然是薛定谔方程的解。 这个修改后的势就是“赝势”。
模守恒的物理意义
为了保证散射性质不变,我们要求内区电荷守恒:
这保证了:
静电势在 \(r > r_c\) 处正确
散射相移在相关能量范围内尽可能一致
赝势在不同化学环境下具有可转移性
赝势生成流程
┌──────────────────────────┐
│ 全电子求解(AE) │ solve_ae_atom()
│ 输出:u_l(r), ε_l, n(r) │
└────────────┬─────────────┘
│
▼
┌──────────────────────────┐
│ TM 伪化 │ tm_pseudize()
│ r ≤ r_c:内区平滑化 │
│ r > r_c:外区保持不变 │
└────────────┬─────────────┘
│
▼
┌──────────────────────────┐
│ 势反演(半局域势) │ invert_semilocal_potential()
│ V_l = ε + u''/(2u) - l(l+1)/(2r²) │
└────────────┬─────────────┘
│
▼
┌──────────────────────────┐
│ KB 转换(可分离形式) │ kb_transform()
│ V = V_loc + Σ |β⟩D⟨β| │
└────────────┬─────────────┘
│
▼
┌──────────────────────────┐
│ 验证(可转移性/稳定性) │ run_full_validation()
│ 范数 / 对数导数 / 幽灵态 │
└──────────────────────────┘
理论基础
径向 Schrödinger 方程
对于球对称势,径向波函数 \(u_{nl}(r) = r R_{nl}(r)\) 满足:
其中 \(V_l(r)\) 是半局域势(依赖于角动量 \(l\))。
范数守恒条件
在截断半径 \(r_c\) 内,伪轨道 \(\tilde{u}_{nl}\) 与全电子轨道 \(u_{nl}\) 的范数相等:
这保证了电荷分布在 \(r \leq r_c\) 内的一致性。
可分离非局域形式
完整的非局域势可表示为:
其中:
\(V_{\text{loc}}(r)\) - 局域势
\(|\beta_l\rangle\) - 投影算符
\(D_l\) - 耦合系数(能量单位:Hartree 原子单位)