前回、GAMESS(Firefly, US)における入力ファイルの基本的な書き方について説明しました。今回は、さらにグループやキーワードの意味について説明していきます。一度作成したInputファイルを再利用してキーワードの追加や削除をしたい場合など、これらを理解しておくと非常に効率的です。
tes00

1) グループとキーワードを理解しよう

Inputファイルのグループとは、$に続く文字列のことです(CONTRL, BASISなど)。グループごとに入力するキーワードが決まっており、キーワード=(イコール)の形で条件を指定します。グループとキーワードを書く順番は、特にルールはありません。
inp2-1

2) キーワードの意味を理解しよう

Inputファイル作成ソフト(AvogadroMacMolPltなど)によっては、キーワードの記述が省略されているものもあります。その場合はGAMESSのデフォルト値が指定されています。
具体的によく使われるキーワードを例に見てみましょう。ここでは分かりやすいように、デフォルト値のため省略されるキーワードも表示させています。

inp2-2
 ■ $CONTRLグループ
計算方法と化合物情報を指定します。
例: $CONTRL RUNTYP=OPTIMIZE SCFTYP=RHF  ICHARG=0 MULT=1 MAXIT=30 COORD=UNIQUE $END
1) RUNTYP: 計算の目的を指定します。
OPTIMIZE(構造最適化), SADPOINT(遷移構造探索), HESSIAN(振動数計算), IRC(IRC計算) etc.
2) SCFTYP電子配置(基底配置)を指定します。
RHF(制限HF法), UHF(非制限HF法), ROHF(制限開殻HF法)
3) ICHARG: 系全体の電荷を指定します。
1(一価の陽イオン), -1(一価の陰イオン) etc. ※ICHARG=0(中性)の場合は、書く必要はありません(Input作成ソフトでは通常省略されます。)
4) MULT: 系全体のスピン多重度を指定します。
1(一重項), 2(二重項) etc.
5) MAXITSCF計算の繰り返し回数を指定します。デフォルトは30回です。
30 (繰り返し計算し30回で収束判定の閾値に達しなかったら計算を終了する) etc.
※閾値は$SCFグループを作りNCONV=5の様に指定します。デフォルトでは1.0D-5hartree/bohr(NCONV=5)です。
6) COORD: 分子の座標形式を指定します。
UNIQUE(Cartesian座標), ZMT(Z-matrix)、ZMTMPC(MOPAC形式の Z-matrix) etc.

 

 ■ $BASISグループ
基底関数の情報を指定します。
例:$BASIS GBASIS=N31 NGAUSS=6 $END
$BASIS GBASIS=N31 NGAUSS=6 $END (6-31Gの場合)
$BASIS GBASIS=N31 NGAUSS=6 NDFUNC=1 $END  (6-31Gdの場合)
$BASIS GBASIS=N31 NGAUSS=6 NDFUNC=1 NPFUNC=1 DIFFSP=.TRUE. $END (6-31+Gdpの場合)

 ■ $SYSTEMグループ
システム(メモリや計算時間)に関するパラメーターを指定します。
例: $SYSTEM TIMLIM=3000 MWORDS=250 $END
1) TIMLIM: 計算時間(分)の上限を指定します。デフォルトは600分です。
3000(3000分=50時間経過したら計算を終了する) etc.
2) MWORDS: 計算に使用するメモリー使用量を指定します。デフォルトは1MW(メガワード)=8MB。
250(250MW=2000MB=2GB計算にメモリを使用する) etc.

 ■ $STATPTグループ
構造探索の際の閾値を指定します。
例: $STATPT NSTEP=20 OPTTOL=0.0001 HSSEND=.TRUE. $END
1) NSTEP構造最適化の際の探索回数の上限を指定します。デフォルトは20回です。
20(繰り返し計算し20回で収束判定の閾値(OPTTOL)に達しなかったら計算を終了する) etc.
2) OPTTOL: 収束判定の際の閾値を指定します。デフォルトでは1.0D-4hartree/bohrです。
0.0001(1.0D-4hartree/bohr以下で終了する) etc.
3) HSSEND: 計算終了後に振動数計算(HESSIAN)を実行するか指定します。
.TRUE.(計算をする), .FALSE.(計算しない) 
 

 ■ $DATAグループ
分子座標を記述します。一行下は自由にメモを残せます。通常、Inputファイル名や計算内容をここに記述します。

最初のうちは、だいたいこの5つのグループと10種類程度のキーワードを理解していれば、一度作成したInputファイルに後から自由に手を加えることができるようになるでしょう。例えば、6-31Gd基底で計算し後にディフューズ関数を追加して計算したい場合、InputファイルにDIFFSP=.TRUE.を追加するだけです。また、計算が制限時間内に終わらなかったらInputファイルを開いてTIMLIMの値を大きく書き直すだけです。一々Inputファイル作成用のソフトを起動して入力ファイルを再度作成するより随分と効率的だと思いませんか?
 

3) おわりに

今回は、Inputファイルのグループとキーワードの意味について説明しました。ここで全てを覚える必要はありません。わからなくなったらこのページを見返してください、そのうち自然と覚えていくはずです。
計算が上手くいかない場合、これらパラメーターの変更が必要になります。具体的なエラーに対し、どのパラメーターを調整すればよいかについては、今後詳しく説明していきますので安心してください。また、GUIの設定項目にない便利なキーワードも結構ありますので、これから適時紹介していきます。

【関連記事】
Inputファイルを見てみよう その①~入門編~
SCF計算と構造最適化計算の違いって何? 
GAMESSの入力ファイルに追加・変更したいキーワード8選   
GAMESSの入力ファイルに関する7つの豆知識