atomscf.xc.lda

Functions

ex_dirac_density(n_up, n_dn)

Dirac 交换能量密度(体密度),单位 Hartree/a0^3。

lda_c_pz81(n_up, n_dn)

PZ81 关联:返回 \(\varepsilon_c, v_c^\uparrow, v_c^\downarrow, e_c\)

vx_dirac(n_sigma)

Dirac 交换势(LSDA,自旋分辨)。

atomscf.xc.lda.vx_dirac(n_sigma)[源代码]

Dirac 交换势(LSDA,自旋分辨)。

对于每个自旋通道 \(\sigma\),Dirac 交换势为:

\[v_x^\sigma(r) = -\left(\frac{3}{\pi}\right)^{1/3} n_\sigma^{1/3}(r).\]
参数:

n_sigma (numpy.ndarray) -- 自旋分辨数密度 \(n_\sigma(r_i)\);当密度非正时,势定义为 0。

返回:

vx -- Dirac 交换势 \(v_x^\sigma(r_i)\)

返回类型:

numpy.ndarray

备注

  • 本函数不包含关联(correlation)贡献;作为 X-only 的最小实现。

  • 为避免数值不稳定,对小于 0 的密度会裁剪为 0 后再取立方根。

atomscf.xc.lda.ex_dirac_density(n_up, n_dn)[源代码]

Dirac 交换能量密度(体密度),单位 Hartree/a0^3。

\[e_x(n_\uparrow, n_\downarrow) = -\frac{3}{4}\left(\frac{3}{\pi}\right)^{1/3}\left(n_\uparrow^{4/3}+n_\downarrow^{4/3}\right).\]
参数:
返回:

ex -- 交换能量密度 \(e_x\)

返回类型:

numpy.ndarray

atomscf.xc.lda.lda_c_pz81(n_up, n_dn)[源代码]

PZ81 关联:返回 \(\varepsilon_c, v_c^\uparrow, v_c^\downarrow, e_c\)

自旋插值:

\[\varepsilon_c(n,\zeta)=\varepsilon_c^0(r_s) + [\varepsilon_c^1(r_s)-\varepsilon_c^0(r_s)] f(\zeta),\]

其中 \(r_s=(3/(4\pi n))^{1/3}\)\(\zeta=(n_\uparrow-n_\downarrow)/n\)\(f(\zeta)=\dfrac{(1+\zeta)^{4/3}+(1-\zeta)^{4/3}-2}{2^{4/3}-2}\)

势的链式法则:

\[v_c^\sigma=\varepsilon_c + n\frac{\partial\varepsilon_c}{\partial n} + n\frac{\partial\varepsilon_c}{\partial \zeta}\frac{\partial \zeta}{\partial n_\sigma},\quad \frac{\partial \zeta}{\partial n_\uparrow}=\frac{1-\zeta}{n},\ \ \frac{\partial \zeta}{\partial n_\downarrow}=-\frac{1+\zeta}{n}.\]

返回的 \(e_c = n\,\varepsilon_c\) 为关联能量密度(体密度)。

返回类型:

tuple[ndarray, ndarray, ndarray, ndarray]

参数: