ダウンロード

ターミナルで以下のコマンドを入力する.

git clone https://github.com/ryokbys/nap.git

このコマンドを実行すると,カレントディレクトリに nap というディレクトリが作成される.

または,GitHub のサイト https://github.com/ryokbys/nap から最新バージョンのソースコードをダウンロードすることもできる.


必要環境

pmd および fitpot は以下のコンパイラおよびライブラリを使用して,Unix/Linux,macOS X(および Windows)上で実行できる(以下は動作確認済みのバージョン).

  • Fortran コンパイラ
    • GNU Fortran (9.3.0)
    • Intel Fortran (19.0.4.243)
    • PGI Fortran (19.9)
    • FUJITSU Fortran (4.2.1)
  • MPI ライブラリ
    • OpenMPI (4.0.3)
    • Intel MPI (19.0.4.243)

nappy ユーティリティプログラムを使用するには Python-3.x.x が必要であり,以下の Python パッケージに依存する.

  • numpy
  • scipy
  • pandas
  • docopt
  • ase
  • spglib
  • icecream

pmd および fitpot のビルド

GitHub から nap-master.zip をダウンロードした場合,解凍すると nap-master というディレクトリが作成される.説明を簡単にするため,ディレクトリ名を nap に変更する.

unzip nap-master.zip
mv nap-master nap

その後,以下のコマンドで pmd および fitpot をコンパイルできる.

cd nap/
./configure --prefix=$(pwd)
make pmd fitpot

もし configure 実行時に MPI Fortran コンパイラが見つからないエラーが発生した場合は, MPI Fortran コンパイラのパスを指定して再実行する.

FC=<path/to/fortran-compiler> ./configure --prefix=$(pwd)

OpenMPを利用する場合

バージョン v0.10.10 以降(rev210714)で OpenMP 並列化が利用可能になった. FCFLAGS に適切なオプションを指定することで OpenMP を有効にできる. 例えば,gfortran を使用する場合,以下のように -fopenmp を追加する.

./configure --prefix=$(pwd) FCFLAGS="-O2 -g -fopenmp"

OpenMP のスレッド数は環境変数 OMP_NUM_THREADS で指定する必要がある.

export OMP_NUM_THREADS=4

機種毎の違い

Intel Fortran compiler

./configure --prefix=$(pwd) FCFLAGS="-xHOST -O3 -ip -ipo -no-prec-div"
  • -ip -ipo — inline expansion と呼ばれる機能?効率化に効く.

PGI fortran compiler (NVIDIA fortran?)

FC=/path/to/mpif90 ./configure --prefix=$(pwd) FCFLAGS='-Minfo -O2 -g'

Fujitsu Fortran on Flow-FX

./configure --prefix=$(pwd) FCFLAGS="-Kfast" --host=sparc64
  • OpenMPを使う場合は,-Kfastのところに-Kopenmpを追加する.

Fujitsu Fortran on CX400

./configure --prefix=$(pwd) FCFLAGS="-Kfast" --host=sparc64

nappy のセットアップ

Setup


テスト

nap/examples/ ディレクトリにはいくつかのサンプルが含まれており,正しく実行された場合の参照出力も用意されている.

クイックテスト(v0.10.1 または rev201130 以降)

以下のコマンドで pmd および fitpot の回帰テストを実行できる.

cd nap/
make test

テストが成功すると PASS: examples/xxxxx と表示され, 失敗した場合は FAIL: examples/xxxxx と表示される.


サンプル

pmd のサンプル

pmd プログラムには 3 つのサンプルがある.

  • nap/examples/pmd_W:指定されたパラメータを使用したシンプルな MD
  • nap/examples/pmd_BVS_LLZO:スクリーンクーロン,モース,および角度ポテンシャルを使用した MD
  • nap/examples/pmd_DNN_SiO:ニューラルネットワークポテンシャルを使用した MD

ディレクトリ内で pmd を実行するには以下のコマンドを使用する.

mpirun -np 1 /path/to/pmd