C
C++
Fortran

第一原理計算ソフトウェア'PHASE/0'をCentOS7にインストール

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