atomscf.scf_hf.run_hf_scf_s

atomscf.scf_hf.run_hf_scf_s(cfg)[源代码]

运行 s 轨道 HF SCF 计算。

实现完整的 Hartree-Fock 自洽场循环: 1. 初始化波函数猜测 2. 计算 Hartree 势 3. 构造 Fock 矩阵(包含交换算子) 4. 对角化求解本征态 5. 检查收敛并混合 6. 重复直到收敛

参数:

cfg (HFSCFConfig) -- HF SCF 配置

返回:

收敛的 HF 结果

返回类型:

HFSCFResult

备注

收敛判据: 波函数的 RMS 变化 < tol

密度混合: u_new = α * u_scf + (1-α) * u_old

能量计算:
  • E_kin = Σ_i n_i <u_i| -∇²/2 |u_i>

  • E_ext = Σ_i n_i <u_i| v_ext |u_i>

  • E_H = (1/2) ∫ n(r) v_H(r) 4πr² dr

  • E_x = (1/2) Σ_i n_i <u_i| K |u_i>

  • E_total = E_kin + E_ext + E_H + E_x

示例

氢原子 HF:

>>> from atomscf.grid import radial_grid_linear, trapezoid_weights
>>> r, _ = radial_grid_linear(n=1000, rmin=1e-6, rmax=50.0)
>>> w = trapezoid_weights(r)
>>> cfg = HFSCFConfig(Z=1, r=r, w=w, n_occ=1, occ_nums=[1.0])
>>> res = run_hf_scf_s(cfg)
>>> print(f"E_1s = {res.eigenvalues[0]:.6f} Ha")  # 应约 -0.5 Ha
>>> print(f"E_total = {res.E_total:.6f} Ha")      # 应约 -0.5 Ha

参见

exchange_operator_s

s 轨道交换算子

v_hartree

Hartree 势计算