LoginSignup
2
2

More than 5 years have passed since last update.

Pythonベースの密度汎関数法ソルバGPAWをUbuntuにインストール

Posted at

1. 目的

  • Pythonベースの密度汎関数法ソルバのひとつであるGPAWをUbuntu17.10にインストールしました.
  • GPAWはpipでのインストールも提供してくれているのですが,私の環境では並列計算がうまくいかなかったため,記事化してみました.

2. 方法

  • 今回は依存ライブラリをインストールした後にコンパイルする手法を取りました.
  • GPAWのドキュメンテーションに記載はあるので(Link),本記事はその補助になれば良いかと思います.

2.1. 依存ライブラリのインストール

以下のライブラリをインストールします.(該当GPAWドキュメンテーション(Link))
‐ aptでインストール:BLAS, LAPACK, BLACS, Scalapack, OpenMPI
- pipでインストール:numpy, scipy, ase
- ソースからコンパイル:LibXC

LibXCのみソースファイルからコンパイルを行いました.
詳細はGPAWドキュメンテーション(Link)参照ですが,
①LibXCのサイトから圧縮ファイルをダウンロード(Link)
②tarで解凍し,コンパイル実行(Link)
でうまくいきました.
コンパイルで規定のフォルダ以外にライブラリ作成した場合は環境変数の設定が必要になります(今回はLibXCにてLD_LIBRARY_PATHを追加する必要あり).

2.2. GPAWのコンパイル

ドキュメンテーションには複数の方法が列挙されているのですが,並列版のインストールはgit cloneでレポジトリをダウンロード→コンパイル→環境変数設定の手順でうまくいきました.
①gitによるダウンロード

git clone https://gitlab.com/gpaw/gpaw.git

②customize.pyの変更

customize.py
...
Scalapack = True
...
# - dynamic linking (requires rpath or setting LD_LIBRARY_PATH at runtime):
if 1:
...

③Developer Installation(Link)に従ってsetup.pyを実行

python3 setup.py build_ext

④環境変数を追加すれば,並列版のgpawコマンド(gpaw-python)が実行可能となります.

a1. GPAWについて

  • GPAWはASE, Atomic Simulation Environmentとネイティブに連携が取れる点が非常に良いと思います.原子操作‐エネルギー計算‐ポスト処理をPythonで一括に回せるので,他のPythonライブラリと繋げて…などいろいろ面白そうな計算ができます.
2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2