HOME > システム > SR11000 > システムに関する情報 > Gaussian03の利用について

Gaussian03の利用について

 一般的非経験分子軌道計算プログラムGaussian03をスーパーコンピューターSR11000上のプログラムライブラリーとして2005年3月25日に公開しました。Gaussian03を実行するためのジョブの作成と使用方法について簡単に説明します。但し、Gaussian03自体の内容や計算方法、入力ファイルの書き方に関しては触れませんので詳細は以下に示す文献を参照して下さい。


本センターにおけるGaussian03のバージョンは、「Gaussian03 Revision E.01」(2009.05)です。本ライブラリーは1ノードによる逐次実行版(並列版ではありません)で、プログラムは要素並列化されており、32bitモードで動作します。また、ソースプログラムは非公開です。


参考文献
 [1] Gaussian03 User’s Reference    (Manual Version: 7.0 Mar.2003)
 [2] Gaussian03 Programmer’s Reference (Manual Version: 7.0 Mar.2003)
 [3] Gaussian03 IOps Reference      (Manual Version: 7.0 Feb.2003)
 [4] 電子構造論による化学の探求 第二版  James B.Foressman、AEleen Frisch 共著 田崎健三 訳


Gaussian Inc.(ガウシアン社)から上記のマニュアルと解説書が出版されています。[1]、[2]、[3]は英文です。[2]はソースプログラムの解説書なので一般利用者には必要ないでしょう。[4]は入門用解説書です。これらはシステム運用係で管理しており、本センター内にて閲覧可能です。閲覧希望の方は本センター1F受付までお申し出下さい。


また、以下のWebページからGaussian03に関する様々な情報を得ることができます。
  http://www.gaussian.com/
なお、Gaussian03を使用して得られた計算結果や成果を公表する場合には、以下のWebページに従って文献の引用を行うようにして下さい。
  http://www.gaussian.com/citation.htm

スクリプトファイルの作成

 Gaussian03はバッチジョブ(NQS)で実行する必要があります。バッチジョブで実行するには環境変数の設定や入出力ファイルを記述するスクリプトファイルを作成する必要があります。以下にスクリプトファイルの例を挙げ説明します。


 #!/bin/csh … (1) シェルの宣言
 #@$-q parallel … (2) キューの選択
 #@$-N 1 … (3) ノード数
 #@$-lT 00:30:00 … (4) 経過制限時間(ここでは30分)
 #@$-lM 50GB … (5) メモリーサイズ
 #@$-ls 1536MB … (6) スタックサイズ
 source /usr/local/g03/bsd/g03.login … (7) 環境設定
 cd gaussian/test … (8) 入力ファイルの場所
 g03 < test178.com > test178.log … (9) プログラムの起動


(1)スクリプトファイルをCシェル「/bin/csh」で記述することを宣言します。
 (本スクリプトではsource等Cシェルのコマンドを使用しています。)
(2)プログラムが要素並列化されているため、ノード専有可能なキューを指定します。P001の場合は「parallel」を、S1・H1の場合はそのまま「S1」または「H1」を指定します。(参考 表1.ジョブクラス制限値(抜粋))
(3)並列版ではないためノード数は「1」ノード固定です。
(4)ジョブの実行時間を制限します。通常は省略可能です。(計画停止時刻(qstat コマンドで確認)が迫っているときはこれを残り時間以内に設定しないとジョブが実行しません。)
(5)ジョブの実行に必要なメモリーの大きさです。通常は省略可能です。
(6)スタックサイズの標準は1GB、最大は2GBです。標準で足りない場合は2GB以内の値を指定してください。
(7)コマンドパスなど各種環境変数を設定します。
(8)入力ファイルのある場所までディレクトリーを移動します。
(9)プログラム g03 を起動します。入力ファイル及び出力ファイルを以下のようにリダイレクションで指定することができます。
   g03 < 入力ファイル > 出力ファイル
  「> 出力ファイル」を省略すると実行結果はジョブの標準出力ファイルに出力します。


表1.ジョブクラス制限値(抜粋)
キュー名 CPU数 ノード数 制限時間
(経過時間)
メモリー
容量(GB)
パーソナル グループ 研究室
コース1 コース2 コース3 コース4 コース1 コース2
S1 8 1 2時間 56(56) ×
H1 1 24時間 × ×
(parallel)
P001
16 1 24時間 112(112) × ×

プログラムの実行

 スクリプトファイルが完成したらファイル(以下の例では job.csh)に保存し、バッチシステムにジョブを投入します。ジョブの投入は以下のようにqsubコマンドで行います。実行状況はqstatコマンドで確認して下さい。


 % qsub job.csh
 Request 427.n121 submitted to queue: P001.


 % qstat
 2007/04/03 (Tue) 10:34:31: REQUESTS on SR11000
 NQS schedule stop time : 2007/04/29 (Sun) 8:30:00 (Remain: 621h 55m 29s)
  REQUEST  NAME  OWNER  QUEUE PRI NICE CPU  MEM  STATE
   427.n121  job.csh  p07000  P001  63  0  unlimit 50GB RUNNING


1.のスクリプトファイルの場合、ジョブが終了すると以下のファイルが作成されます。エラーメッセージが出ていないか各ファイルを確認して下さい。


 job.csh.o427 … ジョブの標準出力
 job.csh.e427 … ジョブの標準エラー出力(空の場合は作成されません)
 test178.log … Gaussian03の出力ファイル


エラーがなければ出力ファイルに計算結果が出力され,標準出力のファイルは空になります。


ジョブをキャンセルする場合には以下のようにします。


 % qdel 427
 deleting request 427.n121.

実行時のエラー

 Gaussian03実行後は、出力ファイル(Gaussian03の出力ファイル、ジョブの標準・エラー出力ファイル)のメッセージを確認して下さい。なお、問題解決には、入力ファイル中のルートセクションの記述を #(標準)や #T(簡略化した出力)ではなく#P(詳細の出力)としてみることも必要です。

ファイル属性

 Gaussian03で作成されるファイルは、センターでの運用上の都合上、グループ属性が "gaussian" となりますので、御了承下さい。

テスト用入力ファイル

 Gaussian03が用意しているテスト用の入力ファイルが以下にあります。参考文献[1]の「Chapter 6 Running Gaussian Test Jobs」にこれに関する記述があります。
   /usr/local/g03/tests/com/testxxx.com(xxx は 000~718)