環境: macOS Sierra 10.12.1.
GAMESS-USのインストール
参考1: Compiling And Running GAMESS-US (1 May 2013(R1)) On 64-bit Ubuntu 12.X/13.X In SMP Mode
参考2: Installing GAMESS on a linux PC
GAMESSのウェブサイトからソースコードgamess-current.tar.gzを入手します (要登録) (コンパイル済のバイナリもあります).
$ brew install gcc openblas
$ tar xvzf gamess-current.tar.gz
$ sudo mv gamess /opt/
$ cd /opt/gamess
$ ./config
- <return>
- mac64 <return>
- (GAMESS directory?) /opt/gamess <return>
- (GAMESS build directory?) /opt/gamess <return>
- (Version?) 00 <return>
- (gfotran version) 4.9 <return>
- <return>
gfortranのバージョンは本当は4.9ではなく6.2ですが,コンパイルは通りました.もし5.4以降のバージョンを入力したい場合は,/opt/gamess/configのgfortranに関するcaseに自身のバージョンを加える必要があります.
$ cd ddi
$ ./compddi >& compddi.log & (すぐ終了します)
$ mv ddikick.x ..
$ cd ..
$ ./compall >& compall.log & (時間がかかります)
$ ./lked gamess 00 >& lked.log &
最後に /opt/gamess/rungmsを編集します.
set TARGET=sockets set SCR=/tmp set USERSCR=/tmp set GMSPATH=/opt/gamess
/opt/gamessへPATHを通しておきます.
どこかのディレクトリでテストジョブを走らせてみます.コマンドはrungms <インプットファイル> <バージョン> <CPUの使用コア数> >& hoge.log & です.バージョン名とCPU数は省略可能ですが,その場合CPUコア数は1になります (rungmsに書いてある).
$ cp /opt/gamess/tests/standard/exam01.inp .
$ rungms exam01.inp 00 4 &> exam01.log &
exam01.logを見てみると
DDI Process 3: shmget returned an error. Error EINVAL: Attempting to create 160525768 bytes of shared memory. Check system limits on the size of SysV shared memory segments.
というエラーが出ていますので,共有メモリのサイズを増やす必要があります.一時的には sudo sysctl -w kern.sysv.shmmax=303104000(4096の倍数), sudo sysctl -w kern.sysv.shmall=716800(1024の倍数)というコマンドで増やせますが,再起動後にリセットされてしまうので,/etc/sysctl.confファイルを作ります(参考: shmmaxとshmallの設定方法).
kern.sysv.shmmax=303104000 kern.sysv.shmall=716800
これで再起動後も設定が保持されます.
$ rungms exam01.inp 00 4 &> exam01.log &
exam01.logを確認すると,ファイルの最後の方に “ddikick.x: exited gracefully.” とあり,正常に計算が終了していました.
ORCAのインストール
ドイツ・ボン大学の研究グループが開発しているab initio MO計算プログラムです.HF計算は非常に遅いです.4コアで並列しても,Gamess-USの1コアに負けるぐらい.しかし,DFTではGamessよりも若干速いそうです.公式フォーラムに登録するとバイナリ (Mac用は約1.6 GBあります) をダウンロードできます.インストールされたディレクトリを /opt/Orca に移動します.
並列計算のために,Open MPIのウェブサイトから旧バージョンの1.6.5のソースをダウンロードしてコンパイルします.
$ curl -O https://www.open-mpi.org/software/ompi/v1.6/downloads/openmpi-1.6.5.tar.bz2
$ tar xvjf openmpi-1.6.5.tar.bz2
$ cd openmpi-1.6.5
$ ./configure --prefix=/opt/openmpi-1.6.5
$ make -j 8 all
$ sudo make install
WebMOからORCAを使用する場合,Interface Managerでの設定の際にmpivars.shというファイルの場所を書かないといけないので,以下の内容のファイルを /opt/Orca/mpivars.sh として作成します.
#!/bin/bash PREFIX=/opt/openmpi-1.6.5 if [ -z "`echo $PATH | grep $PREFIX/bin`" ]; then export PATH=$PREFIX/bin:$PATH fi if [ -z "`echo $LD_LIBRARY_PATH | grep $PREFIX/lib`" ]; then if [ -n "$LD_LIBRARY_PATH" ]; then export LD_LIBRARY_PATH=$PREFIX/lib:$LD_LIBRARY_PATH else export LD_LIBRARY_PATH=$PREFIX/lib fi fi
並列計算のコア数指定は,インプットファイルに PAL4 (4コアの場合)のように書きます.
# # C6H6 # ! B3LYP cc-pVDZ PAL4
(了)