atomscf.occupations

Functions

default_occupations(Z)

返回原子基态的默认电子占据方案(球对称平均)。

Classes

OrbitalSpec(l, n_index, spin, f_per_m, label)

轨道占据信息(径向通道)

class atomscf.occupations.OrbitalSpec(l, n_index, spin, f_per_m, label)[源代码]

轨道占据信息(径向通道)

参数:
l

角动量量子数 \(\ell\)

Type:

int

n_index

同一 \(\ell\) 通道内的径向量子数索引(0 表示最低能,即 1s/2p 等的"1")。

Type:

int

spin

自旋通道。

Type:

{"up", "down"}

f_per_m

每个 \(m\) 的分数占据 \(f_{nl\sigma}\);该通道总电子数为 \((2\ell+1) f_{nl\sigma}\)

Type:

float

label

人类可读的标签(如 "1s_up")。

Type:

str

l: int
n_index: int
spin: Literal['up', 'down']
f_per_m: float
label: str
__init__(l, n_index, spin, f_per_m, label)
参数:
返回类型:

None

atomscf.occupations.default_occupations(Z)[源代码]

返回原子基态的默认电子占据方案(球对称平均)。

参数:

Z (int) -- 原子序数 (1-18)。

返回:

轨道占据列表(径向通道)。

返回类型:

list[OrbitalSpec]

备注

  • 仅支持 Z=1-18,填充顺序为 1s → 2s → 2p → 3s → 3p

  • 闭壳层原子 (He, Be, Ne, Mg, Ar): 所有轨道自旋配对

  • 开壳层原子: 采用 Hund 规则(最大自旋多重度),球对称平均占据

  • 警告: Z>18 需要考虑能级交叉(如 K: 4s 先于 3d),当前实现不支持

  • 示例: - H (Z=1): 1s¹ (自旋向上) - He (Z=2): 1s² - C (Z=6): 1s² 2s² 2p² (2p: ↑↑, m 平均) - Ne (Z=10): 1s² 2s² 2p⁶ - Ar (Z=18): [Ne] 3s² 3p⁶