GAMESS-USとORCAのインストール on macOS Sierra

環境: 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

(了)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください