Pople 型基底関数

Share This:

6-31G(d,p) に代表される形式で書き表される、John Pople らにより開発された基底関数。量子化学計算においてもっともよく用いられている基底関数の一つである。

背景

量子化学計算の精度について考える時、分子軌道をいかに正確に表現できるかが重要である。分子軌道を完全に再現するためには無数の関数を使う必要があるが、現実的な計算コストの範囲内で、そのような完全基底系を用いることは不可能である。そのため近似的に分子軌道を記述する必要がある。そこで、有限個の関数で軌道を記述する基底関数が数多く研究された。
何個の関数をどのように割り当てるか?など様々なファクターにより種々の基底関数が存在する。学術論文では Pople 型の基底関数や Dunning-Huzinaga 基底関数が用いられることが多い。それは多くの使用例が存在するため、蓄積されたデータに基づいた修正・改良が加えられ正確性が向上しているからである。つまり、

よく使われる → データが蓄積する → 改良される → 更に使われるようになる

というループが生じている。よって、一度メジャーになった基底関数は、次世代の基底関数が出るまでは、メジャーであり続ける傾向が強い!

\bf{STO-nG}

電子の挙動を n 個の GTO (Gauss Type Orbital) で表した ab initio 計算における最小基底関数です(n = 2〜6)。STO5G、STO6G なども知られているが、計算コストの割に計算精度が高くないことから、一般的には STO3G が多く用いられる。

(注) GTO、STO について、後日記事作成の予定。

\bf{k-nlm}G  basis sets

split valence 基底系である。k,n,l,m にはそれぞれ整数が入る。3-21G や 6-31G などが有名である。k は内殻原子軌道を表す GTO の数を表しており、n,l,m は原子価軌道を記述するために使われている関数の数を表している。n,l だけの場合はダブルゼータ型(DZ) であり、n,l,m の 3 つを使う時はトリプルゼータ型(TZ) である。分極・分散関数の指定方法については後述。

以下代表的なものに関して、それぞれの詳細を説明。

\bf3-21G

ダブルゼータ型(DZ)。内殻原子軌道に 3 つの PGTO を用いて、原子価軌道の内側の軌道に 2 つの PGTO を、外側の軌道に 1 つの PGTO を用いる。3-21G と STO-3G は用いられている primitive 関数の数は同じであるが、 3-21G の方が軌道の自由度は高い(下の table 参照)。

\bf6-31G

ダブルゼータ型(DZ)。内殻原子軌道に 6 つの PGTO を用いて、原子価軌道の内側の軌道に 3 つの PGTO を、外側の軌道に 1 つの PGTO を用いている。最もよく使われている基底関数である。短縮後 (contracted) の関数の数は 3-21G と同じだが、primitive 関数の数が多いため、3-21G よりも自由度が高い(下の table 参照)。

(10s4p) → [3s2p] という表記は、左側は primitive 関数の数を表す。炭素原子について考えた場合、内殻原子軌道とは 1s 軌道であるため、6 つの primitive 関数を用いて 1s 軌道を表している。また、6-31G の 31 は、二つの関数により原子価軌道 (2s2p軌道) を表している。二つの関数のうち原子価軌道 の内側軌道を表すのに用いられるのは 3 つの PGTO を短縮したものである。2s2p 軌道を表すために 4 つの primitive関数 が使われている。全てを合計すると s 軌道の表現に 10 個の primitive関数 (1s に 6 個、2s に 4 個)、p 軌道の表現に 4 個の primitive関数を用いているため、(10s4p) という表記になる。また、短縮後(contraction)の関数の数を数えると 1s 軌道に 1つ、2s2p 軌道に二つ用いているため、[3s2p]という表記になる。

\bf6-311G

トリプルゼータ型(TZ)の基底関数。内殻原子軌道に 6 つの PGTO を用いている。原子価軌道は  3 つに分けられ、それぞれ 3 つ、1 つ、1 つの関数で表される。


Rendered by QuickLaTeX.com

分極関数、分散関数

Pople 型の基底関数で分極関数(polarization functions)を用いる場合には、G の後ろに (d) または * などを書き加える。((d) と * の違いについては後述。)分散関数(diffuse functions)を用いる場合には、G の前に + をつける。

例:6-31G(d), 6-31+G(d,p) , 6-311++G(2df,2pd) など

計算する系に応じて分極・分散関数を適切に使用することが大切である。例えば、光などによる励起状態の計算では分散関数を加えることが必要である。(なお、分極関数を加えると計算コストが大幅に増加する。)

細かい基底関数の使い分けについては、こちらを参照してください

(注)分極・分散関数については、後日記事作成の予定。

* の使い方

基本的に * は () 表記と等価である。

6-31G* と 6-31G(d) は等価

6-31G** と 6-31G(d,p) は等価

しかし、例外もある。3-21G 基底関数は小さすぎるため分極関数をサポートしていない。それゆえ、3-21G は sulfoxide や sulfones などの hypervalent molecules の計算には不向きである。しかし、3-21G* は第二周期原子にのみ d 軌道を与えるため、一応 3-21* では sulfoxide や sulfones も計算可能であるが、その場しのぎの手法のため推奨されない。また、3-21G* は 3-21G(*) と表記されることもあるが、両者は等価である。

どのレベルを使えば良いのか?

基底関数のレベルを上げると自由度が高くなるため、軌道の形をより正確に表すことが可能となります。その一方で計算コストが高くなるという問題点があります。

軌道の自由度が低いとどのような問題点があるのか?

例えば、カルボカチオンは一般的には平面構造を取りますが、3-21G 程度のレベルでは平面構造になることができません。そのため、分子の幾何構造だけでなくエネルギー、スペクトルなどの計算もおかしくなってしまいます。カルボカチオンを扱う計算の際には 6-31G(d,p) 以上のレベルが望ましいです。

その他、水素結合を考える際、遷移金属を用いる際、光による励起状態を考える際などには分散関数が必要となります。

このような使い分けに関しては、分極・分散関数を使用しない場合にどのような不具合が起こるかを自分で実際に計算し、体験しておくことが重要だと考えます。また、先行研究においてどのような基底関数が用いられているかを調べておくことも重要です。
細かい基底関数の使い分けについては、こちらを参照してください

関連する記事

汎関数一覧に戻る

計算手法に戻る

間違い等ありましたら、コメントまたはメッセージでお知らせください。

コメントを残す(投稿者名のみ必須)