430 words
2 minutes
【PySCF】RHF法で計算した時の計算結果の出力方法
最終更新: 2024-07-09
概要
PySCFと呼ばれる電子状態計算プログラムにおいて、RHF法で水素分子を計算した結果を出力する方法を以下に示す。
PySCF:https://github.com/pyscf/pyscf
環境
- python 3.x
- PySCF 2.6.0
- Linux (WSL, Ubuntu 22.04.4 LTS)
初期化
プログラム全体は以下のURLに示されている。 https://github.com/ss0832/HartreeFock_py/blob/master/CPHF/h2_test.py
import pyscf
from pyscf import gto, scf
import numpy as np
#水素分子をボーア単位で座標指定し、基底関数を6-31Gとする。
mol = gto.M(charge=0, spin=0, basis='6-31g', unit='Bohr', atom='''H 0.0 0.0 0.661404; H 0.0 0.0 -0.661404''')
#計算の過程が最も詳しく出力される。
mol.verbose = 10
#水素分子をRHF法で一点計算するように指定
mf = scf.RHF(mol)
#SCFのサイクルを1回とする。
mf.max_cycle = 1
#計算開始
mf.run()
出力
分子軌道係数
print("mo_coeff:")
print(vars(mf)["mo_coeff"])
分子軌道エネルギー
print("mo_energy:")
print(vars(mf)["mo_energy"])
分子軌道の電子占有数
print("mo_occ:")
print(vars(mf)["mo_occ"])
電子エネルギー
print("e_tot:")
print(vars(mf)["e_tot"]) #原子単位系(hartree)で出力される
SCFが収束したかどうか
print("converged:")
print(vars(mf)["converged"]) #収束している場合はTrue, していない場合はFalseで返される。
二電子積分
print("_eri:")
print(vars(mf)["_eri"], len(vars(mf)["_eri"])) #二電子積分行列の対称性から、重複なしでベクトルとして出力される。
重なり積分
print("int1e_ovlp:")
print(mol.intor("int1e_ovlp"))
運動エネルギー項(コアハミルトニアンの成分)
print("int1e_kin:")
print(mol.intor("int1e_kin"))
核引力項(コアハミルトニアンの成分)
print("int1e_nuc:")
print(mol.intor("int1e_nuc"))
二電子積分(4階のテンソル)
こちらを実行すると、前述のものとは異なり、重複ありの4階のテンソルとして出力される。
print("int2e:")
print(mol.intor("int2e"))
コアハミルトニアン
print("core hamiltonian:")
print(mf.get_hcore())
フォック行列
コアハミルトニアンと後述する二電子項の和
print("fock:")
print(mf.get_fock())
クーロン積分(二電子項の成分)
print("J:")
print(mf.get_j())
交換積分(二電子項の成分)
print("K:")
print(mf.get_k())
その他追記予定。
【PySCF】RHF法で計算した時の計算結果の出力方法
https://ss0832.github.io/posts/posting_20240709_01/ Related Posts
計算複雑性の階梯:EHTからSQM, Hartree-Fockへ至る「数式の計算複雑性の階梯」
2026-01-21
分子軌道法の実装において、厳密性を高めるたびにどのような「数学的コスト」が追加されていくのか。拡張ヒュッケル法(EHT)の単純な対角化から、半経験的手法(SQM)による反復計算の導入、そしてHartree-Fock(HF)における多中心積分まで、アルゴリズムの進化を数式の複雑化という視点から再構築する。
多電子原子の量子化学:ヘリウムからハートリー・フォック法へ
2026-01-07
水素原子から多電子系へ。ヘリウム原子を題材に、変分法と摂動論がどのように機能するかを確認し、電子のスピン、パウリの排他原理、スレーター行列式といった現代計算化学の基礎概念を解説する。
Coupled-Perturbed Hartree-Fock (CPHF) 法の数理と実装:分極率・双極子モーメント微分の厳密な導出
2025-12-30
分子の物性応答を記述する上で不可欠なCPHF方程式について、双極子モーメント微分、および分極率の導出過程を数学的に詳述する。MO係数の応答(U行列)がいかにして物理量に寄与するかを行間を埋めて解説し、反復アルゴリズムに基づいた具体的なPython実装コードを提示する。
【PySCF】CASSCF法を用いた多参照電子状態計算と活性空間の影響
2025-03-28
【PySCF】Full CI法による高精度電子状態計算と電子相関評価
2025-03-27
【PySCF】PySCFを用いて構造最適化する方法
2025-03-26