“JOB”って何か知ってます?

[本記事は私が以前書いていたblogからサルベージしたものです]

最近、PC GAMESSのページのNewsで「JOB」という入出力ファイル操作用マクロが公開されました。これ、なかなか楽しいです。いくつかの実例が同梱されてますが、G2に代表される高精度エネルギー法が簡単に実行できるようになります。

とりあえず、以下のようなフォルダ/ファイル構成を前提とします。(ファイルは主要なもののみ示しています)

pcgamess
├gamess.bat (PC GAMESS実行用batファイル)
├pcgamess.exe (実行ファイル)
├JOB.EXE (ファイル操作マクロ)
├JOB.CFG (JOBの設定ファイル)
├test.bat (今回作成したテスト用実行batファイル)
└STENCILS (JOB用テンプレート格納フォルダ,JOB.CFGで指定)
└B3LYP321GD_ESPmap.shb (今回作成したテンプレートファイル)

test.batとして以下の内容を。

@echo off
for %%f in (*.inp) do (echo ##B3LYP321GD_ESPmap %%f > %%f_B3LYP321GD_ESPmap.job & JOB.EXE %%f_B3LYP321GD_ESPmap.job)
del %%f_B3LYP321GD_ESPmap.job
pause

そして、B3LYP321GD_ESPmap.shbとして以下の内容を。

; RB3LYP/3-21G(d) Geometry
;
#copy_f %1 01.inp
#write_s 01.inp $CONTRL RUNTYP=OPTIMIZE DFTTYP=B3LYP5
#modify_g 01.inp $BASIS GBASIS=N21 NGAUSS=3 NDFUNC=1 $END
#comment 01.inp RB3LYP/3-21G(d) geometry optimization
#start 01.inp
;
;
; Electron density
;
#copy_f 01.inp 02.inp
#copy_geo 01.out 02.inp cart
#copy_vec 01.pun 02.inp
#write_s 02.inp $CONTRL RUNTYP=PROP
#ins_g 02.inp after $GUESS $ELDENS IEDEN=1 $END
#ins_g 02.inp after $ELDENS $CUBE CUBE=.T. MESH=COARSE $END
#comment 02.inp Electron density
#start 02.inp
;
;
; Electrostatic potential
;
#copy_f 02.inp 03.inp
#del_g 03.inp $ELDENS
#ins_g 03.inp after $GUESS $ELPOT IEPOT=1 $END
#comment 03.inp Electrstatic potential
#start 03.inp

適当な名前で.inpファイルを入れ、test.batを実行すると、.inpファイルの座標を使ってRB3LYP/3-21G(d)による構造最適化と電子密度/静電ポテンシャルのcubeデータ作成が自動で行われます。まぁ、これは一つの.inpファイルで計算できる内容なので別に大したものではないのですが(Winmostarではpunchファイル内のcubeデータを一つしか読めないので、それ用に別々の計算をする為のマクロです)、少しずつモデル化学の精度を上げながら構造最適化を行ったり、あるモデル化学で構造最適化と振動解析をした後、より高級なモデル化学でエネルギーを計算するといったことを、自動で行うことができるようになります。非常に画期的で、使い方次第でもっといろいろできそうです。

Be the first to comment

Leave a Reply