Interaction Energy and Reactivity Fields

Psi4

Pythonから利用できる電子状態計算環境として、SAPTによる分子間相互作用の分解とデュアル記述子の三次元出力を中心に扱います。

位置づけ
open-source ab initio・DFT
主な入力
Psi4 input / Python、fragment構造
主な出力
SAPT成分、wavefunction、cube

1. 概要

Psi4はinput languageとPython APIの両方から利用できる量子化学programです。この章では通常のSCF/DFT計算を入口に、分子間相互作用の物理的成分を評価するSAPTと、反応性を実空間で表すデュアル記述子を扱います。

2. 基本的なenergy・最適化

Python
import psi4

psi4.set_memory("4 GB")
psi4.set_num_threads(4)

water = psi4.geometry("""
0 1
O  0.000000  0.000000  0.117300
H  0.000000  0.757200 -0.469200
H  0.000000 -0.757200 -0.469200
units angstrom
""")

psi4.set_options({"scf_type": "df", "e_convergence": 1e-10})
energy, wfn = psi4.energy("b3lyp/def2-svp", return_wfn=True)

psi4.optimizepsi4.frequencyも同様のmethod指定で利用できます。SCF、gradient、frequencyの収束を個別に確認します。

3. SAPTの理論

Symmetry-Adapted Perturbation Theory(SAPT)は、monomerの波動関数を基準に相互作用エネルギーを摂動展開し、物理的意味を持つ成分へ分けます。

EintEelst+Eexch+Eind+Edisp+δEHF
成分主な意味一般的傾向
Electrostatics未変形monomer密度間の静電相互作用引力にも反発にもなる
Exchange反対称化に由来するPauli反発通常は反発的
Induction分極とcharge-transferを含む応答通常は引力的
Dispersion相関した瞬間的密度揺らぎ通常は引力的

成分の定義と収束はSAPT levelとbasisに依存します。SAPT0は比較的低コストですが、すべての系で高精度とは限りません。

4. SAPT計算

fragmentは--で区切り、各fragmentの電荷・多重度を指定します。

Psi4 input
molecule water_dimer {
0 1
O  -1.551007  -0.114520   0.000000
H  -1.934259   0.762503   0.000000
H  -0.599677   0.040712   0.000000
--
0 1
O   1.350625   0.111469   0.000000
H   1.680398  -0.373741  -0.758561
H   1.680398  -0.373741   0.758561
units angstrom
}

set {
  basis jun-cc-pvdz
  scf_type df
}

energy('sapt0')

SAPT入力例をダウンロード

geometry preparation energyとは別

SAPTは指定したdimer geometry上の相互作用を分解します。isolated minimumからdimer内geometryへ変形するenergyを含めるかは、研究上のenergy定義として別途決めます。

5. Fukui関数とデュアル記述子

概念DFTでは、電子数変化に対する密度応答をFukui関数で表します。

f+(r)ρN+1ρN,f(r)ρNρN1
Δf(r)=f+(r)f(r)ρLUMOρHOMO

この符号規約では正の領域は電子受容、すなわち求電子的傾向、負の領域は電子供与、すなわち求核的傾向と関連します。フロンティア軌道近似と有限差分密度は同一ではありません。

6. cubepropによる三次元出力

Python
energy, wfn = psi4.energy("b3lyp/def2-svp", return_wfn=True)
psi4.set_options({
    "cubeprop_tasks": ["DUAL_DESCRIPTOR"],
    "cubic_grid_spacing": [0.20, 0.20, 0.20],
    "cubic_grid_overage": [4.0, 4.0, 4.0],
})
psi4.cubeprop(wfn)

Psi4のDUAL_DESCRIPTOR taskはフロンティア軌道 density差をcubeへ出力し、公式manualでは閉殻系に限定されています。grid spacingとoverageを記録し、異なる分子間比較では座標系とgrid定義も統一します。

7. 検証

  • SAPTfragment定義、電荷・多重度、basis、SAPT level、geometryを保存。
  • Dual descriptor閉殻条件、SCF収束、HOMO/LUMO、符号規約を確認。
  • Cube単位、grid spacing、範囲、同じisosurface値で比較。
  • InterpretationSAPT energy成分と局所的な密度descriptorを同じ量として扱わない。

8. 参考文献・公式資料

  1. Psi4, SAPT manual.
  2. Psi4, Generation of Cube Files.
  3. B. Jeziorski, R. Moszynski, K. Szalewicz, “Perturbation Theory Approach to Intermolecular Potential Energy Surfaces,” Chem. Rev. 1994. DOI
  4. C. Morell et al., “Dual descriptor,” J. Phys. Chem. A 2005. DOI

次章: ORCA