atomscf.hartree

Functions

v_hartree(n, r[, w])

由总电子数密度 \(n(r)\) 计算径向 Hartree 势 \(v_H(r)\)

atomscf.hartree.v_hartree(n, r, w=None)[源代码]

由总电子数密度 \(n(r)\) 计算径向 Hartree 势 \(v_H(r)\)

采用与 Slater 积分一致的权重累积算法(原子单位):

\[v_H(r) = \frac{4\pi}{r}\int_0^r n(r')r'^2\,dr' + 4\pi \int_r^{\infty} n(r')r'\,dr'.\]

在有限区间 \([r_\min,r_\max]\) 上,第二项的上限以 \(r_\max\) 近似, 当 \(r\to r_\max\) 时,\(v_H(r) \approx Q/r\),其中 \(Q=\int 4\pi r'^2 n(r')dr'\) 为电子总数。

参数:
  • n (numpy.ndarray) -- 径向数密度 \(n(r_i)\),单位为 \(a_0^{-3}\)

  • r (numpy.ndarray) -- 径向网格 \(r_i\),需严格单调递增,且 :math:`r_i>0`(建议避开 0 点)。

  • w (numpy.ndarray, optional) -- 梯形积分权重 \(w_i\);若为 None 则内部计算一次。

返回:

vH -- Hartree 势 \(v_H(r_i)\),单位 Hartree。

返回类型:

numpy.ndarray

备注

  • 在极小 \(r\) 处对 \(1/r\) 做安全下界裁剪。

  • 对于单电子体系(如氢原子),严格 HF 下 Hartree 与交换应相消;在 LSDA 中仅近似抵消。

  • 重要: 本版本使用与 Slater 积分相同的累积算法,确保单电子一致性。