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・最適化
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.optimizeとpsi4.frequencyも同様のmethod指定で利用できます。SCF、gradient、frequencyの収束を個別に確認します。
3. SAPTの理論
Symmetry-Adapted Perturbation Theory(SAPT)は、monomerの波動関数を基準に相互作用エネルギーを摂動展開し、物理的意味を持つ成分へ分けます。
| 成分 | 主な意味 | 一般的傾向 |
|---|---|---|
| Electrostatics | 未変形monomer密度間の静電相互作用 | 引力にも反発にもなる |
| Exchange | 反対称化に由来するPauli反発 | 通常は反発的 |
| Induction | 分極とcharge-transferを含む応答 | 通常は引力的 |
| Dispersion | 相関した瞬間的密度揺らぎ | 通常は引力的 |
成分の定義と収束はSAPT levelとbasisに依存します。SAPT0は比較的低コストですが、すべての系で高精度とは限りません。
4. SAPT計算
fragmentは--で区切り、各fragmentの電荷・多重度を指定します。
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は指定したdimer geometry上の相互作用を分解します。isolated minimumからdimer内geometryへ変形するenergyを含めるかは、研究上のenergy定義として別途決めます。
5. Fukui関数とデュアル記述子
概念DFTでは、電子数変化に対する密度応答をFukui関数で表します。
この符号規約では正の領域は電子受容、すなわち求電子的傾向、負の領域は電子供与、すなわち求核的傾向と関連します。フロンティア軌道近似と有限差分密度は同一ではありません。
6. cubepropによる三次元出力
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. 参考文献・公式資料
- Psi4, SAPT manual.
- Psi4, Generation of Cube Files.
- B. Jeziorski, R. Moszynski, K. Szalewicz, “Perturbation Theory Approach to Intermolecular Potential Energy Surfaces,” Chem. Rev. 1994. DOI
- C. Morell et al., “Dual descriptor,” J. Phys. Chem. A 2005. DOI