半局域势反演
本节介绍从 TM 伪轨道反演半局域势 \(V_l(r)\) 的技术细节。
物理基础
反演的物理含义
势反演并不是“拟合”一个势,而是把径向 Schrödinger 方程 反过来当作对未知势的代数方程。 对某个角动量通道 \(l\),一旦你已经构造了满足外区匹配条件的伪轨道 \(u_l(r)\), 并确定了对应能量 \(\varepsilon_l\),那么在每个半径点上,势 \(V_l(r)\) 必须取某个值, 才能让这条曲线成为该能量下的本征解。
从反演公式
可以直接看到两点直觉:
\(u''/u\) 反映 局域曲率。在某个区域如果 \(u(r)\) “弯得更厉害”(曲率大), 动能项的局域贡献也更强;为了在同一个 \(\varepsilon_l\) 下保持方程成立, 势项必须相应地补偿(这就是反演在数值上对二阶导数很敏感的原因)。
\(-l(l+1)/(2r^2)\) 是 离心势。它把高角动量通道在小 \(r\) 处强烈排斥开来, 因而即使外区波函数相同,不同 \(l\) 通道也会得到不同的 \(V_l(r)\)。
这也解释了“半局域势(semilocal)”这个名字:它在径向坐标上是局域的 \(V_l(r)\), 但在角动量空间上分通道。把这种 \(l\) 依赖的算符放到一般三维基组(尤其是平面波)中时, 就会表现为非局域作用,这正是后续 KB 可分离形式要解决的计算瓶颈。
反演公式
从径向 Schrödinger 方程出发:
改写为:
解出半局域势:
数值实现
内区(r ≤ rc):解析导数
对于 TM 形式的伪轨道:
定义 \(p(r) = \sum_{i=0}^{N} a_{2i} r^{2i}\),则:
因此:
代入反演公式:
其中:
优点:无需数值微分,精度高,数值稳定。
外区(r > rc):样条法导数
对于外区(AE 轨道),使用样条插值计算导数:
在每个点 \(r_i\) 附近构建三次样条(窗口 7 点)
计算 \(u(r_i)\) 和 \(u''(r_i)\)
代入公式:
优点:适用于任意形式的轨道,无需解析表达式。
节点保护
节点检测
节点定义为 \(|u(r)| < \epsilon_{\text{tol}}`(默认 :math:\)epsilon_{text{tol}} = 10^{-10}`)。
在节点附近,\(u''(r)/u(r)\) 可能发散,需要特殊处理。
插值策略
标记节点位置:\(|u(r_i)| < \epsilon_{\text{tol}}\)
在非节点区域正常计算势值
对节点区域使用线性插值填充:
势裁剪
为防止数值奇异性,对势值进行裁剪:
默认 \(V_{\max} = 1000\) Hartree。
数值验证
内外区连续性
在 \(r = r_c\) 处,内区(解析)和外区(样条)应给出连续的势值:
物理合理性
s 轨道 (l=0):原点附近势应平缓(无离心项)
p/d 轨道:势应有限,不应有极端奇异性
远场行为:\(V_l(r) \to 0\) as \(r \to \infty\)
参考文献
TM 方法: N. Troullier and J. L. Martins, PRB 43, 1993 (1991)
势反演: P. Giannozzi, Notes on pseudopotential generation (2019), Section 3.1
样条插值: Press et al., Numerical Recipes, Chapter 3