项目介绍 ======== AtomSCF 是一个为电子结构理论教学设计的原子自洽场计算工具,专注于径向一维问题的最小化实现。 设计理念 -------- 本项目遵循以下设计原则: 1. **教学优先**: 代码清晰易读,注重物理直觉而非性能优化 2. **渐进式实现**: 从最简单的氢原子 HF 到多电子 LSDA,逐步增加复杂度 3. **数值稳定性**: 提供多种网格和求解器选择,适应不同数值场景 4. **文档完整**: 区分算法原理推导与 API 使用文档 适用场景 -------- **推荐用于**: - 电子结构理论课程教学 - 理解 HF 和 DFT 方法的核心原理 - 测试新的数值方法或泛函 - 小规模原子基准计算 **不推荐用于**: - 生产环境的高精度计算(建议使用 PySCF, Psi4 等) - 分子或固体计算(本代码仅支持球对称原子) - 性能关键场景(未进行深度优化) 核心功能 -------- Hartree-Fock 方法 ~~~~~~~~~~~~~~~~~ - **RHF (Restricted HF)**: - 适用于闭壳层体系(He, Be, Ne, ...) - 自旋轨道共享同一空间波函数 - 精度:氦原子 -2.86 Ha(实验值 -2.90 Ha) - **UHF (Unrestricted HF)**: - 适用于开壳层体系(Li, C, N, O, ...) - 自旋上/下轨道独立优化 - Li 原子能量比 RHF 降低 ~54 mHa - **交换积分**: - Slater 积分径向计算($R^k$ 两段累积法) - 角动量耦合系数(Wigner 3j 符号) - 多角动量通道耦合(s-s, s-p, p-p, ...) 密度泛函理论 ~~~~~~~~~~~~ - **LSDA (Local Spin Density Approximation)**: - 自旋极化密度 - 支持多种交换-关联泛函组合 - **交换泛函**: - Dirac 交换: $E_x = -C_x \\int n^{4/3}(r) dr$ - **关联泛函**: - **PZ81**: Perdew-Zunger 1981 参数化 - **VWN**: Vosko-Wilk-Nusair (RPA 拟合) 数值方法 ~~~~~~~~ - **径向网格类型**: - 线性网格: 适合近核区域精细计算 - 对数网格: 适合长程衰减行为 - 指数变换网格: 结合两者优势(精度提升 ~7x) - 混合网格: 分段不同间距 - **求解器**: - 2 阶有限差分 (FD2) - 5 阶有限差分 (FD5, 等距网格) - Numerov 方法(对数网格) - 变换 Hamiltonian(指数网格) 代码架构 -------- 模块层次:: atomscf/ ├── grid.py # 径向网格生成 ├── operator.py # 方程求解器 ├── scf.py # DFT SCF 框架 ├── scf_hf.py # HF SCF 框架 ├── hartree.py # Hartree 势计算 ├── occupations.py # 电子占据方案 ├── utils.py # 积分工具 ├── xc/ # 交换-关联泛函 │ ├── lda.py │ └── vwn.py └── hf/ # HF 交换积分 ├── slater.py ├── angular.py └── exchange.py 依赖项 ------ **核心依赖**: - Python ≥ 3.9 - NumPy ≥ 1.20 - SciPy (用于 eigh, 3j 符号等) - SymPy (用于符号计算 Wigner 系数) **可选依赖**: - pytest ≥ 7 (开发测试) - Sphinx ≥ 7 (文档生成) 开发状态 -------- **已实现** (v0.1.0): - ✅ RHF 多 l 通道(s, p, d) - ✅ UHF 自旋极化 - ✅ LSDA (PZ81, VWN) - ✅ 多种求解器与网格类型 - ✅ Slater 积分径向计算 **规划中**: - ⏳ ROHF (Restricted Open-shell HF) - ⏳ DIIS 收敛加速 - ⏳ GGA 泛函支持 - ⏳ 完整单元测试覆盖 许可协议 -------- 本项目为教学用途,采用 MIT 协议开源。 参考文献 -------- 1. Clementi, E. & Roetti, C. *Atomic Data and Nuclear Data Tables* **14**, 177 (1974) 2. Perdew, J. P. & Zunger, A. *Phys. Rev. B* **23**, 5048 (1981) 3. Vosko, S. H., Wilk, L. & Nusair, M. *Can. J. Phys.* **58**, 1200 (1980) 4. Martin, R. M. *Electronic Structure: Basic Theory and Practical Methods* (2004)