freqmem

freqmemユーティリティでは振動数計算に関するパラメータを与えると,1回の処理で全ステップを計算してしまう最も効率的な方法で必要なメモリ量を見積もることができます。パラメータは全て,コマンドラインで次のように指定する必要があります:

freqmem natoms nbasis r|u c|d functions

ここでこれらの引数は:

natoms
分子内の原子数

nbasis
用いた基底関数系での系の基底関数の数

r|u
RHF(閉殻)かUHF(開殻)を指定する1文字コード

c|d
従来式かダイレクトアルゴリズムのどちらを用いて計算するのかを指定する1文字コード

functions
用いた基底関数系における基底関数のタイプを指定する文字列: sp, spd, spdfなど

例えば次の例では, タキソール(taxol; 113原子)のRHF/STO-3G振動数計算に必要なメモリ量を見積もります:

$ freqmem 113 361 r d sp
 RHF direct frequencies with sp functions:
 One pass requires 44.80 megawords.

この例では,1回の処理で振動数計算を行うのには約360MBのメモリが必要であることが出力されています。

freqmemで示されたメモリ量が確保できない場合,振動数計算は複数回の処理を用いて実行されます。 %Mem Link 0 コマンドを用いて,利用可能なメモリ量を指定します。このパラメータをfreqmemで必要だと示されたメモリ量の半分か1/3にするのが,たいていの場合で良いでしょう。

Gaussianでの計算に用いられた基底関数の数は,出力ファイルの始めのほうに表示されます。調べたい場合にはインプットファイルで,%KJob=301 Link 0コマンドを入れておけば,プログラムはLink 301に達したら(計算を始めてすぐです)すぐに終了します。指定した基底関数系における計算する分子での基底関数の数は,ログファイルから次のようなコマンドを使えば取り出すことができます:

$ grep "basis func" name.log
     361 basis functions         1083 primitive gaussians