atomscf.grid.radial_grid_exp_transformed
- atomscf.grid.radial_grid_exp_transformed(n, rmin, rmax, total_span=6.0)[源代码]
生成用于变量变换方法的指数网格。
网格公式参考文献 [1]_:
\[r(j) = R_p(\exp(j\delta) - 1) + r_{\min}, \quad j=0,1,\ldots,j_{\max}\]其中 \(R_p\) 由边界条件 \(r(j_{\max}) = r_{\max}\) 确定, \(\delta\) 由 \(j_{\max} \cdot \delta = \text{total\_span}\) 确定(默认6.0)。
该网格配合变量变换 \(v(j) = u(j) / \exp(j\delta/2)\) 使用, 可以消除坐标变换引入的一阶导数项。
- 参数:
- 返回类型:
- 返回:
r (numpy.ndarray) -- 径向网格坐标,满足 r[0] = rmin, r[-1] = rmax。
w (numpy.ndarray) -- 对应的梯形积分权重。
delta (float) -- 网格参数 \(\delta\)。
Rp (float) -- 网格参数 \(R_p\)。
备注
该网格确保 r[0] = rmin(可以为0,物理上正确)
需配合 operator.py 中的 solve_bound_states_transformed 使用
变量变换后的方程没有一阶导数项,数值稳定性好
引用
[ExpGridTransform]指数网格变量变换方法 来源:Computational Physics Fall 2024, Assignment 7, Problem 2 https://github.com/bud-primordium/Computational-Physics-Fall-2024/tree/main/Assignment_7/Problem_2 problem_2.tex 第32-46行