使用したい基底関数が計算ソフトにデフォルトで組み込まれてない場合は、いったいどうしたらよいのでしょうか?
特にGAMESSの場合、デフォルトで使える基底関数の種類が少ないので、論文などでよく使われている基底関数を使えないと困ってしまいます。
BSE00
今回は、そんな時に役立つ基底関数に関するデータベース;Basis Set Exchange(BSE)の紹介です。

どんなデータが利用できるの?

Basis Set Exchange(BSE)(https://bse.pnl.gov/bse/portal)は、500種類以上の基底関数をさまざまなフォーマットでダウンロードすることができます。William R. Wiley環境分子科学研究所(EMSL)が運営しており、誰でも無料で利用できます。また、ダウンロードだけでなくユーザーは既存の基底関数に注釈を付けたり、新しい基底関数をアップロードしたりすることもできます。
量子化学計算ソフトのフォーマットは、GaussianNWChemGAMESSなど主要な16のソフトに対応しています。


利用方法は?

利用方法は簡単です。ここではGAMESS(US)Firefly(PC GAMESS)を例にダウンロード方法を紹介します。

1) まずはサイト(https://bse.pnl.gov/bse/portal)にアクセスして、左端の赤枠①から好きな基底関数を選びます。次に周期表から計算に使用する元素を選択します(赤枠②)。基底関数に対応している元素にはオレンジ色のスラッシュが描画されており、そのなかから元素を選択すると緑色に反転します。選択し終えたら、赤枠③からダウンロードしたいフォーマットを選択します。
BSE01
GAMESS(US)とFireflyは同じフォーマットなので「GAMESS(US)」を選択します。最後に赤枠④の「Get Basis Set」ボタンをクリックすればOKです。

ちなみに、青枠で囲った「Mor information」で選択した基底関数に関するレファランスや注釈が閲覧できます。
初めて使う基底関数については、特にここを確認するようにすると良いでしょう。また、常用している基底関数についても新しい発見があるかもしれません。

2) 別ウインドウで下記のような画面が開くので、テキスト部分をコピーして、テキストエディッタにコピーしましょう。
ここでは基底関数にcc-pVDZを選択し、H, O, C元素を選んでBASIS.LIBという名称で保存しました。名称はなんでかまいませんが、拡張子は「.LIB」で保存してください。
BSE03
3) ここから少し面倒です。作成した外部基底関数のLIBファイルを編集する必要があります。まずは、最初と最後に記載されている$DATAと$ENDを削除します。次に元素名を元素記号に置き換えて、半角スペースの後に基底関数の名称を記載すれば無事完成です。この作業をすべての元素で行う必要があります。ちなみに、$DATAより上に書いてある基底関数に関する注釈はそのままでもかまいません。
BSE02
4) 元素記号の隣に半角スペースで記載した基底関数の名称は、GAMESSのinputファイルで読みこませる時に必要になります。8文字以下であれば自分の好きに記載してOKです。
外部基底関数を利用した具体的な計算の実行方法は以下の記事を参照してください。
http://pc-chem-basics.blog.jp/archives/2331925.html

さて、ここで少し便利な方法を紹介したいと思います。すべての元素名と基底セットの名称をいちいち記載するのは面倒ですよね。そこで利用したいのが、Firefly(PC GAMESS)のHPです。
幾つかの基底関数系の完成したライブラリーファイル(.LIB)がダウンロードできます。
BSE004
Topページの左側にあるDownloadボタンから、利用規約に同意して移動するページの下の方にリンクがあります。
例えば、今回作成したDunningらのcc-pVXZ(X=D, T, ….)シリーズの基底関数は赤枠で囲ったリンクからダウンロードできます。対応する元素全てが記載されているので、ダウンロードしたらすぐに利用できます。

cc-pVXZシリーズのダウンロードリンクを貼っておきます。
http://classic.chem.msu.su/gran/gamess/pvxz.zip


おわりに

今回は、基底関数に関するデータベースであるBasis Set Exchangeについて紹介しました。最近、GAMESS(US)にはDunningらのcc-pVXZシリーズがデフォルトで使用できるようになりましたが、Firefly(PC GAMESS)では外部基底関数として読み込む必要があります。頻繁に使用される基底系なので、Fireflyにもそろそろデフォルトで組み込んでほしいところです。
論文などの計算例を参考に計算しようとした際に、「ソフトに基底関数が搭載されていない!!」なんて時に重宝するデータベースなのでぜひ活用してみてください。

この記事で使用した計算ファイルを以下に置いておきます。
http://pc-chem-basics.blog.jp/BASIS.LIB

【関連記事】
基底関数はどれを選べばいいの?
外部基底関数を使ってみよう
cc-pVXZ基底関数系を使う際の注意点について