ECPとスプリットバレンス基底を組み合わせる。
WBCで日本が勝ったのを横目で見つつ、せっせとGAMESSを動かしている自分…マニアはつらいね(何がだ)。
Gaussianでは比較的容易に複合基底(6-31GとLANL2DZで631LANなど)で計算が行えますが、GAMESSではどうするのかを調べてみました。ぶっちゃけ面倒くさいです。
ECPとしては、SBKJCとHWがGAMESSに同梱されていますが、他のECPもEMSL Gaussian Basis Set Order Formから入手可能です。当然、おなじみLANL2DZやStuttgartもあります。ここから入手した生データを使うなら、以下のようにすればOK。例としてUO2(二酸化ウラン)の構造最適化の入力(元ネタはこちら)を。
$CONTRL SCFTYP=RHF RUNTYP=OPTIMIZE MAXIT=200 NZVAR=0 ECP=READ $END
$SYSTEM MEMORY=100000000 $END
$STATPT NSTEP=500 OPTTOL=0.0001 $END
$SCF DIRSCF=.T. DAMP=.T. $END
$GUESS GUESS=HCORE $END
$ECP
U-ECP GEN 78 4
7 ----- g potential -----
-0.22527100 0 4.51627250
-53.78057010 1 368.68769520
-516.30520530 2 112.75767080
-202.67382220 2 30.20329150
-62.56440490 2 10.29783550
-21.55895590 2 3.49105150
-1.53905450 2 1.26683910
8 ----- s-g potential -----
2.61188160 0 257.35294420
81.23566570 1 83.16054280
353.24653640 2 29.72005130
311.92922340 2 6.24821320
-423.55257950 2 4.16346720
293.21608360 2 3.00015110
-21.34425520 2 1.56000000
1.66925480 2 0.87000000
8 ----- p-g potential -----
1.84143880 0 288.72982500
75.70547550 1 76.78384200
288.46016740 2 24.82520030
250.72894290 2 5.12487350
-318.89680610 2 3.76033000
160.08449240 2 2.97617060
33.78018910 2 1.99190170
-2.06999970 2 0.97388320
6 ----- d-g potential -----
2.90820640 0 350.46994070
74.35776280 1 166.70913010
587.11403290 2 85.82061190
317.25436790 2 26.98422550
102.84221170 2 7.15655920
22.42142780 2 1.28408550
7 ----- f-g potential -----
3.93503390 0 251.26707540
64.94341200 1 108.01092180
265.18047760 2 114.80218950
389.42840900 2 39.91125450
153.47672210 2 11.90397840
12.08074440 2 3.38507720
-1.35101380 2 1.26776070
O-ECP NONE
O-ECP NONE
$END
$DATA
UO2 geoopt
C1
U 92.0 -0.0000000934 0.1666684376 0.0000000000
S 4
1 2.444000000 0.2802780000
2 1.433000000 -1.323110000
3 0.6677000000 1.394999000
4 0.2556000000 0.4531230000
S 5
1 2.444000000 -0.8375400000E-01
2 1.433000000 0.6082360000
3 0.6677000000 -0.8184330000
4 0.2556000000 -0.9057530000
5 0.1200000000 1.234020000
S 1
1 0.4000000000E-01 1.000000000
P 3
1 1.138000000 -0.5581500000
2 0.6874000000 0.9701720000
3 0.2506000000 0.5419030000
P 4
1 1.138000000 0.2257630000
2 0.6874000000 -0.4204690000
3 0.2506000000 -0.5459030000
4 0.1200000000 0.7429360000
P 1
1 0.4000000000E-01 1.000000000
D 1
1 0.3826000000 1.000000000
D 1
1 0.1473000000 1.000000000
F 2
1 4.113000000 0.2189930000
2 1.697000000 0.4595390000
F 2
1 0.6774000000 0.4216990000
2 0.2510000000 0.1790660000
O 8.0 1.8892462012 0.1666655491 0.0000000000
TZV
O 8.0 -1.8892461064 0.1666660133 0.0000000000
TZV
$END
ポイントとしては、$CONTRLセクションのECP=READで、$ECPセクションに、ゲットしてきたECPの生データを入れます。ECPを使わない原子はNONEで。
$BASISセクションは使わず、$DATAセクションに基底系は直接入力(規模の大きい錯体だと面倒なことこの上ない)。Uには先に入手したECPデータに一緒に入ってるスプリットバレンス基底のデータを入れ、Oはもとから入っているTZVを利用。
あと、ポイントはもう一つ。$GUESSセクションでGUESS=HCOREとする。デフォルトはHUCKELですが、それでいくと「この系には適してないよ」とかで止まります。HCOREにすると最初のSCFに手間取りますが、2周目以降はスムーズにSCFも収斂して3周で最適化構造となります。
誰か、もっと簡単な方法があれば教えてくれい…
(Pd-η3-アリル錯体なんかで、PdはLANL2DZ,他は6-31+G(d)、って感じの系で)