0.はじめに
論文で引用されがちな第一原理計算パッケージは外国のモノ(ABINIT,Quantum ESPRESSO,...)等が多いですが、ここでは日本製の第一原理計算パッケージ"PHASE/0"について紹介します。
1.PHASE/0 2017のダウンロード
プログラムは以下の公式ホームページからダウンロード可能。
https://azuma.nims.go.jp
「プログラムダウンロード」に行きユーザー登録を済ませたら、2018年現在の最新版である
PHASE/0 2017.01フルパッケージ版をダウンロードする。ホームディレクトリにでも置きましょう。
ターミナルで以下のコマンドを叩き、ダウンロードしたphase0_2017.01.tar.gzを解凍する。
$ cd ~
$ tar -zxvf phase0_2017.01.tar.gz
なおWindows版もリリースされているが、シリアル版となっていて要は「お試し版」的な感じらしい。これを機にぜひLinuxライフをおくりましょう。
2.動作環境の構築
2.1.関連パッケージのインストール
環境はCentOS 7(64bit)を想定。まずはソフトをいっぱいインストールします。
$ sudo yum -y install gcc gcc-gfortran
$ sudo yum -y install lapack lapack-devel
$ sudo yum -y install fftw fftw-devel
$ sudo yum -y install openmpi openmpi-devel
2.2.Makefileの作成
src_phaseディレクトリに移動し、コンパイルの準備を行います。
$ cd ~/phase0_2017.01/src_phase
$ sh configure
するといろいろ選ぶように言われるので、
GNU Linux (EM64T/AMD64), GNU compiler collection (gfortran), MPI parallel, Netlib BLAS/LAPACK, FFTW3 library を選んでMakefileを作成しましょう。
2.3.Makefileの編集
よくわからないですが、そのままmakeをたたくとうまくいかないらしいのでMakefileを編集します。
$ vi Makefile
INCLUDE
LIBS
LAPACK
の行を見つけられるはずです。それを
INCLUDE=-I/usr/include
(略)
LIBS = -L./ ${LESM} -L/usr/lib64 -llapack -lblas -lfftw3
(略)
LAPACK =
のようにします。
2.4.環境変数の設定
2.1.でインストールしたopenMPIの実行コマンドmpiexec
を叩けるように環境変数にパスを追加します。
$ vi ~/.bashrc
このファイルの最終行に
export PATH=$PATH:usr/lib64/openmpi/bin
を追加します。
さらに、共有ライブラリに以下を追加します。共有ライブラリの追加は/etc/ld.so.confに書き込みます。
$ vi /etc/ld.so.conf
と叩き、
/usr/lib64:/usr/lib64/openmpi/lib
を追記すればオッケーです。
2.5.PHASE/0のインストール
$ make
文字が大量に流れてきます。ところどころ怪しそうなのが出ますがなんとか大丈夫。
$ make install
実行ファイル(phase,ekcal,etc...)がphase0_2017.01/bin
直下に移動します。おわり。
3.phaseおよびekcalの実行
phase実行コマンド
$ mpiexec -np NP ~/phase0_2016.01/bin/phase ne=NE nk=NK
ekcal実行コマンド
$ mpiexec -np NP ~/phase0_2016.01/bin/ekcal ne=NE nk=NK