外部の基底ファイルの読み込み法
忘れないうちに書いておく方針で…
GAMESSでは、$BASISセクションでEXTFIL=.T.を指定することで外部ファイルから基底を読み込むことができます。
例えば、WinGAMESSで、実行ファイルのあるフォルダ(多くはC:\WinGAMESS)の中に「extbas」というフォルダを作成し、その中に外部基底関数ファイル「extbas.txt」を入れたとします。
その場合、runscript.csh(gamess.0x.exeと同じフォルダ内にある)をエディタで開いて、「setenv EXTBAS」の行を、
setenv EXTBAS $GMSPATH/extbas/extbas.txt
とします。そして、そのextbas.txtは例えば
Pd LANL2DZ
S 3
1 2.787000000 -1.610239300
2 1.965000000 1.848984200
3 0.6243000000 0.6037492000
S 4
1 2.787000000 1.354077500
2 1.965000000 -1.678084800
3 0.6243000000 -0.8559381000
4 0.1496000000 1.020029900
S 1
1 0.4360000000E-01 1.000000000
P 3
1 5.999000000 -0.1034910000
2 1.443000000 0.7456952000
3 0.5264000000 0.3656494000
P 2
1 0.7368000000 0.7632850000E-01
2 0.8990000000E-01 0.9740065000
P 1
1 0.2620000000E-01 1.000000000
D 3
1 6.091000000 0.3761460000E-01
2 1.719000000 0.5200479000
3 0.6056000000 0.5706071000
D 1
1 0.1883000000 1.000000000
C LANL2DZ
S 7
1 4233.000000 0.1220000000E-02
2 634.9000000 0.9342000000E-02
3 146.1000000 0.4545200000E-01
4 42.50000000 0.1546570000
5 14.19000000 0.3588660000
6 5.148000000 0.4386320000
7 1.967000000 0.1459180000
S 2
1 5.148000000 -0.1683670000
2 0.4962000000 1.060091000
S 1
1 0.1533000000 1.000000000
P 4
1 18.16000000 0.1853900000E-01
2 3.986000000 0.1154360000
3 1.143000000 0.3861880000
4 0.3594000000 0.6401140000
P 1
1 0.1146000000 1.000000000
H LANL2DZ
S 3
1 19.23840000 0.3282800000E-01
2 2.898700000 0.2312040000
3 0.6535000000 0.8172260000
S 1
1 0.1776000000 1.000000000
のような形式で書きます。元素記号の隣りに基底関数の名前(ここでは例のサイトから引っ張ってきたLANL2DZ ECPなのでLANL2DZとしています)を入れていることに注意。
そして、入力ファイルからは
$BASIS EXTFIL=.T. GBASIS=LANL2DZ $END
として引っ張り込みます。
典型的な入力例はこちら。
-------------------------
追加。とりあえず使える外部ファイルを作成しました。(本ファイルを利用したことによる不具合・不利益について一切関知しません。利用する際は自身の責任でお願いします)
extbas.txt
改行コードがLFなので、Windowsのメモ帳で開くと変になります。Terapadなんかで開いてください。改行コードをLFにするのはUnix的仕様。Cygwinアプリでありがちかも。
中を見たらわかりますが、3種類の基底系が入ってます。321LAN, 631dLAN, 6311dLANの3つ。それぞれがどういう構成かはファイルのヘッダを参照してください。LANL2DZのECPを$ECPセクションで入力するのが必須です(Lan基底由来の元素に関して)。
このextbasファイルを利用した入力例はこちら。