atomscf.scf_hf.HFSCFGeneralConfig

class atomscf.scf_hf.HFSCFGeneralConfig(Z, r, w, occ_by_l, eigs_per_l, spin_mode='RHF', occ_by_l_spin=None, mix_alpha=0.3, tol=1e-06, maxiter=100, delta=None, Rp=None)[源代码]

通用 HF SCF 配置(支持 RHF/UHF 和多 l 通道)。

参数:
Z

原子序数

Type:

int

r

径向网格

Type:

np.ndarray

w

积分权重

Type:

np.ndarray

occ_by_l

按 l 分组的占据数配置(RHF 模式) 格式:{l: [n_1, n_2, ...]} 表示该 l 通道的各占据态占据数 例:C (1s² 2s² 2p²) → {0: [2.0, 2.0], 1: [2.0]}

Type:

dict[int, list[float]]

eigs_per_l

每个 l 通道求解的本征态数量 例:{0: 2, 1: 1} 表示求解 2 个 s 态和 1 个 p 态

Type:

dict[int, int]

spin_mode

自旋处理模式,默认 'RHF' - 'RHF': 限制性 Hartree-Fock(闭壳层精确,开壳层近似) - 'UHF': 非限制性 Hartree-Fock(自旋极化,适用于开壳层)

Type:

str, optional

occ_by_l_spin

自旋分辨占据数配置(UHF 模式) 格式:{l: {'up': [n_1, ...], 'down': [n_1, ...]}} 例:C ³P 态 → {0: {'up': [1.0, 1.0], 'down': [1.0, 1.0]},

1: {'up': [2.0], 'down': [0.0]}}

若为 None 且 spin_mode='UHF',自动从 occ_by_l 均分生成

Type:

dict[int, dict[str, list[float]]] | None, optional

mix_alpha

密度混合参数

Type:

float

tol

收敛阈值

Type:

float

maxiter

最大迭代数

Type:

int

delta

变量变换参数(可选)

Type:

float | None

Rp

变量变换参数(可选)

Type:

float | None

__init__(Z, r, w, occ_by_l, eigs_per_l, spin_mode='RHF', occ_by_l_spin=None, mix_alpha=0.3, tol=1e-06, maxiter=100, delta=None, Rp=None)
参数:
返回类型:

None

Methods

__init__(Z, r, w, occ_by_l, eigs_per_l[, ...])

Attributes

Rp

delta

maxiter

mix_alpha

occ_by_l_spin

spin_mode

tol

Z

r

w

occ_by_l

eigs_per_l

Z: int
r: ndarray
w: ndarray
occ_by_l: dict[int, list[float]]
eigs_per_l: dict[int, int]
spin_mode: str = 'RHF'
occ_by_l_spin: dict[int, dict[str, list[float]]] | None = None
mix_alpha: float = 0.3
tol: float = 1e-06
maxiter: int = 100
delta: float | None = None
Rp: float | None = None
__init__(Z, r, w, occ_by_l, eigs_per_l, spin_mode='RHF', occ_by_l_spin=None, mix_alpha=0.3, tol=1e-06, maxiter=100, delta=None, Rp=None)
参数:
返回类型:

None