第10章分子の量子化学計算を実践する
ここまでの9つの章で,量子化学計算に必要な道具はひととおり揃った.変分原理(第3章)で「もっともらしい解」を選ぶ基準を得て,Gauss関数を3個足し合わせたSTO-3G基底(第5章・第6章)で軌道を表す方法を知り,Slater行列式(第7章)で電子の入れ替えに対する反対称性を担保し,Born–Oppenheimer近似(第8章)で原子核を止めてポテンシャルエネルギー曲面を定義し,そして全エネルギーの内訳としてCoulomb項と交換項(第9章)を書き下した.本章では,それらを実際に計算機で走らせる.ブラウザだけで動くMolcalcから始めて,PubChemから本物の分子構造を取ってきて,構造緩和・全エネルギー・状態密度(DOS)・分子軌道・波動関数の可視化・振動準位まで,ひととおりの「計算の作法」を身につけるのが目標である.手を動かして得られる数字は,それ自体が答えなのではない.基底関数を粗くすると構造の良し悪しの判定が逆転してしまうことがある,という本章の一件が示すとおり,出てきた数字が信用できるかどうかを判断するのは常に人間の側である.計算を機械にやらせ,意味づけを自分でやる——その分担を身につけるための章である.
- Molcalc(GAMESSベース,STO-3G)で自由エネルギー・振動数・分子軌道を出し,Web計算の限界を知る
- PubChemから分子構造(SDF)を取得し,xyz形式に変換してVESTAで確認するまでの一連の作法
- 構造緩和の実行と読み方,緩和前後の全エネルギー比較,基底関数を粗くすると安定・不安定の判定が逆転しうること
- 状態密度 $D(E)=\sum_i g_i\,\delta(E-\epsilon_i)$ とGauss拡がり,元素別・軌道別の部分状態密度(PDOS)
- CH$_4$の分子軌道:$-14.76\ \mathrm{eV}$ の3重縮退 $t_2$(HOMO,電子6個)と $+6.92\ \mathrm{eV}$ の $a_1^{*}$(LUMO)
- Koopmansの定理 $I_i=-\epsilon_i$ と紫外光電子スペクトル(UPS)との比較,$t_2$:$a_1$ の面積比 3:1
- cubeファイルによる波動関数の可視化(黄=正,青=負)と,結合性・反結合性の読み取り
- 調和近似 $U=\frac12 kx^2$ から力の定数 $k$,$\omega=\sqrt{k/\mu}$,$E_n=(n+\frac12)\hbar\omega$,波数 $\mathrm{cm}^{-1}$ への換算とスケーリング因子
本章の計算は,すべて次の流れの上に乗っている.まず分子構造を用意し(10.2節),構造緩和で平衡構造を求め(10.3節),その構造に対して電子状態を解き,そこから状態密度・分子軌道・波動関数・振動準位を取り出す(10.4〜10.8節).図10.1にその全体像を示す.以降の節は,この図の各ブロックを順に説明していくものだと思ってよい.
10.1 まずは Molcalc で触ってみる
いきなりPythonスクリプトを走らせる前に,ブラウザだけで量子化学計算が体験できるサービスに触れておこう.コペンハーゲン大学のJensenらが公開している Molcalc(https://molcalc.org/)である.分子を画面上で組み立て,ボタンを押すだけで構造最適化・熱力学量・振動数・分子軌道が返ってくる.
なぜ?:最初にWebツールを触るのか
本書のここまでの章では,$1s$軌道1本の重なり積分でさえ紙の上では骨が折れることを見てきた.分子ともなれば,積分の数は基底関数の数 $N$ に対しておよそ $N^4$ に比例して増える.手計算で追える限界はとうに超えている.しかし「計算がどういう答えの形で返ってくるのか」を先に知っておくと,あとで自分でスクリプトを走らせたときに,出力のどこを見ればよいかが分かる.Molcalcは入力の手間がほとんどないので,出力の型を覚えるための最短経路として最適である.
10.1.1 Molcalcの中身:GAMESSとSTO-3G
Molcalcは,内部で GAMESS(General Atomic and Molecular Electronic Structure System)という量子化学計算ソフトウェアを呼び出している.基底関数は STO-3G,すなわち第5章で導出した「Slater型軌道をGauss関数3個で近似した最小基底」である.1原子あたりの基底関数の数が最小限なので計算は速いが,そのぶん精度は粗い.原子数が多すぎる分子はサーバ側で計算不可になる.
画面の左側に Optimize(構造緩和)と Calculate Properties(電子状態計算・振動準位計算)のボタンがある.まず Optimize を押して構造を緩和し,次に Calculate Properties を押す,という順番が基本である.結果は4つのタブに分かれて返ってくる.
- Free Energies:エンタルピー・エントロピー・定圧熱容量の並進/回転/振動成分と,生成熱.
- Vibrational Frequencies:基準振動の波数($\mathrm{cm}^{-1}$)の一覧と,各モードのアニメーション.
- Molecular Orbitals:分子軌道のエネルギー(eV)一覧と,その等値面表示.
- Polarity and Solvation:双極子モーメントと溶媒和自由エネルギー.
たとえばメタン CH$_4$ について Calculate Properties を押すと,Free Energiesタブに表10.1のような数値が並ぶ.
| 量 | 並進 | 回転 | 振動 | 合計 |
|---|---|---|---|---|
| エンタルピー $H$ (kJ mol$^{-1}$) | 6.20 | 3.72 | 119.28 | 129.20 |
| 定圧熱容量 $C_p$ (J mol$^{-1}$K$^{-1}$) | 20.79 | 12.47 | 2.25 | 35.51 |
| エントロピー $S$ (J mol$^{-1}$K$^{-1}$) | 143.35 | 62.93 | 0.39 | 206.66 |
振動のエンタルピーが 119.28 kJ mol$^{-1}$ と飛び抜けて大きいことに気づいてほしい.これは室温の熱エネルギーによる寄与ではなく,その大半が絶対零度でも残る 零点エネルギー(zero-point energy)である.10.8節で見るとおり,振動の基底状態のエネルギーは $\frac12\hbar\omega$ であってゼロではない.CH$_4$の9個の振動モードの $\frac12\hbar\omega$ を足し合わせると,確かに 100 kJ mol$^{-1}$ 台になる(演習10.5).
例題10.1 Molcalcの振動数リストを縮退で分類する
MolcalcはCH$_4$について次の9個の波数を返した(単位 $\mathrm{cm}^{-1}$).
1362.27, 1362.68, 1363.07, 1451.06, 1451.20, 3207.36, 3208.09, 3208.72, 3311.59
(1) なぜちょうど9個なのか.(2) これらを縮退したグループに分類せよ.
解答(1) $N$ 個の原子からなる非直線分子の振動の自由度は $3N-6$ である.全体で $3N$ 個の自由度のうち,分子全体の並進が3,回転が3を占めるからである.CH$_4$は $N=5$ なので $3\times 5-6=9$ となり,リストの個数と一致する.
(2) 数値が小数第1位まで一致しているものを同じグループとみなすと,
1362.27/1362.68/1363.07 → 3重縮退,1451.06/1451.20 → 2重縮退,3207.36/3208.09/3208.72 → 3重縮退,3311.59 → 非縮退.
すなわち $9=3+2+3+1$ である.本来は完全に縮退しているはずの振動数がわずかにずれているのは,数値計算(有限差分によるHessianの評価)の誤差と,最適化構造がわずかに理想的な正四面体からずれているためである.この $1+2+3+3$ という縮退の構造が,正四面体の対称性(点群 $T_d$)から必然的に決まることは第12章で学ぶ.
10.1.2 Molcalcが返す分子軌道と,その基底依存性
Molecular Orbitalsタブには,CH$_4$について次の9個の軌道エネルギー(eV)が並ぶ.
$-300.14,\ -24.76,\ -14.13,\ -14.12,\ -14.12,\ +19.47,\ +19.48,\ +19.48,\ +20.55$
軌道が9個しかないのは,STO-3Gが最小基底だからである.C原子には $1s,\,2s,\,2p_x,\,2p_y,\,2p_z$ の5個,H原子には $1s$ が1個ずつで4個,合わせて9個の基底関数しかない.基底関数を $N$ 個用意すれば分子軌道もちょうど $N$ 個できる,という対応は第11章の永年方程式で明確になる.電子は10個(C:6個,H:4個)なので,下から5個の軌道が2個ずつ電子で埋まる.最低の $-300.14\ \mathrm{eV}$ はC-$1s$の内殻軌道であり,化学結合には関与しない.
注意:粗い基底では空軌道の順番さえ変わる
STO-3Gで得られた空軌道は $+19.47$(3重縮退)と $+20.55$ である.ところが,後で10.5節で見るように,より柔軟な 6-31G 基底で同じCH$_4$を計算すると,空軌道は $+6.92$(非縮退)と $+8.78$(3重縮退)となり,最低空軌道(LUMO)の縮退度そのものが入れ替わる.占有軌道(結合を担う軌道)は $-24.76 \to -25.77$,$-14.12 \to -14.80$ と大きくは変わらないのに,である.最小基底で得られる空軌道は,定量的にはまったく信用してはいけない.空軌道は分子の外側に広がりたがるが,最小基底には「外側に広がる関数」が用意されていないためである.基底関数の柔軟さがなぜ効くのかは第6章で見たとおりである.
Molcalcは手軽だが,(i) 基底がSTO-3Gに固定,(ii) 原子数の上限がある,(iii) 出力をファイルとして自分の解析に流し込めない,という制約がある.そこで以降は,第6章以来使ってきた PySCF に舞台を移し,Molcalcにある機能をすべて自分の手元で再現する.まずは計算する分子の構造を手に入れるところからである.
10.2 PubChem から分子構造を取ってくる
計算を始めるには,原子の並び(座標)が要る.水素原子やHe原子のように原子1個なら座標は原点だけで済んだが,分子ではそうはいかない.世の中の分子の構造は,幸いなことにデータベースとして整備されている.ここでは米国NIHが運営する PubChem(https://pubchem.ncbi.nlm.nih.gov/)を使う.
10.2.1 組成式で探すか,化学名で探すか
検索窓に組成式 C6H12O6 を入れると,候補が大量に出てくる.C$_6$H$_{12}$O$_6$ はグルコース(ブドウ糖)だけでなく,フルクトース,ガラクトース,マンノースなど多数の異性体が同じ組成式をもつからである.目的の物質が決まっているなら,化学名で検索するほうが速い.D-グルコースの環状構造(ピラノース形)なら D-Glucopyranose と入れればよい.すると次の情報をもつ候補が一意に見つかる.
| Compound CID | 5793 |
|---|---|
| 分子式 (MF) | C$_6$H$_{12}$O$_6$ |
| 分子量 (MW) | 180.16 g mol$^{-1}$ |
| IUPAC名 | (3R,4S,5S,6R)-6-(hydroxymethyl)oxane-2,3,4,5-tetrol |
| InChIKey | WQZGKKKJIJFFOK-GASJEMHNSA-N |
物質を一意に指定する識別子としては CID(PubChem Compound ID)と InChIKey が便利である.論文やレポートに「グルコースを計算した」と書くだけでは,どの異性体・どの立体配置を使ったのかが伝わらない.CIDを併記しておけば誤解がない.
10.2.2 3D Conformer と SDF のダウンロード
目的の化合物のページを開くと,「1.2 3D Conformer」という項目がある.ここに三次元の分子模型が表示され,右上の Download Coordinates から座標ファイルを保存できる.SDFの欄の Save をクリックすると,Conformer3D_COMPOUND_CID_5793.sdf というファイルが手に入る.
SDF(structure-data file)は,原子の元素記号と座標に加えて,どの原子とどの原子が何重結合で結ばれているかという結合表(bond block)をもつ形式である.化学情報の世界では標準的だが,可視化ソフトによっては読めないことがあり,量子化学計算の入力としても冗長である.
注意:PubChemの3D構造は「量子化学の平衡構造」ではない
PubChemの3D Conformerは,多くの場合古典力場(MMFF94など)で生成された「それらしい」立体構造である.第8章で定義したポテンシャルエネルギー曲面 $E(\{\bm{R}_I\})$ の極小点,すなわち量子化学計算の平衡構造とは一般に一致しない.したがって,ダウンロードした構造をそのまま使うのではなく,必ず自分の手法・基底で構造緩和をかけ直す(10.3節).また同じ分子でも配座(conformer)は複数あり,PubChemでは「Conformer 1 of 8」のように複数用意されていることも多い.どれを取ったかを記録しておくこと.
10.2.3 ファイル名の作法
ダウンロードしたファイルは Conformer3D_COMPOUND_CID_5793.sdf という機械的な名前をしている.このまま作業ディレクトリに放り込むと,1週間後の自分が「5793って何だったか」と悩むことになる.そこで,SDFファイルは SDF_{物質名}.sdf,xyzファイルは XYZ_{物質名}.xyz という規則で名前を付け替えておく.こうしておけば,ls を打った瞬間に「どの物質のどんなファイルがあるか」が一目で分かる.
$ cp ~/Downloads/Conformer3D_COMPOUND_CID_5793.sdf .
$ cp Conformer3D_COMPOUND_CID_5793.sdf SDF_D-glucose.sdf
$ ls
calc_pyscf.py SDF_D-glucose.sdf XYZ_CH4.xyz
calc_pyscf_dos.py sdf2xyz.py XYZ_H.xyz
calc_pyscf_relax.py XYZ_B.xyz XYZ_He.xyz
calc_pyscf_vib.py XYZ_Be.xyz XYZ_N.xyz
calc_pyscf_wf.py XYZ_C.xyz XYZ_O.xyz
コード10.1 ダウンロードしたSDFファイルを,内容が分かる名前に付け替える.元のファイルも消さずに残しておくと,CIDを後から確認できる.
10.2.4 SDFからxyzへの変換と,xyz形式の書式
講義で配布されている sdf2xyz.py を使うと,SDFから結合表を落として座標だけを取り出したxyzファイルが得られる.
$ python3 sdf2xyz.py --sdf SDF_D-glucose.sdf
Converted: SDF_D-glucose.sdf -> XYZ_D-glucose.xyz
コード10.2 SDF から xyz への変換.出力ファイル名は入力名の SDF_ を XYZ_ に置き換えたものになる.
xyz形式は,量子化学計算でもっともよく使われる素朴なテキスト形式である.書式は次の3つの規則だけである.
定義:xyz形式
- 1行目:原子数(整数1個だけ).
- 2行目:コメント行.何を書いてもよい(空行でもよい).分子名・出典・単位などを書いておくとよい.
- 3行目以降:1行につき1原子.元素記号と $x,\ y,\ z$ 座標を空白区切りで書く.長さの単位はオングストローム($1\ \text{Å}=10^{-10}\ \mathrm{m}$).
3
H2O molecule r(OH)=0.96 A, angle(HOH)=104.5 deg
O 0.000000 0.000000 0.000000
H 0.759062 0.587729 0.000000
H -0.759062 0.587729 0.000000
コード10.3 水分子のxyzファイル(XYZ_H2O.xyz).原子の並び順に決まりはないが,後で出力を読むとき混乱しないよう,重い原子から書く習慣をつけるとよい.
例題10.2 水分子のxyzファイルを自分で作る
O–H結合長 $r=0.96\ \text{Å}$,H–O–H結合角 $\theta=104.5^\circ$ の水分子について,O原子を原点に置き,分子を $xy$ 面内に,$y$ 軸を二等分線にとったときの水素原子の座標を求めよ.
解答 二等分線から各O–H結合までの角度は $\theta/2 = 52.25^\circ$ である.O原子から見た水素の位置ベクトルは,大きさ $r$,$y$ 軸となす角 $\theta/2$ であるから,
$$ \begin{align} x &= \pm r\sin\frac{\theta}{2} = \pm 0.96 \times \sin 52.25^\circ = \pm 0.96\times 0.79081 = \pm 0.75906\ \text{Å},\notag\\ y &= r\cos\frac{\theta}{2} = 0.96 \times \cos 52.25^\circ = 0.96\times 0.61207 = 0.58773\ \text{Å},\notag\\ z &= 0 .\notag \end{align} $$よってコード10.3のとおりとなる.検算として,2つの水素の距離は $2\times 0.75906 = 1.51812\ \text{Å}$ であり,余弦定理 $d=\sqrt{2r^2(1-\cos\theta)}=\sqrt{2\times0.96^2\times(1-(-0.24756))}=1.5181\ \text{Å}$ と一致する.
10.2.5 VESTAで眺める
座標ができたら,計算に投入する前に必ず目で見る.結晶構造可視化ソフト VESTA はxyz形式も読めるので,次のように開けばよい(macOSの例).
$ open -a VESTA XYZ_D-glucose.xyz
コード10.4 xyzファイルをVESTAで開く.Windowsではファイルをダブルクリック,あるいはVESTAにドラッグ&ドロップすればよい.
VESTAでは分子をぐるぐる回して眺められるだけでなく,原子を2つクリックすれば結合長が,3つクリックすれば結合角が読める.D-グルコースなら,6員環(ピラノース環)が椅子形になっていること,C–O結合が約 1.4 Å,C–H結合が約 1.1 Å であることなどをその場で確認できる.画面下部のOutput欄には原子数と結合数(この構造では24原子・32結合)が表示される.
なぜ?:計算する前に必ず絵を見るのか
座標ファイルの取り違え,単位の取り違え(Å と Bohr),原子の重なり,水素の付け忘れといった事故は,数値だけ眺めていても気づきにくい.しかし絵にすれば一瞬で分かる.「原子が2個くっついて団子になっている」「分子が2つ重なっている」といった構造は,SCF計算が収束しなかったり,あり得ない全エネルギーを返したりする原因になる.計算時間が長い仕事ほど,投入前の目視確認の費用対効果は大きい.
10.3 構造緩和を実行する
構造緩和(構造最適化,geometry optimization)とは,第8章で導入したポテンシャルエネルギー曲面
$$ \begin{equation} E(\{\bm{R}_I\}) = \min_{\psi}\ \frac{\braket{\psi|\Ham_{\mathrm{el}}(\{\bm{R}_I\})|\psi}}{\braket{\psi|\psi}} + \sum_{I\lt J}\frac{Z_I Z_J \ee^2}{4\pi\eps\abs{\bm{R}_I-\bm{R}_J}} \label{eq:10-pes} \end{equation} $$の極小点を探す作業である.$\Ham_{\mathrm{el}}$ は原子核を固定したときの電子系のハミルトニアン,第2項は核間反発である.Born–Oppenheimer近似(第8章)のおかげで,原子核の位置 $\{\bm{R}_I\}$ は「動かせるパラメータ」として扱えるのだった.極小点では,すべての原子に働く力
$$ \begin{equation} \bm{F}_I = -\frac{\partial E}{\partial \bm{R}_I} \label{eq:10-force} \end{equation} $$がゼロになる.すなわち構造緩和とは,式 \eqref{eq:10-pes} の曲面の上で式 \eqref{eq:10-force} の力がすべての原子についてゼロになる点を探す作業にほかならない.この力はHellmann–Feynmanの定理(第8章)によって波動関数から直接計算できるので,「力を計算する → 力の向きに原子を少し動かす → 電子状態を解き直す」という手続きを,力が十分小さくなるまで繰り返せばよい.
10.3.1 実行と,出力の読み方
D-グルコース(24原子)を 6-31G 基底,閉殻(スピン多重度1)で緩和してみよう.
$ python3 calc_pyscf_relax.py --xyz XYZ_D-glucose.xyz --spin 0 --basis 6-31g
コード10.5 構造緩和の実行.--spin はPySCFの流儀で $2S$(不対電子の数)を指定する.閉殻分子なら 0 である.
実行すると,内部で geomeTRIC という最適化ライブラリが呼ばれ,次のようなログが1ステップごとに流れる.
Step 20 : Displace = 3.194e-03/1.351e-02 (rms/max) Trust = 3.000e-01 (=) Grad = 8.707e-05/1.712e-04 (rms/max) E (change) = -683.0329609087 (-2.811e-06) Quality = 1.350
Step 21 : Displace = 1.732e-03/6.261e-03 (rms/max) Trust = 3.000e-01 (=) Grad = 6.012e-05/1.476e-04 (rms/max) E (change) = -683.0329621255 (-1.217e-06) Quality = 1.274
Step 22 : Displace = 6.254e-04/1.609e-03 (rms/max) Trust = 3.000e-01 (=) Grad = 2.309e-05/5.726e-05 (rms/max) E (change) = -683.0329624172 (-2.917e-07) Quality = 1.204
Converged!
========================================
PySCF Geometry Optimization
========================================
XYZ file : XYZ_D-glucose.xyz
Basis : 6-31g
Method : RHF
Theory : scf
Charge : 0
Spin (2S) : 0
Text output : relax_XYZ_D-glucose.txt
----------------------------------------
Optimization finished.
Final energy : -18586.273591 eV
Output XYZ : XYZ_D-glucose-finish.xyz
コード10.6 構造緩和の出力(末尾).24原子の分子では,構造緩和のためのSCF計算が23回(Step 0 から Step 22 まで)繰り返され,約960秒かかった.
読むべき数字は次の4つである.
- Grad:力(エネルギー勾配)の二乗平均と最大値.これが収束判定の主役である.上の例では最終的に最大 $5.7\times10^{-5}$ まで落ちている.
- E (change):全エネルギーと,前ステップからの変化量.単位はHartree.変化量が $10^{-6}$ Hartree(約 $3\times10^{-5}$ eV)を切れば十分収束している.
- Displace:原子がどれだけ動いたか.最終ステップでは最大 $1.6\times10^{-3}$ Bohr,すなわち $10^{-3}$ Å 程度しか動いていない.
- Converged!:上の3つがすべて閾値を下回った合図.この表示が出ていない結果を使ってはいけない.
最終的な全エネルギーは $-683.0329624172$ Hartree と表示されている.eVに直すには $1\ \mathrm{Hartree}=27.211386\ \mathrm{eV}$ を掛けて
$$ -683.0329624172 \times 27.211386 = -18586.2736\ \mathrm{eV} $$となり,出力の Final energy : -18586.273591 eV と一致する.緩和後の構造は XYZ_D-glucose-finish.xyz というファイルに書き出される.元の XYZ_D-glucose.xyz は上書きされないので,緩和前後の比較ができる.
数学ノート:SCFループと構造緩和ループは二重になっている
混同しやすいので整理しておく.内側のループは SCF(self-consistent field,自己無撞着場)であり,原子核を固定したまま,電子の軌道と有効ポテンシャルが互いに矛盾しなくなるまで繰り返す.外側のループが構造緩和で,SCFが1回収束するごとに1ステップ進む.上の例では外側が23ステップ回ったので,SCF計算そのものは(数値微分による力の評価も含めて)少なくとも23回実行されたことになる.原子数が多いと時間がかかるのは,SCF1回あたりのコストと,外側のステップ数が両方増えるためである.
10.3.2 緩和前後の全エネルギーを比べる
構造緩和が意味のある仕事をしたかどうかは,緩和前と緩和後で全エネルギーを比べれば分かる.単純に,同じ手法・同じ基底で1点計算(single point calculation)を2回走らせればよい.
$ python3 calc_pyscf.py --xyz XYZ_D-glucose.xyz --spin 0 --basis 6-31g
========================================
PySCF Calculation
========================================
XYZ file : XYZ_D-glucose.xyz
Basis : 6-31g
Charge : 0
Spin (2S) : 0
Theory : scf
----------------------------------------
Method : RHF
Total Energy : -18585.549008 eV
<S^2> : 0.000000
Multiplicity : 1.0
$ python3 calc_pyscf.py --xyz XYZ_D-glucose-finish.xyz --spin 0 --basis 6-31g
...
Total Energy : -18586.273591 eV
コード10.7 緩和前(PubChemの構造)と緩和後の全エネルギーを 6-31G 基底で比較する.
差を取ると
$$ \begin{equation} \Delta E = E_{\text{緩和後}} - E_{\text{緩和前}} = -18586.273591 - (-18585.549008) = -0.724583\ \mathrm{eV} \label{eq:10-dE631g} \end{equation} $$である.確かにエネルギーが下がっている.これを化学でなじみのある単位に直すと,$1\ \mathrm{eV} = 96.485\ \mathrm{kJ\,mol^{-1}}$ より
$$ 0.724583\ \mathrm{eV} \times 96.485\ \mathrm{kJ\,mol^{-1}\,eV^{-1}} = 69.9\ \mathrm{kJ\,mol^{-1}} $$となる.水素結合1本が 20 kJ mol$^{-1}$ 程度であることを思えば,決して無視できない大きさである.PubChemの力場構造が量子化学の平衡構造からそれなりにずれていた,ということである.
10.3.3 余談:基底関数を落とすと判定が逆転する
ここからが本節の山場である.まったく同じ2つの構造を,今度は STO-3G 基底で計算してみよう.
$ python3 calc_pyscf.py --xyz XYZ_D-glucose.xyz --spin 0
Basis : sto-3g
Total Energy : -18352.694979 eV
$ python3 calc_pyscf.py --xyz XYZ_D-glucose-finish.xyz --spin 0
Basis : sto-3g
Total Energy : -18352.345758 eV
コード10.8 同じ2つの構造を STO-3G 基底で計算する(--basis を省略すると既定の sto-3g になる).
今度は
$$ \begin{equation} \Delta E^{\mathrm{STO\text{-}3G}} = -18352.345758-(-18352.694979) = +0.349221\ \mathrm{eV} \label{eq:10-dEsto3g} \end{equation} $$と,緩和後のほうがエネルギーが高いという結果になる.6-31G では 0.72 eV 安定化していたはずの構造が,STO-3G では 0.35 eV 不安定と判定されてしまった.符号が逆である.
注意:荒い基底では「安定・不安定」の判定が逆転しうる
変分原理(第3章)が保証するのは,同じ構造・同じ基底の中でエネルギーが低い波動関数ほど良い,ということだけである.「基底Aで計算した構造1のエネルギー」と「基底Bで計算した構造2のエネルギー」を比べても意味はない.さらに厄介なのは,上の例のように同じ基底で2構造を比べても,その基底が粗すぎると差の符号を誤ることがある点である.STO-3Gは原子1個あたりの関数の数が最小限なので,原子の周りの電子分布のわずかな変形(結合角がすこし変わったときの電子雲の追随)を表現できない.その表現力不足は構造ごとに異なる大きさで効くので,$0.3$ eV 程度の差なら簡単にひっくり返る.
実務上の教訓は3つである.(i) 比較する2つの計算は,基底も手法も収束条件も完全に揃える.(ii) 関心のあるエネルギー差より十分小さい誤差しか出ない基底を使う.(iii) 結論が基底を変えても変わらないことを確認する(基底関数の収束テスト).
なぜ?:なぜ基底を大きくすると全エネルギーが下がるのか
変分原理により,試行関数の自由度を増やせば増やすほど,最小化されたエネルギーは真の値に向かって単調に下がる(第3章).基底関数の集合が大きくなることは,試行関数の自由度が増えることそのものである.実際,D-グルコースの全エネルギーは STO-3G で $-18352.69$ eV,6-31G で $-18585.55$ eV と,$233$ eV も下がっている.この $233$ eV は化学結合のエネルギー(1本あたり数 eV)よりはるかに大きいが,ほとんどが内殻電子の記述の改善によるもので,化学には効かない「下駄」である.だから絶対値の比較は無意味で,差だけが物理的に意味をもつ.
例題10.3 単位換算の練習
(1) 式 \eqref{eq:10-dEsto3g} の $+0.349221$ eV を kJ mol$^{-1}$ に直せ.(2) 構造緩和の最終ステップでのエネルギー変化 $-2.917\times 10^{-7}$ Hartree は何 eV か.(3) この変化量は室温の熱エネルギー $k_{\mathrm{B}}T$($T=300$ K で約 $0.026$ eV)の何分の1か.
解答(1) $0.349221\times 96.485 = 33.7\ \mathrm{kJ\,mol^{-1}}$.
(2) $-2.917\times10^{-7}\times 27.211386 = -7.94\times10^{-6}\ \mathrm{eV}$.
(3) $0.026/7.94\times10^{-6} \approx 3.3\times10^{3}$ 倍.すなわち収束判定は室温の熱ゆらぎの3000分の1以下の精度で行われている.構造緩和の収束条件が「行き過ぎではないか」と思うほど厳しいのは,力(エネルギーの微分)を精度よく求めるには,エネルギーそのものをそれよりずっと高い精度で求める必要があるからである.
10.4 状態密度(DOS)を描く
平衡構造が得られたら,次はその構造での電子状態を調べる.もっとも見通しのよい表示が 状態密度(density of states, DOS)である.
定義:状態密度
あるエネルギー $E$ の付近に,電子が入れる状態がどれだけ密に存在するかを表す量を状態密度という.分子軌道のエネルギーを $\epsilon_i$($i=1,2,\dots,M$,$M$ は基底関数の数)とすると,
$$ \begin{equation} D(E)=\sum_{i=1}^{M} g_i\,\delta(E-\epsilon_i) \label{eq:10-dos-delta} \end{equation} $$と定義される.$g_i$ は1本の分子軌道が収容できる電子数で,スピンを区別しない閉殻計算(RHF)では $g_i=2$(上向きと下向き)である.$\delta$ はDiracのデルタ関数で,$\int D(E)\,\dd E = 2M$ が成り立つ.
固体では軌道が連続的なエネルギーバンドをつくるので $D(E)$ は文字どおり連続関数になる(第14章).一方,分子の軌道エネルギーは飛び飛びなので,式 \eqref{eq:10-dos-delta} のままでは無限に細い針が何本も立っているだけの絵になってしまい,見づらい.そこでデルタ関数を幅 $\sigma$ のGauss関数で置き換える.
これを Gauss拡がり(Gaussian broadening)という.$\sigma\to 0$ の極限で式 \eqref{eq:10-dos-delta} に戻る.Gauss関数の全積分は1なので,$\sigma$ をどう選んでもピークの面積は変わらない.変わるのは高さと幅だけである.calc_pyscf_dos.py の既定値は $\sigma=0.300$ eV である.
数学ノート:GaussかLorentzか
デルタ関数を近似する関数には,Gauss関数のほかにLorentz関数
$$ \delta(E-\epsilon_i)\ \to\ \frac{1}{\pi}\frac{\gamma}{(E-\epsilon_i)^2+\gamma^2} $$もよく使われる.どちらも $\int(\cdots)\dd E=1$ に規格化されている.Lorentz型は裾が $1/E^2$ でゆっくり落ちるので,離れたピークどうしが重なりやすい.実験スペクトルの線幅は,状態の有限寿命に由来する場合はLorentz型,装置分解能や不均一な広がりに由来する場合はGauss型になることが多い.分子のDOSに入れる幅は単に絵を見やすくするための人為的な幅であって,物理的な寿命幅ではないことに注意してほしい.
10.4.1 部分状態密度(PDOS)
DOSの本当の威力は,「どの原子の,どの軌道が,どのエネルギーに寄与しているか」を分解できる点にある.分子軌道はLCAO(基底関数の線形結合)で
$$ \begin{equation} \phi_i(\bm{r})=\sum_{\mu=1}^{M} c_{\mu i}\,\chi_\mu(\bm{r}) \label{eq:10-lcao} \end{equation} $$と書ける($\chi_\mu$ は原子に置かれた基底関数,第5章のSTO-3Gなど).式 \eqref{eq:10-lcao} の係数 $c_{\mu i}$ は,第11章で導く永年方程式を解いて決まる量である.この $i$ 番目の分子軌道のうち,基底関数 $\mu$ がどれだけの割合を占めているかを表す重み $w_{i\mu}$ を決められれば,
$$ \begin{equation} D_\alpha(E)=\sum_{i}\ \sum_{\mu\in\alpha} w_{i\mu}\; g_i\,\frac{1}{\sigma\sqrt{2\pi}}\exp\!\left[-\frac{(E-\epsilon_i)^2}{2\sigma^2}\right] \label{eq:10-pdos} \end{equation} $$として,原子(あるいは元素,あるいは $s$/$p$/$d$ 軌道)ごとの 部分状態密度(partial DOS, PDOS)が定義できる.ここで $\mu\in\alpha$ は「グループ $\alpha$ に属する基底関数についての和」を意味する.
重みの決め方には流儀がある.素朴には $|c_{\mu i}|^2$ を使いたくなるが,基底関数どうしが直交していない($S_{\mu\nu}=\int\chi_\mu^*\chi_\nu\,\dd^3r \neq \delta_{\mu\nu}$,第5章の重なり積分)ため,$\sum_\mu |c_{\mu i}|^2 \neq 1$ となってしまう.そこで重なり行列 $S$ の平方根を使って基底を直交化してから係数を取る Löwdin射影
$$ \begin{equation} w_{i\mu}=\left|\left(S^{1/2}C\right)_{\mu i}\right|^{2}, \qquad \sum_{\mu=1}^{M} w_{i\mu}=1 \label{eq:10-lowdin} \end{equation} $$が広く使われる($C$ は係数 $c_{\mu i}$ を並べた行列).calc_pyscf_dos.py の出力に Projection : lowdin と書かれているのはこの意味である.$\sum_\mu w_{i\mu}=1$ が成り立つので,すべてのPDOSを足すと必ず全DOSに戻る.
10.4.2 グルコースのDOSを描く
$ python3 calc_pyscf_dos.py --xyz XYZ_D-glucose-finish.xyz --spin 0 --basis 6-31g \
--xrange -30 10 --element-pdos
========================================
PySCF DOS-like Calculation
========================================
XYZ file : XYZ_D-glucose-finish.xyz
Method : RHF
Theory : scf
Basis : 6-31g
Total Energy : -18586.273591 eV
Charge : 0
Spin (2S) : 0
Projection : lowdin
DOS mode : gaussian broadening
Gaussian sigma: 0.300 eV
Energy zero : absolute MO energy
Plot output : DOS_XYZ_D-glucose-finish.pdf
CSV output : DOS_XYZ_D-glucose-finish.csv
Text output : DOS_XYZ_D-glucose-finish.txt
Element PDOS : C(s), C(p), H(s), O(s), O(p)
コード10.9 元素別・軌道別の部分状態密度を計算する.--xrange -30 10 は横軸の範囲(eV),--element-pdos は元素ごとのPDOSを出すオプション.オプションを忘れたら python3 calc_pyscf_dos.py --help と打てばよい.
出てきたPDOSを見ると,$-30$ eV から $-11$ eV あたりまでが占有された価電子帯にあたり,そのうち もっとも高い占有軌道(HOMO)付近は O-$2p$ と C-$2p$ で構成されていることが分かる.一方 $+4$ eV より上の空軌道側は H-$s$ の寄与が大きい.グルコースは C, H, O の3元素からなるが,化学的に反応しやすい「一番外側の電子」がどの原子のどの軌道に住んでいるかが,この一枚の図から読み取れるわけである.
10.4.3 CH$_4$のDOSと,そこから読めること
グルコースは24原子もあって準位が混み合っているので,もっと単純なCH$_4$で練習しよう.
$ python3 calc_pyscf_dos.py --xyz XYZ_CH4.xyz --spin 0 --basis 6-31g --xrange -30 10
PySCF DOS-like Calculation
----------------------------------------
Total Energy : -1093.361059 eV
Gaussian sigma: 0.300 eV
MO projected weights:
spin MO energy(eV) occ s p d f
-----------------------------------------------------------------------
restricted 1 -305.00055 2 1.0000 0.0000 0.0000 0.0000
restricted 2 -25.71378 2 1.0000 0.0000 0.0000 0.0000
restricted 3 -14.76147 2 0.4275 0.5725 0.0000 0.0000
restricted 4 -14.76090 2 0.4275 0.5725 0.0000 0.0000
restricted 5 -14.76075 2 0.4275 0.5725 0.0000 0.0000
restricted 6 6.91612 0 1.0000 0.0000 0.0000 0.0000
restricted 7 8.77636 0 0.6643 0.3357 0.0000 0.0000
restricted 8 8.77645 0 0.6643 0.3357 0.0000 0.0000
restricted 9 8.77674 0 0.6644 0.3356 0.0000 0.0000
restricted 10 20.26052 0 0.2080 0.7920 0.0000 0.0000
restricted 11 20.26068 0 0.2080 0.7920 0.0000 0.0000
restricted 12 20.26099 0 0.2080 0.7920 0.0000 0.0000
コード10.10 CH$_4$のDOS計算.各分子軌道のエネルギー,占有数(occ),$s$/$p$/$d$/$f$ 成分の重み(式 \eqref{eq:10-lowdin} のLöwdin重み)が表になって出てくる.
この表とDOSの図(図10.3)を見比べると,次のことが読み取れる.
- $-305.00$ eV の軌道はC-$1s$の内殻軌道である.図の範囲($-30$ eV 以上)には現れない.
- $-25.71$ eV に非縮退の軌道が1本,占有数2.$s$ 成分100%である.
- $-14.76$ eV に3本の軌道がほぼ完全に縮退しており,占有数はいずれも2,合わせて電子6個.$s$ が 42.75%,$p$ が 57.25% である.これがHOMOである.
- $+6.92$ eV に占有数0の軌道が1本($s$ 成分100%).これがLUMOである.
- $+8.78$ eV に3重縮退の空軌道.
例題10.4 DOSのピークの高さを予言する
式 \eqref{eq:10-dos-gauss} で $\sigma=0.300$ eV としたとき,(1) 完全に縮退した3本の占有軌道がつくるピークの高さ,(2) 非縮退の占有軌道1本がつくるピークの高さを求め,図10.3と照合せよ.
解答 Gauss関数のピーク高さは $E=\epsilon_i$ で $\dfrac{1}{\sigma\sqrt{2\pi}}$ である.$\sigma=0.300$ eV なら
$$ \frac{1}{0.300\times\sqrt{2\pi}}=\frac{1}{0.300\times 2.50663}=\frac{1}{0.751988}=1.3298\ \mathrm{eV^{-1}} . $$(1) 3本の軌道が同じエネルギーにあり,各軌道が $g_i=2$ 個の電子を収容できるので,状態数は $3\times 2=6$.よって高さは $6\times 1.3298 = 7.98\ \mathrm{states/eV}$.
(2) 状態数は2なので $2\times1.3298=2.66\ \mathrm{states/eV}$.
図10.3のピークの高さ(約8.0と約2.7)と一致する.比がちょうど 3:1 になっていることに注目してほしい.これは10.6節で光電子スペクトルと比較するときの決め手になる.
注意:DOSの縦軸は「電子の数」ではなく「入れる状態の数」
式 \eqref{eq:10-dos-delta} の $D(E)$ は,その場所に電子が実際に入っているかではなく,入れる箱がいくつあるかを数えている.図10.3で $+6.92$ eV や $+8.78$ eV にもピークが立っているのはそのためで,これらは占有数0の空軌道である.実際に入っている電子数を知りたければ,占有軌道だけを足した
$$ N=\int_{-\infty}^{E_{\mathrm{HOMO}}} D(E)\,\dd E $$を計算する.CH$_4$なら $2+2+6=10$ 個で,C(6個)+ H$_4$(4個)と一致する.
10.5 CH$_4$ の分子軌道
コード10.10の表は,実はCH$_4$の化学結合の全体像をそのまま含んでいる.読み解いていこう.
10.5.1 電子はどこに入っているか
CH$_4$の電子数は $6+4\times1=10$ 個である.表の占有数(occ)を上から足すと $2+2+2+2+2=10$ となり,5本の軌道が埋まっている.内訳は
| MO | $\epsilon_i$ (eV) | 占有数 | $s$ | $p$ | 正体 |
|---|---|---|---|---|---|
| 1 | $-305.00$ | 2 | 1.000 | 0.000 | C-$1s$ 内殻 |
| 2 | $-25.71$ | 2 | 1.000 | 0.000 | $a_1$ 結合性(C-$2s$ + H-$1s$) |
| 3,4,5 | $-14.76$ | 2 ずつ(計6) | 0.428 | 0.573 | $t_2$ 結合性(C-$2p$ + H-$1s$)= HOMO |
| 6 | $+6.92$ | 0 | 1.000 | 0.000 | $a_1^{*}$ 反結合性 = LUMO |
| 7,8,9 | $+8.78$ | 0 | 0.664 | 0.336 | $t_2^{*}$ 反結合性 |
である.$-14.76$ eV の軌道に電子が6個入っている——これが本節でいちばん覚えてほしい事実である.同じエネルギーの軌道が3本あり,それぞれに2個ずつ電子が入るからである.
10.5.2 $s$ 成分と $p$ 成分が語ること
表10.3の $s$ と $p$ の欄は,単なる数字の羅列ではない.MO 2($-25.71$ eV)は $p$ 成分がぴったり 0 である.つまりこの軌道はC-$2p$をまったく含まず,C-$2s$と4個のH-$1s$だけからできている.一方 MO 3–5($-14.76$ eV)は $s$ が 0.4275,$p$ が 0.5725 で,C-$2p$ が半分以上を占める.しかもこちらには C-$2s$ が混ざっていない.
物理的意味:なぜ $s$ と $p$ はきれいに分離するのか
正四面体構造のCH$_4$では,C-$2s$軌道はどの方向にも等しく広がる(球対称).4個の水素をすべて等価に扱う「全部同符号」の組み合わせ $\chi_{a_1}\propto(1s_{\mathrm{H}_1}+1s_{\mathrm{H}_2}+1s_{\mathrm{H}_3}+1s_{\mathrm{H}_4})$ とだけ重なりをもち,符号が入れ替わる組み合わせとは重なりがちょうど打ち消して 0 になる.逆にC-$2p_z$のように向きをもつ軌道は,「上の2個のHが $+$,下の2個が $-$」というような符号の変わる組み合わせと重なる.両者はそもそも重なり積分がゼロなので,混ざりようがない.したがってCH$_4$の価電子軌道は,必ず「$s$ 型 1本」と「$p$ 型 3本」に分かれる.
この「重なりがゼロになるかどうかは対称性だけで決まる」という主張を,群論の言葉(既約表現・指標表)で定式化するのが第12章である.そこで使われる記号 $a_1$ と $t_2$ は,まさに表10.3の分類そのものである($a$ は非縮退,$t$ は3重縮退を意味する).
10.5.3 分子軌道ダイアグラム
以上をまとめると,図10.4のような 分子軌道ダイアグラム(molecular orbital diagram)が描ける.左に4個の水素がつくる群軌道,右に炭素の原子軌道,中央に両者が混ざってできた分子軌道を置く.
図の読み方を確認しておこう.
- まず4個の水素の $1s$ 軌道を,CH$_4$の対称性に合った4通りの組み合わせ(群軌道,symmetry-adapted linear combination)に組み替える.全部同符号のものが1本($a_1$),符号が入れ替わるものが3本($t_2$)できる.
- 炭素側の $2s$ は $a_1$ 型,$2p_x,2p_y,2p_z$ は $t_2$ 型である.
- 同じ型どうししか混ざらない.$a_1$ と $a_1$ から結合性 $a_1$ と反結合性 $a_1^{*}$ が,$t_2$ と $t_2$ から結合性 $t_2$(3本)と反結合性 $t_2^{*}$(3本)ができる.
- 価電子8個(炭素の $2s^2 2p^2$ で4個,水素4個で4個)を下から詰めると,$a_1$ に2個,$t_2$ に6個入り,ちょうど結合性軌道だけが満たされる.反結合性は空である.だからCH$_4$は安定な分子で,結合次数は形式的に4本ぶんになる.
注意:「4本の等価なsp³混成軌道」との折り合い
高校や学部1年の化学では,CH$_4$の結合を「4本の等価な $sp^3$ 混成軌道」で説明する.この描像は結合の向き(正四面体,109.47°)を理解するには優れているが,そのまま読むと「4本の結合はすべて同じエネルギー」という誤った期待を生む.実際には図10.4のとおり,価電子は $-25.71$ eV と $-14.76$ eV という2つの異なるエネルギーに分かれている.
両者は矛盾しない.$a_1$ と $t_2$ の4本の分子軌道を適当に線形結合し直せば,4本の等価な局在軌道($sp^3$的な描像)がつくれるからである.全電子密度も全エネルギーも変わらない.しかし軌道エネルギーという物理量は,線形結合で混ぜ直すと定義できなくなる.次節で見るように,光電子分光は $-14.76$ eV と $-25.71$ eV に対応する2本のピークを実際に観測する.実験が見ているのは $a_1$/$t_2$ の描像のほうである.
例題10.5 HOMO–LUMOギャップとその意味
表10.3から,CH$_4$のHOMO–LUMOギャップを求めよ.またこの値から,CH$_4$が可視光(波長 400–800 nm,光子エネルギー 1.6–3.1 eV)を吸収するかどうかを論じよ.
解答 ギャップは
$$ \Delta = \epsilon_{\mathrm{LUMO}}-\epsilon_{\mathrm{HOMO}} = 6.92-(-14.76) = 21.68\ \mathrm{eV} $$である.可視光の光子エネルギーよりはるかに大きいので,CH$_4$は可視光では電子励起を起こさない.実際メタンは無色透明である.
ただし注意が必要である.Hartree–Fock法の軌道エネルギー差は励起エネルギーを大きく過大評価することが知られており(電子を1個励起したときの軌道の緩和と電子相関を無視しているため),実測のCH$_4$の最低励起エネルギーは 9 eV 程度(真空紫外領域)である.ギャップの数値そのものを実験と比べるのは危険で,「可視光より十分大きい」といった定性的な議論にとどめるべきである.バンドギャップの計算は固体でも同じ困難を抱えており,第14章で再び触れる.
10.6 光電子スペクトルとの比較
計算した軌道エネルギーは,実験で確かめられるのだろうか.確かめられる.光電子分光(photoelectron spectroscopy)がそれである.
10.6.1 光電子分光とは
物質に,エネルギー $h\nu$ の光(紫外線ならUPS,X線ならXPS)を当てると,電子が飛び出す.飛び出した電子の運動エネルギー $E_{\mathrm{kin}}$ を測れば,エネルギー保存則から,その電子がもともと束縛されていたエネルギー(イオン化エネルギー $I$)が分かる.
$$ \begin{equation} I = h\nu - E_{\mathrm{kin}} \label{eq:10-pes-energy} \end{equation} $$式 \eqref{eq:10-pes-energy} の $h\nu$ は入射光のエネルギーで既知,$E_{\mathrm{kin}}$ は測定量だから,$I$ が決まる.横軸を $I$,縦軸を「飛び出してきた電子の数」にとってプロットしたものが光電子スペクトルである.ある $I$ に電子がたくさん詰まっていれば,そこから飛び出す電子も多い.つまり光電子スペクトルは占有状態の状態密度を実験的に測っているとみなせる.
10.6.2 Koopmansの定理
計算で得られた軌道エネルギー $\epsilon_i$ と,実験のイオン化エネルギー $I$ を結ぶのが Koopmansの定理(Koopmans' theorem)である.
定理:Koopmansの定理
Hartree–Fock法で得られた閉殻分子について,$i$ 番目の分子軌道から電子を1個取り去るときに必要なエネルギーは,残りの軌道が変化しない(凍結する)と仮定すれば
$$ \begin{equation} I_i = E^{(N-1)}-E^{(N)} = -\epsilon_i \label{eq:10-koopmans} \end{equation} $$で与えられる.すなわち,軌道エネルギーの符号を変えたものがイオン化エネルギーである.
導出:Koopmansの定理を第9章の記法で示す
第9章で,閉殻($N=2n$ 電子)のSlater行列式に対するHartree–Fockの全エネルギーが
$$ \begin{equation} E^{(N)} = 2\sum_{i=1}^{n} h_{i} + \sum_{i=1}^{n}\sum_{j=1}^{n}\left(2J_{ij}-K_{ij}\right) \label{eq:10-ehf} \end{equation} $$と書けることを見た.ここで $h_i=\braket{\phi_i|\hat{h}|\phi_i}$ は1電子部分(運動エネルギー+核引力),$J_{ij}$ はCoulomb積分,$K_{ij}$ は交換積分である.また軌道エネルギーは
$$ \begin{equation} \epsilon_i = h_i + \sum_{j=1}^{n}\left(2J_{ij}-K_{ij}\right) \label{eq:10-orbital-energy} \end{equation} $$であった.いま,軌道 $k$ から電子を1個(スピン $\alpha$ としよう)取り去る.残りの $N-1$ 個の電子の軌道は変化しないと仮定する(凍結軌道近似).取り去られた電子が失った相互作用を数え上げよう.
まず1電子部分が $-h_k$ 減る.次に,この電子が他の電子と及ぼしあっていた相互作用を数える.
- $j\neq k$ の軌道:そこには $\alpha$ スピンと $\beta$ スピンの電子が1個ずつ,計2個いる.Coulomb相互作用は2個ぶんで $2J_{kj}$.交換相互作用は同じスピンの相手とだけ働く(第9章)ので,$\alpha$ スピンの1個ぶんだけ $-K_{kj}$.合計 $2J_{kj}-K_{kj}$.
- $j=k$ の軌道:同じ軌道にはもう1個,逆向きスピン($\beta$)の電子が残っている.Coulombは $J_{kk}$ の1個ぶん.スピンが逆なので交換はゼロ.ところが $J_{kk}=K_{kk}$ が恒等的に成り立つので,これは $2J_{kk}-K_{kk}$ と書ける.
したがって失われる相互作用の総和は,$j=k$ も込めて
$$ \sum_{j=1}^{n}\left(2J_{kj}-K_{kj}\right) $$とひとまとめに書ける.以上より
$$ E^{(N-1)}-E^{(N)} = -h_k-\sum_{j=1}^{n}\left(2J_{kj}-K_{kj}\right) = -\epsilon_k $$となり,式 \eqref{eq:10-koopmans} が示された.全エネルギーの表式 \eqref{eq:10-ehf} と軌道エネルギーの定義 \eqref{eq:10-orbital-energy} を見比べると,$E^{(N)}\neq 2\sum_i\epsilon_i$(軌道エネルギーの単純な和は全エネルギーではない)ことにも注意してほしい.相互作用を二重に数えてしまうからである.証明の鍵は $J_{kk}=K_{kk}$ という等式である.同じ軌道どうしのCoulomb積分と交換積分は,定義の積分そのものが同一になる(第9章).
注意:Koopmansの定理が含む2つの近似
上の導出では2つの近似をした.(i) 軌道緩和の無視:電子が1個抜けると,残りの電子は「反発が減った」ぶん内側に縮み,イオンのエネルギーは下がる.これを無視すると $I$ を過大評価する.(ii) 電子相関の無視:Hartree–Fockは電子相関を含まないが,相関エネルギーは電子数が多いほど大きいので,中性分子($N$ 電子)のほうがイオン($N-1$ 電子)より相関で得をしている.これを無視すると $I$ を過小評価する.この2つは逆向きに効くので部分的に打ち消し合い,結果としてKoopmansの定理は「そこそこ当たる」.誤差は典型的に 1–2 eV である.
10.6.3 CH$_4$のスペクトルと計算DOSの比較
CH$_4$の紫外光電子スペクトルには,$I\approx 14$ eV あたりに幅の広い大きなバンドと,$I\approx 23$ eV に小さなバンドの,合わせて2本が現れる.これを計算DOSと並べたのが図10.5である.
比較の結論を整理しよう.
- ピークの本数と面積比:計算は $t_2$(6状態)と $a_1$(2状態)の2本を予言し,面積比は $3:1$ である.実験でも $T_2$ バンドの強度は $A_1$ バンドのおよそ3倍であり,一致する.これがCH$_4$の価電子が「1種類の等価な結合」ではないことの,直接的な実験的証拠である.
- ピークの位置:計算(Koopmans)は $14.76$ eV と $25.71$ eV,実験は約 $14$ eV と約 $23$ eV である.$t_2$ の誤差は 1 eV 弱,$a_1$ は 3 eV 程度で,内殻に近い深い準位ほど軌道緩和の効果が大きく,Koopmansのずれも大きい.
- ピークの幅:計算では $\sigma=0.3$ eV の人為的な幅しかないが,実験の $T_2$ バンドは 4 eV 近い幅をもつ.これは(i) イオン化に伴って分子が振動励起される(電子状態と振動状態の結合),(ii) CH$_4^{+}$ が3重縮退した $T_2$ 状態になるためJahn–Teller効果で構造が歪む,という物理による.計算の細いピークと実験の太いバンドを,幅まで比べてはいけない.
例題10.6 Koopmansの定理で第一イオン化エネルギーを予言する
(1) 表10.3から,CH$_4$の第一イオン化エネルギーをKoopmansの定理で予言せよ.(2) 実験値(垂直イオン化エネルギー)は約 14.4 eV である.誤差の符号は,軌道緩和と電子相関のどちらの効果で説明できるか.
解答(1) 第一イオン化エネルギーはもっとも浅い占有軌道,すなわちHOMOから電子を抜くのに要するエネルギーである.HOMOは $t_2$($\epsilon=-14.76$ eV)なので
$$ I_1 = -\epsilon_{\mathrm{HOMO}} = 14.76\ \mathrm{eV} . $$(2) 計算値のほうが実験値より 0.4 eV ほど大きい.凍結軌道近似は,電子が抜けたあとに残りの電子が内側に縮んでイオンが安定化する効果を無視しているので,イオン化エネルギーを過大評価する.したがって誤差の符号は軌道緩和の無視で説明できる.電子相関は逆向きに効くが,この場合は軌道緩和のほうが勝っている.
なお,実験値には「垂直(vertical)」と「断熱(adiabatic)」の区別がある.垂直イオン化エネルギーは分子の構造を中性のまま凍結して電子を取り去るときの値,断熱イオン化エネルギーはイオンが構造緩和した後の値である.CH$_4$の断熱値は約 12.6 eV とかなり小さい.計算値と実験値を比べるときは,どちらの定義かを必ず確認すること.Koopmansの定理は構造を凍結しているので,比べるべき相手は垂直イオン化エネルギーである.
10.7 波動関数を可視化する
軌道エネルギーと成分比だけでは,「その軌道がどんな形をしているか」は分からない.分子軌道 $\phi_i(\bm{r})$ は空間の各点で値をもつ関数なので,三次元の地図として描き出せる.
10.7.1 cubeファイルを作る
$ python3 calc_pyscf_wf.py --xyz XYZ_CH4-finish.xyz --spin 0 --basis 6-31g --homo --lumo
========================================
PySCF Wavefunction Cube Generator
========================================
XYZ file : XYZ_CH4-finish.xyz
Method : RHF
Basis : 6-31g
Charge : 0
Spin (2S) : 0
Grid mode : nx, ny, nz = 80, 80, 80
Margin : 3.000 Bohr
Output dir : WF_XYZ_CH4-finish
----------------------------------------
Generated cube files:
spin MO energy(Ha) energy(eV) occ file
restricted 5 -0.545033 -14.8311 2 WF_XYZ_CH4-finish/MO_005_HOMO.cube
restricted 6 0.256250 6.9729 0 WF_XYZ_CH4-finish/MO_006_LUMO.cube
コード10.11 HOMOとLUMOのcubeファイルを生成する.WF_ で始まるディレクトリが作られ,その中にcubeファイルが出力される.
cubeファイル(Gaussian cube format)は,直方体の格子点上での関数値を並べたテキストファイルである.ここでは分子を囲む箱を $80\times80\times80$ の格子に切り(全部で 512000 点),各点での $\phi_i(\bm{r})$ の値を書き出している.Margin : 3.000 Bohr は,分子の外側に 3 Bohr($\approx1.6\ \text{Å}$)ぶんの余白をとる,という意味である.軌道は原子核から離れても指数関数的にしか減衰しないので,余白が狭すぎると軌道の裾が箱からはみ出して絵が切れてしまう.
他の軌道も見たければ,番号を直接指定すればよい.
$ python3 calc_pyscf_wf.py --xyz XYZ_CH4-finish.xyz --spin 0 --basis 6-31g --mo 1 2 3 4 7
$ cd WF_XYZ_CH4-finish
$ ls
MO_001.cube MO_002.cube MO_003.cube MO_004.cube MO_005_HOMO.cube
MO_006_LUMO.cube MO_007.cube
$ open -a VESTA MO_005_HOMO.cube
$ open -a VESTA MO_006_LUMO.cube
コード10.12 番号を指定して任意の分子軌道を出力し,VESTAで開く.第9章で議論した内殻軌道(MO 1)がいかに原子核に張り付いているかも,この方法で確認できる.
10.7.2 等値面の読み方:黄は正,青は負
VESTAでcubeファイルを開くと,等値面(isosurface)が表示される.$\phi_i(\bm{r})=\pm c$($c$ は適当な定数,たとえば $0.02$)を満たす面を描いたもので,雲のような塊として見える.VESTAの既定の色分けは
黄色 = 波動関数が正の領域,青色 = 波動関数が負の領域
である.図10.6にCH$_4$のHOMOとLUMOの模式図を示す.
形から結合性・反結合性を読むコツは,「C–H結合の途中に節面(符号が変わる面)があるか」を見ることである.
- 結合性(bonding):結合の途中に節面がない.2つの原子の間で波動関数が同符号に重なるので,そこに電子密度が積み増しされ,原子核どうしを引きつける糊の役割を果たす.CH$_4$のHOMOがこれである.
- 反結合性(antibonding):結合の途中に節面がある.電子密度が結合の中央で減るので,電子が入ると分子は不安定になる.CH$_4$のLUMOがこれである.
注意:波動関数の符号そのものには意味がない
$\phi_i(\bm{r})$ と $-\phi_i(\bm{r})$ は,まったく同じ物理状態を表す(電子密度 $|\phi_i|^2$ は同じ,エネルギーも同じ).したがって「黄と青が入れ替わった絵」が出てきても間違いではない.意味があるのは相対的な符号関係,すなわち「隣り合う原子の上で同符号か逆符号か」だけである.この点は第11章で永年方程式を解いて結合性・反結合性軌道を導くときにも本質的である.
10.7.3 グルコースのHOMOとLUMO
同じことをD-グルコース(24原子)でもやってみよう.
$ python3 calc_pyscf_wf.py --xyz XYZ_D-glucose-finish.xyz --spin 0 --basis 6-31g \
--homo --lumo
コード10.13 グルコースのHOMO/LUMOをcube出力する.原子数が多いので格子点数も増え,ファイルサイズは1つあたり数十MBになる.
得られた等値面を読むと,次のことが分かる.
- HOMO:C-$2p$ と C-$2p$ が同符号で並ぶ $\sigma$ 結合性の部分と,C-$2p$ と O-$2p$ が逆符号で向かい合う $\pi^{*}$ 反結合性の部分が共存している.10.4節のPDOSで「HOMOはO-$2p$とC-$2p$で構成されている」と読んだこととも整合する.反結合性成分をもつ軌道がいちばん上にあるという事実は,この分子のどこが化学的に弱いか(酸化されやすいか)を示唆する.
- LUMO:波動関数が分子全体に大きく広がってしまい,目視での判断は難しい.PDOSではこの領域はH-$s$が支配的なので,HとC,HとOの間に何らかの反結合性をもつ軌道だと推測できる.
物理的意味:目視の限界と,その先の道具
「絵を見て結合性か反結合性かを言う」という方法は,CH$_4$のように小さくて対称性の高い分子では強力だが,原子数が増えると急速に破綻する.等値面はしきい値 $c$ の取り方に依存するし,複数の結合が同時に絡むと目では分離できない.
そこで,結合の性格を数値として取り出す道具が要る.第1章で名前だけ紹介した 重なり密度(overlap population) と 結晶軌道Hamilton population(COHP) がそれである.原子 $A$ と $B$ の間の結合について,各エネルギー準位が結合を強めているか弱めているかを,正負の符号をもつ関数として与えてくれる.固体まで含めた一般的な結合解析の道具であり,担当教員のグループでもペロブスカイト酸化物の結合解析に用いている(文献[8]).厳密な結合解析にはこうした量が必要であることを,いまは覚えておいてほしい.
例題10.7 節面の数を数える
CH$_4$の分子軌道のうち,MO 2($a_1$,$-25.71$ eV)には C–H 結合を横切る節面がいくつあるか.MO 6($a_1^{*}$,$+6.92$ eV)ではどうか.またこの違いから,両者のエネルギーの高低が説明できることを述べよ.
解答 MO 2 はC-$2s$と4個のH-$1s$が同符号で重なった軌道なので,C–H結合を横切る節面は0個である(C-$2s$自身がもつ動径方向の節は核のごく近傍にあり,結合領域には出てこない).一方 MO 6 は同じ組み合わせを逆符号で作った軌道なので,4本のC–H結合それぞれの途中に節面が現れる(図10.6右の球状の破線).
節面が増えるほど波動関数の空間変化が急になり,運動エネルギー $\displaystyle -\frac{\hbar^2}{2m}\int\phi^*\nabla^2\phi\,\dd^3r$ が増える.加えて,結合領域から電子密度が追い出されるので核との引力も弱まる.この2つの効果で $a_1^{*}$ は $a_1$ より 32.6 eV も高くなる.「節が多い軌道ほど高い」という規則は,第2章で見た水素原子の $1s,2s,3s$ の序列とまったく同じ論理である.
10.8 振動準位
ここまでは電子の話だった.最後に原子核の運動,すなわち分子振動を扱う.Born–Oppenheimer近似(第8章)では,原子核はポテンシャルエネルギー曲面 $E(\{\bm{R}_I\})$ の上を運動する.平衡構造はその極小点だから,その近くでは曲面を放物線で近似できる.
10.8.1 調和近似から振動数へ
簡単のため,まず1次元(2原子分子の伸縮)で考える.平衡結合長を $r_0$,そこからのずれを $x=r-r_0$ とし,ポテンシャル $U(x)$ を $x=0$ のまわりでTaylor展開する.
$$ \begin{equation} U(x)=U(0)+\left.\frac{\dd U}{\dd x}\right|_{0}x+\frac{1}{2}\left.\frac{\dd^2U}{\dd x^2}\right|_{0}x^2+\frac{1}{6}\left.\frac{\dd^3U}{\dd x^3}\right|_{0}x^3+\cdots \label{eq:10-taylor} \end{equation} $$平衡点では力がゼロ,すなわち1次の項の係数 $\dd U/\dd x|_0$ が消える.エネルギーの原点を $U(0)=0$ に選び,3次以上を捨てると
を得る.これが 調和近似(harmonic approximation)であり,$k$ を 力の定数(force constant)という.単位は N m$^{-1}$ である.実際の計算では,平衡構造のまわりで原子を少しずつ動かしてエネルギーを何点か求め,$\frac12kx^2$ にフィッティングして $k$ を決める(あるいは2階微分を解析的に評価する).
質量 $m_A,m_B$ の2原子が,ばね定数 $k$ のばねでつながれているときの振動は,換算質量
$$ \begin{equation} \mu=\frac{m_A m_B}{m_A+m_B} \label{eq:10-mu} \end{equation} $$をもつ1個の粒子の運動に帰着する(相対座標に移ると重心運動が分離するため).したがって古典的な角振動数は
である.量子力学では,この調和振動子のエネルギー準位は等間隔に量子化され,
$$ \begin{equation} E_n=\left(n+\frac{1}{2}\right)\hbar\omega,\qquad n=0,1,2,\dots \label{eq:10-levels} \end{equation} $$となる.基底状態 $n=0$ でもエネルギーが $\frac12\hbar\omega$ 残る.これが10.1節で出てきた零点エネルギーである.
10.8.2 波数への換算
分光の世界では,振動数は 波数(wavenumber)$\tilde\nu$ で表す習慣である.定義は「$1$ cm あたりに波が何個入るか」で,
$$ \begin{equation} \tilde\nu=\frac{\nu}{c}=\frac{\omega}{2\pi c} \label{eq:10-wavenumber} \end{equation} $$である($c$ は光速).エネルギーとの関係は $E=h\nu=hc\tilde\nu$ だから,$1$ eV に対応する波数は
$$ \tilde\nu=\frac{E}{hc}=\frac{1.602177\times10^{-19}\ \mathrm{J}}{(6.626070\times10^{-34}\ \mathrm{J\,s})\times(2.997925\times10^{10}\ \mathrm{cm\,s^{-1}})}=8065.54\ \mathrm{cm^{-1}} $$すなわち
である.$3000\ \mathrm{cm^{-1}}$ の振動なら $3000/8065.54=0.372$ eV,室温の熱エネルギー $k_{\mathrm{B}}T\approx0.026$ eV($\approx 209\ \mathrm{cm^{-1}}$)の14倍もある.分子振動の多くは室温ではほとんど励起されていない(基底状態 $n=0$ にいる)ことがここから分かる.
10.8.3 CH$_4$の振動計算
$ python3 calc_pyscf_vib.py --xyz XYZ_CH4-finish.xyz --basis 6-31g --spin 0
========================================
PySCF Vibrational Level Analysis
========================================
XYZ file : XYZ_CH4-finish.xyz
Theory : scf
Method : rhf
Basis : 6-31g
Charge : 0
Spin (2S) : 0
SCF E_tot : -40.1805541767 Hartree (-1093.368579 eV)
----------------------------------------
Mode Frequency(cm^-1) Type
1 1516.7889 vibrational
2 1516.7896 vibrational
3 1516.7911 vibrational
4 1708.6872 vibrational
5 1708.6873 vibrational
6 3181.4044 vibrational
7 3295.8557 vibrational
8 3295.8593 vibrational
9 3295.8661 vibrational
コード10.14 CH$_4$の振動準位計算.$3N-6=9$ 個の振動モードが,縮退度 3, 2, 1, 3 のグループに分かれている.
実験値と比べてみよう.
| モード | 対称性 | 縮退度 | 計算値 | 実験値 | 実験/計算 |
|---|---|---|---|---|---|
| $\nu_4$(変角) | $t_2$ | 3 | 1516.8 | 1306 | 0.861 |
| $\nu_2$(変角) | $e$ | 2 | 1708.7 | 1534 | 0.898 |
| $\nu_1$(対称伸縮) | $a_1$ | 1 | 3181.4 | 2917 | 0.917 |
| $\nu_3$(反対称伸縮) | $t_2$ | 3 | 3295.9 | 3019 | 0.916 |
計算値はすべて実験値より高い.しかも「実験/計算」の比が $0.86$〜$0.92$ とだいたい揃っている点に注目してほしい.
10.8.4 H$_2$Oの振動モード
3原子の水分子なら,振動は $3\times3-6=3$ 個だけである.3つのモードの動き方を図10.8に示す.
$ python3 calc_pyscf_vib.py --xyz XYZ_H2O-finish.xyz --basis 6-31g --spin 0
SCF E_tot : -75.9839219956 Hartree (-2067.627850 eV)
----------------------------------------
Mode Frequency(cm^-1) Type
1 1803.9668 vibrational
2 4065.0470 vibrational
3 4164.2241 vibrational
----------------------------------------
Harmonic vibrational levels up to n=3
(E_n = (n + 1/2) h nu, for each normal mode)
Mode 1 nu = 1803.9668 cm^-1 Mode 2 nu = 4065.0470 cm^-1
n E_n (eV) n E_n (eV)
0 0.111832 0 0.252001
1 0.335495 1 0.756002
2 0.559158 2 1.260004
3 0.782822 3 1.764006
コード10.15 H$_2$Oの振動準位.各モードについて式 \eqref{eq:10-levels} の $E_n$ が表示される.$n=0$ の値がそのモードの零点エネルギーである.
実験値(気相)は 1595,3657,3756 $\mathrm{cm}^{-1}$ であり,FT-IRで水蒸気を測ると確かに $1600\ \mathrm{cm^{-1}}$ 付近と $3600$〜$3800\ \mathrm{cm^{-1}}$ に吸収が現れる.計算はこの「2本立て」の構造をよく再現している.
例題10.8 波数から力の定数を求める
水のO–H伸縮振動(実験値 $\tilde\nu=3657\ \mathrm{cm^{-1}}$)を,O原子とH原子1個が結ばれた2原子振動子とみなして,力の定数 $k$ と $\hbar\omega$(eV)を求めよ.原子量は $m_{\mathrm{H}}=1.008$,$m_{\mathrm{O}}=15.995$,$1\ \mathrm{u}=1.66054\times10^{-27}$ kg とする.
解答 まず換算質量を式 \eqref{eq:10-mu} で求める.
$$ \mu=\frac{1.008\times15.995}{1.008+15.995}\ \mathrm{u}=\frac{16.123}{17.003}\ \mathrm{u}=0.94810\ \mathrm{u} =0.94810\times1.66054\times10^{-27}=1.57436\times10^{-27}\ \mathrm{kg}. $$次に角振動数を式 \eqref{eq:10-wavenumber} から逆算する.$c=2.99792458\times10^{10}\ \mathrm{cm\,s^{-1}}$ を使って
$$ \omega=2\pi c\tilde\nu = 2\pi\times2.99792458\times10^{10}\times3657 = 2\pi\times1.09644\times10^{14}=6.8885\times10^{14}\ \mathrm{rad\,s^{-1}} . $$式 \eqref{eq:10-omega} を $k$ について解くと $k=\mu\omega^2$ であるから
$$ k=1.57436\times10^{-27}\times\left(6.8885\times10^{14}\right)^{2} =1.57436\times10^{-27}\times4.7451\times10^{29}=747\ \mathrm{N\,m^{-1}} . $$エネルギーは式 \eqref{eq:10-ev-cm} を使うのが早い.
$$ \hbar\omega=hc\tilde\nu=\frac{3657}{8065.54}\ \mathrm{eV}=0.4534\ \mathrm{eV} . $$$k\approx 750\ \mathrm{N\,m^{-1}}$ という値は,単結合としては非常に硬い部類である(C–H結合なら約 $500\ \mathrm{N\,m^{-1}}$,演習10.5).ばね定数 $750\ \mathrm{N\,m^{-1}}$ は,$1\ \text{Å}$ 縮めるのに $0.5\times750\times(10^{-10})^2=3.75\times10^{-18}\ \mathrm{J}=23\ \mathrm{eV}$ を要する計算になる.原子レベルのばねがいかに硬いかが実感できる.
10.8.5 計算値はなぜ実験値より高いのか:スケーリング因子
表10.4でも水でも,Hartree–Fock計算の振動数は実験値より一様に 10% 前後高かった.原因は3つある.
- 調和近似そのもの:式 \eqref{eq:10-taylor} で捨てた3次以降の項(非調和項)が効く.実際のポテンシャルは図10.7の実線のように,伸ばす方向では放物線より緩やか(結合が切れて平坦になる)である.したがって真の $n=0\to1$ 遷移エネルギーは調和近似の $\hbar\omega$ より小さい.実験の「基本振動数」は非調和性を含んだ値なので,必然的に低く出る.
- 基底関数の不足:柔軟性の足りない基底では,結合を伸ばしたときの電子分布の変化を十分に記述できず,ポテンシャルが硬めに出る.
- 電子相関の欠如:Hartree–Fockは電子相関を含まないので(第9章),結合が伸びたときのエネルギー上昇を過大評価する.これも $k$ を大きくする方向に効く.
3つとも同じ向き(振動数を高くする方向)に効き,しかもその割合が分子やモードによらずおおむね一定なので,実務では計算値に定数を掛けて補正する.この定数を スケーリング因子(scaling factor)という.
$$ \begin{equation} \tilde\nu_{\text{補正}} = c_{\mathrm{scale}}\,\tilde\nu_{\text{計算}} \label{eq:10-scaling} \end{equation} $$例題10.9 スケーリング因子を自分で決める
H$_2$Oの計算値(1803.97, 4065.05, 4164.22 $\mathrm{cm^{-1}}$)と実験値(1595, 3657, 3756 $\mathrm{cm^{-1}}$)から,この手法・基底に対するスケーリング因子を推定せよ.
解答 モードごとに実験値/計算値を求めると
$$ \frac{1595}{1803.97}=0.8842,\qquad \frac{3657}{4065.05}=0.8996,\qquad \frac{3756}{4164.22}=0.9020 . $$平均をとると
$$ c_{\mathrm{scale}}=\frac{0.8842+0.8996+0.9020}{3}=0.8953 . $$すなわち約 $0.895$ である.これはHartree–Fock/6-31G系の計算に対して文献で推奨されている値($0.89$〜$0.90$)とよく一致する.実際に式 \eqref{eq:10-scaling} で補正してみると $1803.97\times0.8953=1615\ \mathrm{cm^{-1}}$,$4065.05\times0.8953=3639\ \mathrm{cm^{-1}}$,$4164.22\times0.8953=3728\ \mathrm{cm^{-1}}$ となり,実験値との差は 20〜30 $\mathrm{cm^{-1}}$ まで縮む.
注意:スケーリング因子は「手法と基底の組」ごとに決まる経験的な補正であり,密度汎関数法(B3LYPなど)ではもっと1に近い($0.96$〜$0.98$).他人の計算と比べるときは,補正済みの値か生の値かを必ず確認すること.
注意:虚の振動数が出たら平衡構造ではない
振動計算の結果に「虚数の振動数」(出力によっては負の値,$-320\ \mathrm{cm^{-1}}$ のように表示される)が現れたら,それは $k\lt 0$,すなわちその方向にはエネルギーが下がることを意味する.つまり得られた構造は極小点ではなく鞍点である.構造緩和が不十分だったか,対称性の高すぎる初期構造にとらわれた(遷移状態に落ちた)可能性が高い.虚振動のモードの向きに原子を少し動かしてから,もう一度構造緩和をやり直すのが定石である.振動計算は「構造緩和がうまくいったかどうかの検算」でもある.
物理的意味:赤外活性・ラマン活性は対称性が決める
計算で出た9本(CH$_4$)や3本(H$_2$O)の振動が,すべて赤外吸収スペクトルに現れるわけではない.赤外光が吸収されるのは,その振動によって双極子モーメントが変化するモードだけである(赤外活性).ラマン散乱では代わりに分極率の変化が問われる(ラマン活性).CH$_4$の場合,対称伸縮 $\nu_1$($a_1$)と変角 $\nu_2$($e$)は振動しても双極子モーメントが生じないため赤外不活性で,赤外スペクトルには $t_2$ の2本($\nu_3,\nu_4$)しか現れない.一方 H$_2$O は3本すべてが赤外活性である.どのモードが活性かは分子の対称性(点群)から機械的に判定できる.その方法が第12章の主題である.
10.9 計算をするときの心構え
最後に,本章で見た具体例から一般化できる「作法」をまとめておく.計算そのものは機械にやらせるべきだが,その結果を信用してよいかを判断するのは人間の仕事である.
10.9.1 基底関数依存性を必ず確かめる
10.3節のグルコースの一件が示すとおり,基底関数の選び方は結論の符号すら変える.実務上の原則は次の3つである.
- 絶対値は比較しない.基底が違えば全エネルギーは何十 eV も変わる(グルコースで 233 eV,CH$_4$ でも STO-3G と 6-31G で 12.3 eV).意味があるのは,同じ基底・同じ手法で計算した2つの状態の差だけである.
- 収束テストをする.STO-3G → 6-31G → 6-31G(d) → cc-pVTZ と基底を大きくしていき,興味のある量(結合長,エネルギー差,振動数)が変化しなくなることを確認する.変化が止まらないうちは,その数値を結論に使ってはいけない.
- 空軌道は特に危ない.10.1節で見たように,最小基底ではLUMOの縮退度さえ変わる.HOMO–LUMOギャップや励起エネルギーを論じるなら,十分大きな基底が要る.
10.9.2 収束条件を意識する
計算には二重のループがあった(10.3節).それぞれに収束条件がある.
- SCFの収束:エネルギー変化や密度行列の変化が閾値(既定では $10^{-9}$ Hartree 程度)を下回るまで繰り返す.収束しない場合は,初期推定を変える,収束加速法(DIIS)の設定を変える,対称性の高すぎる初期構造を崩す,といった対処をする.「収束しませんでした」という出力を見落として結果を使うのが最悪の事故である.
- 構造緩和の収束:力の最大値と,エネルギー変化,原子の変位がすべて閾値を下回ること.
Converged!の表示を必ず確認する. - 比較する2つの計算では,収束条件も揃える.片方だけ緩い条件で止めた計算と比べると,0.1 eV 程度の差は簡単に生まれる.
10.9.3 電荷とスピン多重度は自分で指定する
計算機は「この分子は中性で閉殻だろう」と勝手に判断してくれるが,それが正しいとは限らない.第7章で学んだとおり,スピン多重度は $2S+1$ である.PySCF系のスクリプトでは --spin に $2S$(不対電子の数)を,--charge に電荷を指定する.
| 系 | 電子数 | --charge | --spin($2S$) | 多重度 $2S+1$ |
|---|---|---|---|---|
| H 原子 | 1 | 0 | 1 | 2(二重項) |
| He 原子,CH$_4$,H$_2$O | 偶数 | 0 | 0 | 1(一重項) |
| O$_2$ 分子(基底状態) | 16 | 0 | 2 | 3(三重項) |
| CH$_4^{+}$(光電子で生成) | 9 | 1 | 1 | 2(二重項) |
指定を誤ると,たとえばO$_2$を一重項として計算してしまい,実験と合わない結合長・振動数が出る.O$_2$の基底状態が三重項であることはHundの規則(第9章)から予想できる.計算を始める前に,その系の電子配置を紙の上で考えておくのが正しい順番である.
10.9.4 全エネルギーの内訳を見る
エネルギーがおかしいと感じたら,内訳を見るとよい.第9章で分解した各項が出力できる.
$ python3 calc_pyscf.py --xyz XYZ_CH4-finish.xyz --spin 0 --basis 6-31g \
--decompose-total-energy
Method : RHF
Total Energy : -1093.366788 eV
--- decomposition (eV) ---
Kinetic T : +1094.611539
Nuclear attr. V_ne : -3264.363352
Coulomb (Hartree) J : +888.540843
Exchange K : -178.760384
Nuclear repulsion : +366.604566
--------------------------
Sum : -1093.366788
コード10.16 全エネルギーの内訳.第9章で導いた $E=T+V_{ne}+J+K+E_{\text{核間}}$ の各項が数値として現れる.
ここで交換項 $K=-178.76$ eV が負であること,すなわち交換相互作用が系を安定化していることを確認してほしい.第9章で「同じスピンの電子どうしは互いを避けるので,Coulomb反発の数え過ぎが補正される」と述べた効果が,そのまま数値として現れている.またこの分解は検算にも使える.$T$ と全ポテンシャル $V=V_{ne}+J+K+E_{\text{核間}}$ の比は
$$ -\frac{V}{T}=\frac{3264.363-888.541+178.760-366.605}{1094.612}=1.9989\approx 2 $$となり,Coulomb系の平衡構造で成り立つビリアル定理 $2T=-V$ をほぼ満たしている.この比が2から大きくずれていたら,構造緩和が終わっていないか,計算のどこかが壊れていると判断できる.
10.9.5 実験値と比べるときの作法
本章では2回,計算値と実験値を比べた(光電子スペクトルと振動数).どちらの場合も,比べる前に問うべき質問は同じである.
- 同じ量を比べているか.垂直イオン化エネルギーか断熱イオン化エネルギーか.調和振動数か非調和を含む基本振動数か.
- 系の状態は同じか.計算は絶対零度・気相・孤立分子である.実験が水溶液中や結晶中なら,周囲の分子との相互作用(第13章のvan der Waals力や水素結合)が数百 $\mathrm{cm^{-1}}$ 単位で振動数を動かす.
- 手法固有の系統誤差はどちらを向いているか.Hartree–Fockの振動数は高めに出る,Koopmansのイオン化エネルギーは深い準位ほど過大になる,といった系統誤差の向きを知っていれば,ずれを見て慌てずに済む.
- 絶対値が合わなくても,傾向は合うことが多い.置換基を変えたときの振動数の増減,分子を変えたときのHOMOの上下といった相対的な傾向は,絶対値よりずっと信頼できる.マテリアル探索で計算が力を発揮するのはこの点である(文献[9]).
なぜ?:それでも計算する価値はどこにあるのか
これだけ注意事項を並べると,計算などあてにならないように見えるかもしれない.しかし考えてみてほしい.グルコースの分子軌道のエネルギーと形を,実験だけで一つひとつ調べるのはほとんど不可能である.計算なら,実験では分けられないものを分けて見せてくれる——どの元素のどの軌道が,どのエネルギーに,どんな形で存在しているかを.また,まだ合成されていない物質についても答えを出せる.誤差の性質を理解したうえで使えば,計算は「実験の代用品」ではなく「実験では見えない量を見るための顕微鏡」になる.
10.10 まとめと演習
10.10.1 この章のまとめ
- Molcalc(GAMESSベース,STO-3G固定)はブラウザだけで構造最適化・熱力学量・振動数・分子軌道を返す.出力の型を覚えるのに便利だが,基底が固定で原子数の上限もあるため,本格的な計算はPySCFで行う.
- 構造の入手:PubChemで化学名(組成式では候補が多すぎることがある)を検索し,3D ConformerからSDFを保存する.
SDF_{物質名}.sdfと名前を付け替え,sdf2xyz.pyでxyz形式に変換し,VESTAで目視確認する.xyz形式は「1行目=原子数,2行目=コメント,3行目以降=元素記号と座標(Å)」. - 構造緩和:力 $\bm{F}_I=-\partial E/\partial\bm{R}_I$ がゼロになる点を探す(第8章).D-グルコース(24原子)ではSCFが23回繰り返されて収束した.6-31G基底では緩和により $\Delta E=-0.725$ eV(式 \eqref{eq:10-dE631g})と安定化するが,同じ2構造をSTO-3Gで計算すると $\Delta E=+0.349$ eV(式 \eqref{eq:10-dEsto3g})と符号が逆転する.荒い基底では構造の良し悪しの判定そのものが誤りうる.
- 状態密度:$D(E)=\sum_i g_i\delta(E-\epsilon_i)$(式 \eqref{eq:10-dos-delta}).分子では離散準位をGauss関数で幅 $\sigma$ にぼかして描く(式 \eqref{eq:10-dos-gauss}).Löwdin射影(式 \eqref{eq:10-lowdin})により元素別・軌道別のPDOS(式 \eqref{eq:10-pdos})が得られる.グルコースのHOMOは主にO-$2p$とC-$2p$からなる.
- CH$_4$の分子軌道:$-25.71$ eV に $a_1$(電子2個,$s$ 成分100%),$-14.76$ eV に3重縮退した $t_2$(電子6個,HOMO,C-$2p$とH-$1s$の結合性),$+6.92$ eV に $a_1^{*}$(占有数0,LUMO).$a_1$ と $t_2$ が混ざらないのは対称性による(第12章).
- 光電子スペクトル:Koopmansの定理 $I_i=-\epsilon_i$(式 \eqref{eq:10-koopmans})により,軌道エネルギーがイオン化エネルギーと対応する.CH$_4$では $T_2$ バンドと $A_1$ バンドの面積比が 3:1 になり,計算と実験が一致する.横軸はイオン化エネルギーである.
- 波動関数の可視化:cubeファイルをVESTAで開き,等値面を見る(黄=正,青=負).結合の途中に節面がなければ結合性,あれば反結合性.グルコースのHOMOはC-$2p$どうしの $\sigma$ 結合性とC-$2p$/O-$2p$の $\pi^{*}$ 反結合性が共存する.厳密な解析には重なり密度やCOHP(第1章)が要る.
- 振動準位:調和近似 $U=\frac12kx^2$(式 \eqref{eq:10-harmonic}),$\omega=\sqrt{k/\mu}$(式 \eqref{eq:10-omega}),$E_n=(n+\frac12)\hbar\omega$(式 \eqref{eq:10-levels}).$1\ \mathrm{eV}=8065.54\ \mathrm{cm^{-1}}$(式 \eqref{eq:10-ev-cm}).H$_2$Oの実験値 1595, 3657, 3756 $\mathrm{cm^{-1}}$ に対し計算値は 1804, 4065, 4164 $\mathrm{cm^{-1}}$ と約10%高く,スケーリング因子 $0.895$ で補正できる.虚振動が出たら平衡構造ではない.
10.10.2 演習問題
演習10.1 メタンのxyzファイルを手で書く
C–H結合長を $1.087\ \text{Å}$ とする正四面体形のCH$_4$について,C原子を原点に置いたxyzファイルを作れ.次に,そのファイルをVESTAで開き,H–C–H結合角が $109.47^\circ$ になっていることを確かめよ.
ヒント:立方体の頂点を交互にとると正四面体になる.C を原点,4個の H を $(d,d,d)$, $(-d,-d,d)$, $(-d,d,-d)$, $(d,-d,-d)$ に置けばよい.原点からの距離が $\sqrt{3}\,d=1.087$ Å となるように $d=1.087/\sqrt3=0.6276$ を選ぶ.結合角は2本のベクトルの内積から $\cos\theta=(d^2-d^2-d^2)/(3d^2)=-1/3$,すなわち $\theta=109.47^\circ$ と検算できる.
演習10.2 基底関数の逆転を説明する
10.3節では,同じ2つの構造(緩和前・緩和後)に対して,6-31Gでは $\Delta E=-0.725$ eV,STO-3Gでは $\Delta E=+0.349$ eV という逆の結論が出た.
(1) この事実は変分原理に矛盾しないことを説明せよ.(2) どちらの結論を信用すべきか,理由とともに述べよ.(3) 「STO-3Gで構造緩和し,STO-3Gで全エネルギーを比較する」という手順なら,少なくとも符号の逆転は起きないはずである.その理由を述べよ.
ヒント:(1) 変分原理が保証するのは「同じ系・同じハミルトニアンに対して,試行関数の空間を広げれば下がる」ことだけである.異なる構造どうしのエネルギー差の精度については何も言っていない.(2) 基底が大きいほど真の値に近いことと,6-31Gが構造緩和にも使われたこと(その基底で力がゼロになる構造)に注目する.(3) 緩和後の構造はその基底の下でのエネルギー極小点だから,他のどの構造よりエネルギーが低い(少なくとも近傍では).手法・基底を一貫させることの意味を述べればよい.
演習10.3 DOSの面積と幅
CH$_4$のDOSを $\sigma=0.300$ eV のGauss拡がりで描いた(図10.3).
(1) $\sigma$ を $0.100$ eV に変えたとき,$-14.76$ eV のピークの高さはいくらになるか.(2) $\sigma$ を変えてもピークの面積が変わらないことを,Gauss関数の規格化から示せ.(3) $-14.76$ eV の3本の軌道は厳密には $-14.76147$, $-14.76090$, $-14.76075$ eV とわずかに異なる.この分裂を図の上で見分けるには $\sigma$ をどこまで小さくする必要があるか.それは現実的か.
ヒント:(1) 高さは $6/(\sigma\sqrt{2\pi})$.(2) $\int_{-\infty}^{\infty}\frac{1}{\sigma\sqrt{2\pi}}e^{-(E-\epsilon)^2/2\sigma^2}\dd E=1$ が $\sigma$ によらないことを使う.(3) 分裂の大きさは $10^{-3}$ eV 以下.この分裂は数値誤差によるもので,対称性からは厳密に縮退しているはずである(第12章).
演習10.4 CH$_4$の分子軌道表を読む
コード10.10の出力について,次を答えよ.
(1) 全電子数を占有数の合計から求め,C原子とH原子4個の電子数の和と一致することを確かめよ.(2) MO 2 と MO 6 は,ともに $s$ 成分100%である.この2つの違いは何か.(3) Koopmansの定理を使って,CH$_4$の第2のイオン化エネルギー(2番目に浅い準位からの電離)を予言し,図10.5の実験スペクトルと比べよ.(4) MO 3–5 の $p$ 成分が 0.5725 であることから,$t_2$ 軌道におけるC-$2p$とH-$1s$の寄与の比を述べよ.
ヒント:(2) 図10.6と例題10.7を参照.結合性と反結合性,節面の有無で答える.(3) $-\epsilon$ が2番目に小さいのは $a_1$($-25.71$ eV).実験の $A_1$ バンドは 23 eV 付近.(4) $t_2$ にはC-$2s$は対称性のため入れない.したがって $s$ 成分 0.4275 はすべてH-$1s$由来と考えてよい.
演習10.5 振動の力の定数と同位体効果
(1) CH$_4$の反対称伸縮(実験値 $3019\ \mathrm{cm^{-1}}$)を局所的なC–H振動子とみなし,力の定数 $k$ を求めよ($m_{\mathrm{C}}=12.000$, $m_{\mathrm{H}}=1.008$).
(2) 水の重水素置換体 D$_2$O のO–D伸縮振動の波数を,力の定数が同位体置換で変わらないと仮定して予言せよ($m_{\mathrm{D}}=2.014$).
(3) CH$_4$の9個の振動モード(表10.4の計算値,縮退度も込み)から,零点エネルギーの合計を eV と kJ mol$^{-1}$ で求めよ.表10.1の振動エンタルピー 119.28 kJ mol$^{-1}$ と桁が合うことを確かめよ(基底が違うので完全一致はしない).
ヒント:(1) 例題10.8と同じ手順.$\mu=12\times1.008/13.008=0.9298$ u.答えは約 $500\ \mathrm{N\,m^{-1}}$.(2) 力の定数が同じなら $\omega\propto1/\sqrt{\mu}$ なので $\tilde\nu_{\mathrm{OD}}=\tilde\nu_{\mathrm{OH}}\sqrt{\mu_{\mathrm{OH}}/\mu_{\mathrm{OD}}}$.$\mu_{\mathrm{OH}}=0.948$ u,$\mu_{\mathrm{OD}}=1.789$ u なので比は $0.728$,答えは約 $2660\ \mathrm{cm^{-1}}$(実測 $2671\ \mathrm{cm^{-1}}$).(3) $\sum_{\text{modes}}\frac12 hc\tilde\nu$ を式 \eqref{eq:10-ev-cm} で eV に直し,$96.485$ を掛けて kJ mol$^{-1}$ にする.縮退したモードは縮退度の回数だけ足すこと.
演習10.6 自分で分子を1つ選んで計算する
PubChemから好きな分子(原子数10〜30程度)を選び,次の手順を実行してレポートにまとめよ.
(1) CIDを記録し,SDFをダウンロードして SDF_{物質名}.sdf と命名する.(2) xyzに変換し,VESTAで結合長・結合角を2か所以上測る.(3) 6-31Gで構造緩和し,緩和前後の全エネルギー差を eV と kJ mol$^{-1}$ で示す.(4) DOSとPDOSを描き,HOMO付近がどの元素のどの軌道でできているかを述べる.(5) HOMOとLUMOのcubeを出し,結合性・反結合性を読み取る.(6) 振動数を計算し,実験の赤外スペクトル(文献値)と比較して,スケーリング因子を推定する.
ヒント:原子数が増えると計算時間は急激に伸びる.まず10原子程度で全手順を通してから大きな分子に進むこと.(3)では基底を変えても結論が変わらないかを確認するとなおよい.(6)では実験値が見つからなければ,同じ官能基をもつ別の分子の値(たとえばO–H伸縮 $3200$〜$3600\ \mathrm{cm^{-1}}$,C=O伸縮 $1700\ \mathrm{cm^{-1}}$ 付近)と比べるだけでも十分な議論になる.
10.10.3 参考文献
- 原田 義也『量子化学(上巻)』裳華房.——分子軌道法の基礎,CH$_4$やH$_2$Oの分子軌道の扱いが丁寧.
- A. Szabo, N. S. Ostlund『新しい量子化学 — 電子構造の理論入門(上)』東京大学出版会(原著:Modern Quantum Chemistry, Dover).——Hartree–Fock法と基底関数,Koopmansの定理(本章10.6節の導出)の標準的な文献.
- P. Atkins, J. de Paula, Atkins' Physical Chemistry, Oxford University Press.——分子振動,赤外・ラマン分光,光電子分光の基礎.
- F. A. Cotton, Chemical Applications of Group Theory, Wiley.——CH$_4$の光電子スペクトルと分子軌道の対応(図10.5の出典).第12章の主教材でもある.
- 今野 豊彦『物質の対称性と群論』共立出版.——振動モードの分類と赤外活性・ラマン活性の判定.
- Q. Sun et al., "PySCF: the Python-based simulations of chemistry framework", WIREs Comput. Mol. Sci. 8, e1340 (2018).——本章のスクリプトが内部で使っているソフトウェア.
- J. H. Jensen et al., Molcalc — https://molcalc.org/.——10.1節のWebアプリケーション.
- Y. Mochizuki et al., "Chemical bonding analysis...", J. Phys. Chem. C 125, 7959 (2021).——重なり密度・COHP/COBIによる結合解析(10.7節で触れた道具の実例).
- Y. Mochizuki et al., Phys. Rev. Materials 4, 044601 (2020).——計算による新規半導体探索.計算の「相対的な傾向は信頼できる」という10.9節の主張の実例.
- L.-P. Wang and C. Song, "Geometry optimization made simple with translation and rotation coordinates", J. Chem. Phys. 144, 214108 (2016).——10.3節の構造緩和で使われるgeomeTRICの原論文.
- A. W. Potts and W. C. Price, "The photoelectron spectra of methane, silane, germane and stannane", Proc. R. Soc. London A 326, 165 (1972).——図10.5の実験データの出典.
- S. Kim et al., "PubChem 2023 update", Nucleic Acids Res. 51, D1373 (2023).——10.2節で使った構造データベース.
- K. Momma and F. Izumi, "VESTA 3 for three-dimensional visualization of crystal, volumetric and morphology data", J. Appl. Crystallogr. 44, 1272 (2011).——可視化ソフトVESTAの原論文.