Home
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/
Author
ss0832
Published at
2024-07-09
License
CC BY-NC-SA 4.0

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