atomscf.scf
Functions
|
运行 LSDA(Dirac 交换 + PZ81 关联)的自洽场计算,并给出能量分解。 |
|
运行 LSDA(Dirac 交换 + VWN 关联)的自洽场计算,并给出能量分解。 |
|
运行 LSDA X-only 的自洽场计算(球对称、径向)。 |
Classes
|
SCF 配置参数。 |
|
SCF 结果容器。 |
- class atomscf.scf.SCFConfig(Z, r, w, lmax=3, mix_alpha=0.3, maxiter=200, tol=1e-07, occ=None, eigs_per_l=3, eig_solver='fd', compute_all_l=True, compute_all_l_mode='final', mix_kind='density', adapt_mixing=False, mix_alpha_min=0.05, xc='PZ81', delta=None, Rp=None, spin_mode='LSDA', numerov_samples=None, numerov_bisection_iter=None, shooting_refine=False, shooting_channels=None, shooting_E_tol=None, shooting_max_iter=None)[源代码]
SCF 配置参数。
- 参数:
Z (int)
r (ndarray)
w (ndarray)
lmax (int)
mix_alpha (float)
maxiter (int)
tol (float)
occ (List[OrbitalSpec] | None)
eigs_per_l (int)
eig_solver (str)
compute_all_l (bool)
compute_all_l_mode (str)
mix_kind (str)
adapt_mixing (bool)
mix_alpha_min (float)
xc (str)
delta (float | None)
Rp (float | None)
spin_mode (str)
numerov_samples (int | None)
numerov_bisection_iter (int | None)
shooting_refine (bool)
shooting_E_tol (float | None)
shooting_max_iter (int | None)
- r
径向网格 \(r_i\),要求严格单调递增且 \(r_0>0\)。
- Type:
- w
梯形积分权重 \(w_i\)。
- Type:
- occ
占据方案;若为
None
则使用default_occupations()
。- Type:
list[OrbitalSpec] | None
-
occ:
Optional
[List
[OrbitalSpec
]] = None
- __init__(Z, r, w, lmax=3, mix_alpha=0.3, maxiter=200, tol=1e-07, occ=None, eigs_per_l=3, eig_solver='fd', compute_all_l=True, compute_all_l_mode='final', mix_kind='density', adapt_mixing=False, mix_alpha_min=0.05, xc='PZ81', delta=None, Rp=None, spin_mode='LSDA', numerov_samples=None, numerov_bisection_iter=None, shooting_refine=False, shooting_channels=None, shooting_E_tol=None, shooting_max_iter=None)
- 参数:
Z (int)
r (ndarray)
w (ndarray)
lmax (int)
mix_alpha (float)
maxiter (int)
tol (float)
occ (List[OrbitalSpec] | None)
eigs_per_l (int)
eig_solver (str)
compute_all_l (bool)
compute_all_l_mode (str)
mix_kind (str)
adapt_mixing (bool)
mix_alpha_min (float)
xc (str)
delta (float | None)
Rp (float | None)
spin_mode (str)
numerov_samples (int | None)
numerov_bisection_iter (int | None)
shooting_refine (bool)
shooting_E_tol (float | None)
shooting_max_iter (int | None)
- 返回类型:
None
- class atomscf.scf.SCFResult(converged, iterations, eps_by_l_sigma, u_by_l_sigma, n_up, n_dn, v_h, v_x_up, v_x_dn, v_c_up=None, v_c_dn=None, energies=None)[源代码]
SCF 结果容器。
- 参数:
- __init__(converged, iterations, eps_by_l_sigma, u_by_l_sigma, n_up, n_dn, v_h, v_x_up, v_x_dn, v_c_up=None, v_c_dn=None, energies=None)
- atomscf.scf.run_lsda_x_only(cfg, verbose=False, progress_every=10)[源代码]
运行 LSDA X-only 的自洽场计算(球对称、径向)。
- 参数:
- 返回:
自洽结果(是否收敛、迭代数、能级/波函数、密度与势)。
- 返回类型:
备注
占据方案以径向通道为单位(指定 \(\ell\) 与通道内序号 \(n_{\text{index}}\))。
对 C 原子,2p 壳层采用 m 平均且自旋极化:上自旋每个 m 的分数占据 \(2/3\),下自旋为 0。
混合策略:密度线性混合(数值稳健,易用)。