atomscf.scf.SCFConfig

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

原子序数。

Type:

int

r

径向网格 \(r_i\),要求严格单调递增且 \(r_0>0\)

Type:

numpy.ndarray

w

梯形积分权重 \(w_i\)

Type:

numpy.ndarray

lmax

最大角动量量子数 :math:`ell_{max}`(决定求解哪些通道)。

Type:

int

mix_alpha

密度(或势)混合参数 \(\alpha \in (0,1]\)

Type:

float

maxiter

最大自洽迭代次数。

Type:

int

tol

收敛阈值(默认用于密度无穷范数)。

Type:

float

occ

占据方案;若为 None 则使用 default_occupations()

Type:

list[OrbitalSpec] | None

eigs_per_l

每个 \(\ell\) 通道求解的最低本征态数量(需覆盖所有占据的 \(n\))。

Type:

int

spin_mode

自旋处理模式:"LSDA"(自旋极化,默认)或 "LDA"(自旋非极化,强制 \(n_\uparrow = n_\downarrow\))。

Type:

str

__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)
参数:
返回类型:

None

Methods

__init__(Z, r, w[, lmax, mix_alpha, ...])

Attributes

Rp

adapt_mixing

compute_all_l

compute_all_l_mode

delta

eig_solver

eigs_per_l

lmax

maxiter

mix_alpha

mix_alpha_min

mix_kind

numerov_bisection_iter

numerov_samples

occ

shooting_E_tol

shooting_channels

shooting_max_iter

shooting_refine

spin_mode

tol

xc

Z

r

w

Z: int
r: ndarray
w: ndarray
lmax: int = 3
mix_alpha: float = 0.3
maxiter: int = 200
tol: float = 1e-07
occ: Optional[List[OrbitalSpec]] = None
eigs_per_l: int = 3
eig_solver: str = 'fd'
compute_all_l: bool = True
compute_all_l_mode: str = 'final'
mix_kind: str = 'density'
adapt_mixing: bool = False
mix_alpha_min: float = 0.05
xc: str = 'PZ81'
delta: float | None = None
Rp: float | None = None
spin_mode: str = 'LSDA'
numerov_samples: int | None = None
numerov_bisection_iter: int | None = None
shooting_refine: bool = False
shooting_channels: List[Tuple[int, int]] = None
shooting_E_tol: float | None = None
shooting_max_iter: int | None = None
__post_init__()[源代码]

参数验证。

__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)
参数:
返回类型:

None