GAMESS や Gaussian などの量子化学計算ソフトを触っていると、6-31G や 6-31G(d,p) のような表記をよく見ます。 ただ、最初のうちはこの名前がかなり読みにくいです。
6-31Gの6や31は何を意味しているのか6-31G(d,p)と6-31G*はどう違うのか+や++は何を足しているのか- そもそも、こうした基底関数は何のために選ぶのか
この記事では、このあたりを整理します。 結論を先に言うと、6-31G 系は Pople 系基底関数の一種で、分割原子価、分極関数、拡張関数の有無が名前に埋め込まれていると考えると理解しやすいです。
そもそも基底関数とは何か
量子化学計算では、分子中の電子の波動関数をそのまま厳密に扱うことはできません。 そこで、ある決まった関数の組み合わせで近似します。
このとき使う関数のセットが、基底関数です。
基底関数を変えると、
- 計算コスト
- 分子軌道の表現力
- 構造、エネルギー、電荷分布の精度
が変わります。 つまり、基底関数は「計算条件の重要な一部」です。
基底関数は大きければよいわけではない
一般に、基底関数を大きくすると表現力は上がります。 ただし、そのぶん計算コストも上がります。
そのため実務では、
- 構造最適化の叩き台を作る
- 傾向だけを素早く見たい
- 最終的なエネルギーや物性をもう少し丁寧に出したい
といった目的に応じて基底関数を選びます。
6-31G は Pople 系基底関数
6-31G は、John Pople らの流れにある Pople 系基底関数 の代表例です。 古くから広く使われてきたため、GAMESS や Gaussian の入門例でも頻繁に出てきます。
この系列の特徴は、名前の中に基底関数の構造がある程度そのまま書かれていることです。 最初は暗号のように見えますが、規則が分かるとかなり読みやすくなります。
6-31G は split-valence basis set
6-31G は、よく split-valence basis set、日本語では 分割原子価基底 と説明されます。
ここで大事なのは、内殻と価電子殻を同じ粗さで表さないという点です。 化学結合や反応性に強く関わるのは主に価電子なので、価電子側を少し柔軟に表現したいわけです。
6-31G では、その柔軟さを名前の 31 の部分で表しています。
6-31G の名前はどう読むのか
最初は、まず次のように理解すると十分です。
6: 内殻側を 6 個の primitive Gaussian で収縮した関数で表す31: 価電子側を 2 つに分け、片方を 3 個、もう片方を 1 個の primitive Gaussian 由来の関数で表すG: Gaussian 型関数を使う流儀
厳密な実装や元素ごとの細部まで立ち入ると話はもう少し複雑ですが、最初の理解としてはこれで十分です。
なぜ価電子を分けるのか
価電子は結合や電荷移動に関わるため、内殻よりも柔軟に表現したいことが多いです。 そこで 1 つの関数だけで表すのではなく、複数の大きさの関数を組み合わせて表現力を持たせます。
この考え方が split-valence です。
6-31G は double-zeta 的な分割原子価基底 と見なされることが多く、 6-311G になると価電子側をさらに細かく分けた triple-split valence の表現 になります。 ただし、これは名称上の話であって、現代的な triple-zeta 基底とそのまま同列に置かない方が安全です。
6-31G(d,p) や 6-31G* は何が違うのか
ここで次によく出てくるのが * や (d,p) です。
結論から言うと、これは 分極関数 を追加していることを表します。
分極関数とは何か
分極関数は、電子分布の向きや歪みをより柔軟に表現するための追加関数です。 化学結合では、電子雲は球対称のままではなく、結合方向に引っ張られたり、孤立電子対で偏ったりします。
そうした変形を表しやすくするために、もとの殻より高い角運動量の関数を足します。
たとえば、
- C, N, O のような重原子に
d関数を足す - H に
p関数を足す
といった形です。
6-31G(d) と 6-31G* はほぼ同じ意味
Pople 系では、古い書き方として * がよく使われます。
6-31G*は、だいたい6-31G(d)に対応6-31G**は、だいたい6-31G(d,p)に対応
と理解してよいです。
つまり、
6-31G(d): 重原子にd分極関数を追加6-31G(d,p): 重原子にd、水素にp分極関数を追加
という意味です。
実際には論文やソフトごとに * 表記と (d,p) 表記が混在するので、両方読めるようにしておくと便利です。
+ や ++ は何を意味するのか
さらに 6-31+G(d) や 6-31++G(d,p) のような表記もあります。 この + は 拡張関数 diffuse function を追加していることを表します。
拡張関数は外側に広がった電子分布を表しやすくする
拡張関数は、空間的に広がった電子分布を表しやすくするための関数です。 特に次のような系で重要になります。
- アニオン
- 励起状態
- 水素結合や弱い分子間相互作用
- Rydberg 状態
こうした系では、電子密度が核の近くに強く閉じ込められているとは限りません。 そのため、広がった尾を持つ関数が必要になります。
+ と ++ の違い
Pople 系では大まかに次のように読めます。
+: 重原子側に拡張関数を追加++: 重原子に加えて水素にも拡張関数を追加
したがって 6-31++G(d,p) は、
6-31Gをベースに- 重原子と水素へ拡張関数を足し
- 重原子へ
d、水素へpの分極関数を足した
基底関数ということになります。
よく見る表記をまとめる
代表的な表記を表で整理すると、次のようになります。
| 表記 | 大まかな意味 |
|---|---|
6-31G |
分割原子価基底 |
6-31G(d) |
6-31G に重原子の分極関数 d を追加 |
6-31G(d,p) |
重原子に d、水素に p を追加 |
6-31G* |
ほぼ 6-31G(d) |
6-31G** |
ほぼ 6-31G(d,p) |
6-31+G(d) |
重原子に拡張関数を追加 |
6-31++G(d,p) |
重原子と水素に拡張関数、さらに分極関数も追加 |
6-311G(d,p) |
価電子側をさらに細かく分けた split-valence 系 |
最初は、数字は価電子の分け方、* や (d,p) は分極関数、+ は拡張関数と覚えるとかなり整理できます。
では、どれを使えばよいのか
ここが一番気になるところですが、万能な答えはありません。 ただし、最初の目安としては次のように考えると分かりやすいです。
まずは 6-31G より 6-31G(d) や 6-31G(d,p) を見ることが多い
今どきの DFT 計算では、無分極の 6-31G よりも、
6-31G(d)6-31G(d,p)6-31+G(d,p)
のように、分極関数を入れたものを使うことが多いです。
理由は単純で、化学結合の方向性や電子分布の歪みを表すには、分極関数がかなり効くからです。
アニオンや弱い相互作用では + が効きやすい
アニオンや水素結合、分子間相互作用を見たいときは、拡張関数が必要になる場面が多いです。 この場合、6-31+G(d) や 6-31++G(d,p) が候補になります。
逆に、中性有機分子のざっくりした構造最適化だけなら、そこまで大きくしなくてもよい場合があります。
最近は def2 系や cc-pVnZ 系を選ぶ場面も多い
ここは少し現代的な補足です。 Pople 系は今でもよく見ますが、最近は
- def2-SVP
- def2-TZVP
- cc-pVDZ
- aug-cc-pVDZ
のような別系列の基底関数を使う場面もかなり多いです。
そのため、6-31G 系は
- 入門教材でよく出る
- 古い論文や手順書でよく出る
- 軽めの試算では今も使われる
一方で、最終的な精度評価では他系列も比較候補に入る、という位置づけで捉えるとよいです。
GAMESS ではどう指定するのか
GAMESS では、Pople 系基底関数は GBASIS=N31 と NGAUSS、分極関数の指定などを組み合わせて使うことがあります。 たとえば、6-31G 系を指定するときは N31 系の指定が出てきます。
ここで大事なのは、ソフト上の入力キーワードと、論文や教科書で見る基底関数名が完全に同じ見た目とは限らないことです。 そのため、GAMESS の入力例を見るときは、
- 論文中の
6-31G(d) - GAMESS 入力での
GBASIS、NGAUSS、NDFUNC、NPFUNC、DIFFSP、DIFFSなど
がどう対応しているかを確認する必要があります。
特に気をつけたいのは、NDFUNC だけでは 6-31G(d,p) や 6-31++G(d,p) を再現できないことです。
6-31G(d)なら、重原子側の分極としてNDFUNC=16-31G(d,p)なら、さらに H/He 側の分極としてNPFUNC=16-31+G(d)なら、重原子側の diffuse としてDIFFSP=.TRUE.6-31++G(d,p)なら、DIFFSP=.TRUE.とDIFFS=.TRUE.に加えてNPFUNC=1
のように、重原子側と水素側の指定が分かれます。 そのため、GAMESS では「論文中の表記をそのまま1つのキーワードで入れる」というより、分極関数と diffuse 関数を個別に対応づける意識が大事です。
よくある誤解
6-31G(p,d) ではなく 6-31G(d,p) と書かれることが多い
重原子側、水素側の順で書くことが多いため、通常は 6-31G(d,p) です。 意味が通じる場面もありますが、記事では一般的な表記にそろえた方が読みやすいです。
基底関数を大きくすれば必ず正しいわけではない
基底関数は重要ですが、方法そのもの、つまり
- HF
- DFT
- MP2
などの選び方も同じくらい重要です。 基底関数だけ大きくしても、方法側の限界は残ります。
6-31G は今でも出てくるが、常に第一選択ではない
6-31G 系は歴史的にとても有名なので、入門資料や既存ワークフローで今もよく見ます。 ただし、実務で毎回それが最良とは限りません。
この点を押さえておくと、古い資料を読むときも、最近の論文を読むときも混乱しにくくなります。
まとめ
6-31G や 6-31G(d,p) は、Pople 系基底関数の代表例です。
理解のポイントをまとめると、次のようになります。
6-31Gは split-valence の考え方を持つ基底関数- 数字は主に内殻と価電子の表し方を示している
d,pや,*は分極関数+,++は拡張関数6-311Gは価電子側をさらに細かくした系列
最初の理解としては、 「数字は分け方、* は分極、+ は拡張」 と押さえておくと十分です。
次に GAMESS や Gaussian の入力例を見るときに、この名前がただの暗号ではなく、計算条件の意味を持った表記として読めるようになります。
コメント