
書記が物理やるだけ#415 GTOの分子積分-2
前回に続いてGTOの分子積分を扱う。
問題

解答
STOの動径部分は、原点で有限の傾きをもつ(cusp条件を満たす)。一方、GTOの動径部分は、原点で傾きがゼロとなるため、電子密度の核付近での急峻な変化を再現できない。また、遠方ではGTOは指数関数よりも速く減衰するため、原子間での長距離重なりを過小評価する傾向がある。
このため、実際の量子化学計算では、複数のGTOを線形結合してSTOを近似し、精度を補う手法であるSTO-nG基底系が用いられる。

核引力積分および二電子反発積分は,Boys関数を用いて解析的に導出することができる。


以下にPySCFを用いたフッ化水素(HF)分子の分子積分を示す。
from pyscf import gto
# 1. 分子を定義
mol = gto.M(
atom = '''
F 0.0 0.0 0.0
H 0.0 0.0 0.917
''',
basis = 'sto-3g', # 基底系 (最小基底)
charge = 0,
spin = 0, # 閉殻
verbose = 0 # 出力を抑制
)
# 基底関数の数 (AOの数)
n_ao = mol.nao_nr()
print(f"HF分子 (sto-3g) の原子軌道(AO)の数: {n_ao}\n")
# --- 1電子積分の計算 ---
# PySCFでは mol.intor('インテグレータ名') で各種積分を計算できます
# (a) 重なり積分 (Overlap Integrals)
# S_μν = <μ|ν>
s = mol.intor('int1e_ovlp')
print(f"--- (a) 重なり積分 (S) ---")
print(f"形状: {s.shape}") # (n_ao, n_ao)
print(s) # 行列全体を表示する場合はコメントアウトを外す
# (b) 運動エネルギー積分 (Kinetic Energy Integrals)
# T_μν = <μ| -1/2 * ∇^2 |ν>
t = mol.intor('int1e_kin')
print(f"\n--- (b) 運動エネルギー積分 (T) ---")
print(f"形状: {t.shape}") # (n_ao, n_ao)
print(t)
# (c) 核-電子引力積分 (Nuclear-Electron Attraction Integrals)
# V_μν = <μ| -Σ_A (Z_A / r_A) |ν>
v = mol.intor('int1e_nuc')
print(f"\n--- (c) 核-電子引力積分 (V) ---")
print(f"形状: {v.shape}") # (n_ao, n_ao)
print(v)
# (d) 1電子ハミルトニアン (Core Hamiltonian)
# h_core = T + V
h_core = t + v
print(f"\n--- (d) 1電子ハミルトニアン (h_core = T + V) ---")
print(f"形状: {h_core.shape}") # (n_ao, n_ao)
print(h_core)
# --- 2電子積分の計算 ---
# (e) 2電子反発積分 (Electron Repulsion Integrals, ERI)
# (μν|λσ) = <μν| 1/r_12 |λσ>
# メモリに注意して計算
eri = mol.intor('int2e')
print(f"\n--- (e) 2電子反発積分 (ERI) ---")
print(f"形状: {eri.shape}") # (n_ao, n_ao, n_ao, n_ao)
# 全て (6x6x6x6 = 1296個) を表示すると長すぎるため、一部を表示
print("\nERI の一部 (0, 0, :, :) を表示:")
print(eri[0, 0, :, :])HF分子 (sto-3g) の原子軌道(AO)の数: 6
--- (a) 重なり積分 (S) ---
形状: (6, 6)
[[1. 0.23798988 0. 0. 0. 0.04947778]
[0.23798988 1. 0. 0. 0. 0.44887373]
[0. 0. 1. 0. 0. 0. ]
[0. 0. 0. 1. 0. 0. ]
[0. 0. 0. 0. 1. 0.34924253]
[0.04947778 0.44887373 0. 0. 0.34924253 1. ]]
--- (b) 運動エネルギー積分 (T) ---
形状: (6, 6)
[[ 3.69845767e+01 -2.12857504e-01 0.00000000e+00 0.00000000e+00
0.00000000e+00 2.34662275e-04]
[-2.12857504e-01 1.03799541e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 1.28648571e-01]
[ 0.00000000e+00 0.00000000e+00 3.24801469e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00]
[ 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24801469e+00
0.00000000e+00 0.00000000e+00]
[ 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
3.24801469e+00 2.74575876e-01]
[ 2.34662275e-04 1.28648571e-01 0.00000000e+00 0.00000000e+00
2.74575876e-01 7.60031884e-01]]
--- (c) 核-電子引力積分 (V) ---
形状: (6, 6)
[[-7.75866540e+01 -9.31414657e+00 0.00000000e+00 0.00000000e+00
-1.50570279e-02 -1.99625534e+00]
[-9.31414657e+00 -1.21137684e+01 0.00000000e+00 0.00000000e+00
-1.80025964e-01 -4.22357915e+00]
[ 0.00000000e+00 0.00000000e+00 -1.19818648e+01 0.00000000e+00
0.00000000e+00 0.00000000e+00]
[ 0.00000000e+00 0.00000000e+00 0.00000000e+00 -1.19818648e+01
0.00000000e+00 0.00000000e+00]
[-1.50570279e-02 -1.80025964e-01 0.00000000e+00 0.00000000e+00
-1.20989677e+01 -2.92201616e+00]
[-1.99625534e+00 -4.22357915e+00 0.00000000e+00 0.00000000e+00
-2.92201616e+00 -6.19920145e+00]]
--- (d) 1電子ハミルトニアン (h_core = T + V) ---
形状: (6, 6)
[[-4.06020773e+01 -9.52700407e+00 0.00000000e+00 0.00000000e+00
-1.50570279e-02 -1.99602068e+00]
[-9.52700407e+00 -1.10757730e+01 0.00000000e+00 0.00000000e+00
-1.80025964e-01 -4.09493058e+00]
[ 0.00000000e+00 0.00000000e+00 -8.73385014e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00]
[ 0.00000000e+00 0.00000000e+00 0.00000000e+00 -8.73385014e+00
0.00000000e+00 0.00000000e+00]
[-1.50570279e-02 -1.80025964e-01 0.00000000e+00 0.00000000e+00
-8.85095300e+00 -2.64744028e+00]
[-1.99602068e+00 -4.09493058e+00 0.00000000e+00 0.00000000e+00
-2.64744028e+00 -5.43916957e+00]]
--- (e) 2電子反発積分 (ERI) ---
形状: (6, 6, 6, 6)
ERI の一部 (0, 0, :, :) を表示:
[[5.40350114 0.84192016 0. 0. 0. 0.17802316]
[0.84192016 1.26802836 0. 0. 0. 0.42372154]
[0. 0. 1.26450248 0. 0. 0. ]
[0. 0. 0. 1.26450248 0. 0. ]
[0. 0. 0. 0. 1.26450248 0.27634408]
[0.17802316 0.42372154 0. 0. 0.27634408 0.55179702]]
本記事のもくじはこちら: