はじめに
こんにちは,(株)日立製作所 研究開発グループ サービスコンピューティング研究部の露木です。
前回の記事 ではGAMESSをコンパイルして実行可能なDockerイメージを作りました。今回の記事ではこれを利用してベンゼンの電子状態計算を行い,動作確認の代わりとします。
前提とする環境
前回の記事を一通り実行してDockerイメージのビルドが完了していることと,以下の通りカレントディレクトリに必要なファイルが揃っている状態から再開するものとします。もしも,環境準備ができていない場合は前回の内容を実行してDockerイメージをビルドしてください。
$ ls
Dockerfile Dockerfile.base Makefile README.md docker-compose.yml workspace
操作方法
まず以下のコマンドでdockerコンテナを起動し,コンテナ内でシェルにログインしてください。
$ make run
サンプルの入力ファイル c6h6.inp
は初期ディレクトリに準備してあります。
# サンプルの入力ファイルの存在確認
$ ls
c6h6.inp rungms
入力ファイルの内容
c6h6.inp
の中身は以下のとおりです。この入力ファイルはベンゼンに関する HF/6-31G(d) レベルの1点計算を実行せよと指定しています。入力ファイルの詳しい意味に関しては本記事では説明しません。参考文献1かGAMESSのマニュアルを参照してください。
$CONTRL RUNTYP=ENERGY NPRINT=-5 $END
$SYSTEM MWORDS=40 $END
$SCF DIRSCF=.TRUE. DIIS=.TRUE. $END
$BASIS GBASIS=N31 NGAUSS=6 NDFUNC=1 $END
$DATA
C6H6
C1
C 6.0 -0.030544037 00.000000000 -1.409121795
C 6.0 -1.186612730 00.000000000 -0.710957795
C 6.0 1.125524656 00.000000000 -0.710957795
H 1.0 -2.086037837 00.000000000 -1.254130795
H 1.0 2.024949762 00.000000000 -1.254130795
C 6.0 -1.186612730 00.000000000 0.685372205
C 6.0 1.125524656 00.000000000 0.685372205
H 1.0 -2.086037837 00.000000000 1.228545205
H 1.0 2.024949762 00.000000000 1.228545205
C 6.0 -0.030544037 00.000000000 1.383536205
H 1.0 -0.030544037 00.000000000 2.469883205
H 1.0 -0.030544037 00.000000000 -2.495468795
$END
この入力ファイルに記載されている分子構造を可視化すると,以下のようなベンゼンをカーテシアン座標系で表現していることになります。
計算の実行
rungms
スクリプトを実行し,GAMESSによる一点計算を行います。このrungmsスクリプトはGAMESSのソースコードに同梱されているものですが,使いやすいように一部を変更しています。rungms
の1つ目のオプションは入力ファイル (今回の場合はc6h6.inp
) の拡張子を除いたもの,2つ目のオプションは計算の並列度 (プロセス数) です。計算結果はc6h6.out
というファイルに保存されます。
$ ./rungms c6h6 8 > c6h6.out
計算結果の確認
計算結果には多数の情報が含まれていますが例えば,FINAL RHF ENERGY
で検索すれば 8回の繰り返し計算の結果として,ベンゼンの全エネルギーは -230.7019921390 Hartree
に収束したことがわかります。
$ grep 'FINAL RHF ENERGY' c6h6.out
FINAL RHF ENERGY IS -230.7019921390 AFTER 8 ITERATIONS
ここではその他の計算結果の意味は説明しませんが, 出力に exited gracefully
の文字列が含まれていれば,正しく計算が終了したことを意味します。参考文献1には出力ファイルの読み方も記載されておりますので,そちらを参照ください。
$ grep gracefully c6h6.out
ddikick.x: exited gracefully.
おわりに
お疲れさまでした。あとはGAMESSに同梱のドキュメントやWeb上の記事を参考にしていただければ,目的とする分子と物性の計算を行うことができます。