Master3’s blog

LaTeXやExcelVBAなどの作例集

LaTeX作例18(3.6.1 短縮 Gauss 型関数)

  • 量子化学に関する本を引用し、僕が書いたLaTeXの作例を紹介します
  • ポイントとしては、ルビをふる箇所です

    \ruby{Pople}{ポープル}

    とすることで、(Pople)に(ポープル)というルビをふれます。
  • プリアンブルは全部コピペして使ってるので、かなり余計なものも混ざってます。すいません
  • パッケージは基本的にデフォルトで入ってるやつが使われていると思います(たぶん)
  • ページ番号は原典と異なります
  • 『新しい量子化学―電子構造の理論入門』

    出版社 ‏ :  東京大学出版会 (1987/7/1)
  • 発売日 ‏ :  1987/7/1
  • 言語 ‏ :  日本語
  • 単行本 ‏ :  303ページ
  • ISBN-10 ‏ :  4130621114
  • ISBN-13 :  978-4130621113
  • [http://:title]

    3.6.1.tex - Google ドライブ

  • \documentclass{jsarticle}

    \usepackage{mathrsfs}

    \usepackage[dvipdfmx]{graphicx}

    \usepackage{parskip}

    \usepackage{indentfirst}

    \usepackage{amsmath,amssymb}

    \usepackage{braket}

     

    \usepackage{calligra}

    \usepackage{calrsfs}

    \usepackage{mathrsfs}

     

    \usepackage{bm}

    \usepackage{okumacro}

    \begin{document}

     

    \section*{3.6 多原子系の基底関数}

     

    \parindent=1zw

     

    多原子系の計算のために定義された基底関数系は、おそらく量子化学者の数と同じくらいたくさんあるであろう。しかし、基底関数系の選択は、最初のうちは“魔術”としか思えないかもしれないが、そうではない。私たちの計算例では、この節で詳しく紹介する一連の基底関数系を用いる。この一連の基底関数系はSTO-3G基底関数系にはじまり、実質的に関数の数が2倍になった4-31G基底関数、つぎに2倍基底関数にC, N, OおよびFといった重原子に対しては$d$型の関数を加えた6-31G*基底関数、最後に2倍基底関数に重原子に対しては$d$型の関数、Hにたいしては$p$型の関数を加えた6-31G**基底関数へと進んでいく。いくつかの分子について、この一連の基底関数を用いた電子構造の計算を行うことによって、要求される計算精度を得るために必要な基底関数系の大きさと特性について、見通しを得ることができよう。

     

    上述の基底関数系は、\ruby{Pople}{ポープル}とその共同研究者による論文(この章の終りの参考文献参照)の中で定義され、多数の研究者によって非常に多くの種類の分子の計算に対して用いられてきた。わずかの例外を除けば、この本におけるすべての計算はSTO-3G、4-31G、6-31G*、および6-31G**の基底関数系を用いている。計算例を、非常に限られた分子の組と上記の基底関数系に制限することによって、基底関数の特性がいかに計算結果に影響を与えるかということを系統的に例示していく。しかし、現在行われている計算の全体的な総説を行うつもりはない。そういった総説はたちまち時代遅れになってしまうおそれが大きい。ここで用いる基底関数系は必ずしも最適なものでもないし、まもなく時代遅れになってしまうかもしれないが、様々な基底関数系に共通な特性を明らかにするのには役立つであろう。

     

    この節の目的は、この章およびその後の章で用いるSTO-3G、4-31G、6-31G*、および6-31G**をはっきりと定義することである。その過程において、現在使われているほとんどの基底関数系がもつ特性を説明し、いくつかの記法と、基底関数を定義し選択するための方法を紹介する。短縮の一般的方法についても述べる。

    \subsection*{3.6.1 短縮Gauss型関数}

     

    3.5.1節において、モデル計算に用いる1$s$ STO-3G基底関数を定義したときに、短縮という概念に関する重要ないくつかの考え方を述べた。ここでそれをざっと見直しておこう。基底関数の選択には2つのおもな考慮すべき事柄がある。その第1点は可能な限り能率的で精度の高い関数系を使いたいということである。つまり展開

    $$\psi_i=\sum_{\mu=1}^KC_{\mu i}\phi_\mu\eqno(3.282)$$

    が分子軌道$\psi_i$を正確に表現するために必要とする項数を可能な限り少なくしたいということである。この考え方によれば、Gauss型関数よりもSlater関数の方が優れている。基底関数で考慮すべき第2の点は、2電子積分の計算の速さである。この点では、Gauss型関数の方に利点がある。短縮Gauss型関数を基底関数系として使うことによって、ある意味ではケーキを持ってそれも食べることができる(“一石二鳥”の効果を得ることができる)。ここでは、各基底関数はGauss型関数(原始Gauss型関数)のあらかじめ定められた線形結合(短縮)とする。計算を行う前に、基底関数系が求められている性質をもつように、原始Gauss型関数の軌道指数と短縮係数を選んでおく。短縮基底関数は、Slater関数、Hartree-Fock原子軌道、あるいは希望するほかの任意の関数の組を近似するように選ぶことができる。この基底関数についての積分は、原始Gauss型関数についての積分の和となる。1個の基底関数の積分に対して多くの原始Gauss型関数を含む積分が計算されなければならなくなるが、原始関数の積分を計算する方法が非常に速ければ基底関数の積分は高速に計算される。

     

    多数の$\phi$の混同を避けるため(原始関数と短縮関数を区別するため)に、ここでは規格化された(原始)Gauss型関数に対して記号$g$を使う。したがって、短縮は

    $$\phi_\mu^{\rm CGF}(\bm{r-R}_A)=\sum_{p=1}^Ld_{p\mu}g_p(\alpha_{p\mu},\bm{r-R}_P)\eqno(3.283)$$

    と書ける。ここで、$\alpha_{p\mu}$と$d_{p\mu}$は短縮軌道指数と短縮係数で、$L$は短縮の長さである。規格化された原始Gauss型関数は、1$s$, 2$p$, 3$d$, $\cdots$型の関数

    \begin{flalign*}

    &&g_{1s}(\alpha,\bm{r})&=(8\alpha^3/\pi^3)^{1/4}e^{-\alpha r^2}&\text(3.284)\\

    &&g_{2p_x}(\alpha,\bm{r})&=(128\alpha^5/\pi^3)^{1/4}xe^{-\alpha r^2}&\text(3.285)\\

    &&g_{3d_{xy}}(\alpha,\bm{r})&=(2048\alpha^7/\pi^3)^{1/4}xye^{-\alpha r^2}&\text(3.286)

    \end{flalign*}

    である。これらの関数を用いれば積分計算は簡単になるが、$2s,\;3p,\;\cdots$のGauss型関数を用いるとその簡単化は得られない。したがって、$s$対称性をもつ基底関数、たとえば2$s$、あるいは3$s$ Slater関数を1$s$ Gauss型関数のみを使って展開する。他の対称性の関数の展開についても同様に、$p$対称性の基底関数は2$p$ Gauss型関数のみ、$d$対称性の基底関数は3$d$ Gauss型関数のみで展開する。式(3.283)における原始Gauss関数の原点をあらわす$\bm{R}_p$はほとんどの場合$\bm{R}_A$に等しい。短縮基底関数における原始関数が$\bm{R}_A$と異なる原点をもつのは、Gauss型ローブ基底関数系の場合だけである。この基底関数系では、$s,\;p,\;d,\;\cdots$関数を空間の適当な場所に置かれた球対称な1$s$ Gauss型ローブ関数の線形結合で近似する。たとえば、2$p$Gauss型軌道は小さな距離を隔てて置かれた、互いに反対の符号をもつ2個の1$s$ Gauss型ローブによって近似することができる。しかし、この本では、これ以上Gauss型ローブについては考えない。

     

    短縮を決定するふつうのやり方は、原子のSCF計算の結果を利用するものである。こうした原子の計算では、比較的大型の短縮していないGauss型軌道を用い、すべての軌道指数を最適化して、各原子軌道のSCF係数を決定する。最適化された軌道指数とSCF係数は、後に行われる分子計算で使う、より小型の基底関数系に対する最適な短縮軌道指数と短縮係数を導出するために用いることができる。まず、水素に対する$s$ 型基底関数についてこれを例示しよう。藤永(S. Huzinaga, Gaussian-type functions for polyatomic systems. I, $J. Chem. Phys. \bm{42}:1293(1965).$)は、水素原子のエネルギーを極小にするGauss型関数展開の係数と軌道指数を決めた。4項のGauss型関数を用いると

    \begin{flalign*}

    &&\psi_{1s}(\bm{r})=&0.50907\;g_{1s}(0.123317,\bm{r})\;+\;0.47449\;g_{1s}(0.453757,\bm{r})&\\

    &&&+\;0.13424\;g_{1s}(2.01330,\bm{r})\;+\;0.01906\;g_{1s}(13.3615,\bm{r})&\text(3.287)

    \end{flalign*}

    が得られる。ここでの基底関数系は、$s$対称性をもった4個の関数からなる非短縮基底関数系で、$(4s)$基底関数と呼ばれる。これから得られる短縮基底関数系では、原始関数としては上の4個のGauss型関数を含むが、基底関数の数は減る。4個の原始関数を短縮する方法はたくさんある。基底関数の中に1度以上同じ原始関数があらわれないように、つまり共通部分をもたない原始関数の部分集合を基底関数として使うのがふつうである。分子計算における経験から、1つの有効な短縮方法は、最も広がった原始関数を非短縮のままにしておいて、残りの3個の原始関数を短縮係数が上記の係数(一般の原子の場合にはSCF係数)に等しいとして、1個の基底関数に短縮するものであることがわかった。つまり

    \begin{flalign*}

    &&\phi_1(\bm{r})&=g_{1s}(0.123317,\bm{r})&\text(3.288)\\

    &&\phi_2(\bm{r})&=N\left[0.47449\;g_{1s}(0.453757,\bm{r})\;+0.13424\;g_{1s}(2.01330,\bm{r})\;+\;0.01906\;g_{1s}(13.3615,\bm{r})\right]&\\

    &&&=0.817238\;g_{1s}(0.453757,\bm{r})\;+\;0.231208\;g_{1s}(2.01330,\bm{r})\;+\;0.032828\;g_{1s}(13.3615,\bm{r})&\text(3.289)

    \end{flalign*}

    である。式(3.289)において、短縮係数は再規格化されている。この短縮方法は2個の$s$型関数の短縮基底関数を与える。すなわち、$(4s)$非短縮基底関数から$[2s]$短縮基底関数が得られる。これを$(4s)/[2s]$短縮と書く。

     

    藤永はまた、LiからNeまでの第1周期原子に対して、軌道指数の最適化を行い比較的大型の非短縮Gauss型$(9s\;5p)$基底関数を求めた。\ruby{Dunning}{ダニング}(T. H. Dunning, Gaussian basis functions for use in molecular calculations. I. Contraction of $(9s5p)$atomic basis sets for the first-row atoms, $J.\;Chem.\;Phys.\;\bm{53}:2823(1970).$)は、これら$(9s\;5p)$Gauss型関数の有用な短縮の仕方を提案した。その1例として、酸素原子に対する$[3s\;2p]$短縮基底関数を考えよう。まず9個の$s$型原始関数の3個の基底関数への短縮を考える。原子のSCF計算の結果を調べると、9個の原始関数のうちの1個が酸素原子の1$s$と2$s$の両軌道に大きく寄与していることがわかる。この関数は短縮しないでそのままにしておく。

    $$\phi_1(\bm{r})=g_{1s}(9.5322,\bm{r})\eqno(3.290)$$

    最も広がった2個の原始関数は、1$s$原子軌道には無視しうる寄与しかせず、主として2$s$原子軌道に寄与する。これらは、2番目の短縮基底関数

    \begin{flalign*}

    &&\phi_2(\bm{r})&=N\left[0.59566\;g_{1s}(0.9398,\bm{r})\;+\;0.52576\;g_{1s}(0.2846,\bm{r})\right]&\\

    &&&=0.563459\;g_{1s}(0.9398,\bm{r})\;+\;0.497338\;g_{1s}(0.2846,\bm{r})&\text(3.291)

    \end{flalign*}

    を与える。ここで、0.59566と0.52576は原子に対するSCF計算の2$s$原子軌道における原始関数の係数である。最後の基底関数は残りの原始関数からなり

    \begin{flalign*}

    &&\phi_3(\bm{r})&=N[0.14017\;g_{1s}(3.4136,\bm{r})\;+\;0.35555\;g_{1s}(27.1836,\bm{r})&\\

    &&&\;\;\;\;+\;0.14389\;g_{1s}(81.1696,\bm{r})\;+\;0.04287\;g_{1s}(273.188,\bm{r})&\\

    &&&\;\;\;\;+\;0.00897\;g_{1s}(1175.82,\bm{r})\;+0.00118\;g_{1s}(7816.54,\bm{r})]&\\

    &&&=0.241205\;g_{1s}(3.4136,\bm{r})\;+\;0.611832\;g_{1s}(27.1836,\bm{r})&\\

    &&&\;\;\;\;+\;0.247606\;g_{1s}(81.1696,\bm{r})\;+0.073771\;g_{1s}(273.188,\bm{r})&\\

    &&&\;\;\;\;+\;0.015436\;g_{1s}(1175.82,\bm{r})\;+\;0.002031\;g_{1s}(7816.54,\bm{r})&\text(3.292)

    \end{flalign*}

    である。ここで、0.14017,0.35555などは原子SCF計算の1$s$原始軌道における原始関数の係数である。

     

    同様にして、5個の$p$型対称性の原始関数は2個の基底関数に短縮される。ここで、最も広がった$p$関数は短縮しないままでそのまま

    $$\phi_1(\bm{r})=g_{2p}(0.2137,\bm{r})\eqno(3.293)$$

    にしておいて、残り4個の原始関数を2$p$原始軌道のSCF係数を使って短縮する。

    \begin{flalign*}

    &&\phi_2(\bm{r})&=N[0.49376\;g_{2p}(0.7171,\bm{r})\;+\;0.31066\;g_{2p}(2.3051,\bm{r})&\\

    &&&\;\;\;\;+0.09774\;g_{2p}(7.9040,\bm{r})\;+\;0.01541\;g_{2p}(35.1832,\bm{r})]&\\

    &&&=0.627375\;g_{2p}(0.71706,\bm{r})\;+\;0.394727\;g_{2p}(2.30512,\bm{r})&\\

    &&&\;\;\;\;+0.124189\;g_{2p}(7.90403,\bm{r})\;+\;0.019580\;g_{2p}(35.1835,\bm{r})&\text(3.294)

    \end{flalign*}

     

    この$(9s\;5p)/[3s\;2p]$短縮は、基底関数の総数を24から9に減らす。ここで各$p$軌道は$p_x,\;p_y$および$p_z$の3成分を含んでいる。酸素原子の計算では非短縮、短縮のいずれの基底関数を使ってもほとんど同じ結果を与える。分子の計算においても、短縮による変分的自由度の低下の影響は、そう大きなものではない。たとえば、全く短縮されていない$(9s\;5p/4s)$基底関数(ここでの斜線(/)は、重原子(Li-Ne)用の基底関数と水素原子の基底関数とを分けるために用いられている。)を使った水分子の計算では-76.0133のエネルギーを与えるが、$[3s\;2p/2s]$短縮基底関数は-76.0080のエネルギーを与え、前者を使ったずっと大型の計算よりも0.007\%高いだけである。SCF計算の計算量は基底関数の数の4乗に比例して増大するので、基底関数の32個から13個への減少は大いに価値のあることである。

     

    \end{document}