LAMMPS 入門 高度情報科学技術研究機構 (RIST) 吉澤香奈子 1
Introduction Outline 材料系ワークショップについて 材料開発とシミュレーション 分子動力学法 (MD) とは 古典 MD の代表的なアプリ ( オープンソース ) LAMMPS とは LAMMPS を使い始めるには LAMMPS 利用支援 LAMMPS 利用環境 2
Introduction 材料系ワークショップ (WS) について材料系 à 基礎と応用両方の発展へつながる 産業は学問の道場なり : 本多光太郎先生今回 LAMMPS( 京 での産業利用が一番多い ) を中心した WS 材料開発とシミュレーション基礎と応用の連携私の専門 : 物理 第一原理計算 ( 周期系 DFT コード xtapp の開発 ) シミュレーション ( 計算科学 ) は 役立つ?( 大規模計算可能か?) 正しいのか?( 計算精度は?) à 使い方次第 何か得られ 得られる情報をどう活用するか à 高並列計算 高度化に対する知識 ( アプリの使い方 ) 本 WS の講演 具体的な実施へ向けて 3 研究 開発でのシミュレーション ( 計算科学 ) の活用へ
分子動力学法 (MD) とはニュートンの運動方程式を用いて系の時間発展を求める m i d 2 r i dt 2 = F i = V r i 力場を経験的に決める à 古典 MD 温度一定 圧力一定など 現実的な条件設定が可能 得られる物理量 : エネルギー 自由エネルギー 溶解現象 ( 溶解に関する各種エネルギー ) 各種分布関数 古典 MD の代表的なアプリ ( オープンソース ) LAMMPS Gromacs NAMD DL-POLY : 海外のアプリ OCTA MODYLAS GENESIS : 国産のアプリ VMD : タンパク質 核酸 脂質二重層などの生体系のモデリング 可視化 解析のためのソフトウェア 4
LAMMPS とは Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov/ 並列計算機のために設計された分子動力学シミュレータ 物質系を構成する原子や分子の 1 つ 1 つに対する運動方程式を数値的に計算している 高並列計算のため 2007 年に C++ でオブジェクト指向で完全に rewrite されているオブジェクト指向 à コード拡張 公開 à 多分野 多スケールに渡る計算 現在 粒子系統合シミュレータとして高い支持 ソースコードダウンロード http://lammps.sandia.gov/download.html Stable version (7 Dec 2015) :2016 年 2 月 1 日現在ソースファイル名 :lammps-stable.tar.gz ( 注 )Stable 以外の最新のコードもある過去のメジャーなコード :http://lammps.sandia.gov/tars/ ドキュメント http://lammps.sandia.gov/doc/section_intro.html 5
材料系分子シミュレーションの現象スケール ms μs 時間スケール (sec) 粗視化分子動力学 OCTA ns ps fs 量子化学分子軌道法 密度汎関数法 NTChem, ABINIT-MP, PHASE, xtapp, etc. 分子動力学 LAMMPS MODYLAS ( 注 ) 厳密なものではないあくまで目安 空間スケール (m) nm μm mm LAMMPS 様々な計算スケールの手法が入っている ( 粒子系で高速多重極展開 FMM 法以外は大抵入っている ) 金属系の経験ポテンシャル類にも強い 6
LAMMPS を使い始めるには 個人のPCで試す (Windows, Mac, Linux) 個人で設定 インストールの必要がある どのプラットフォームでも LAMMPS のコンパイルには比較的時間がかからない GUI 支援ツール (Windows) を用いる 本 WS の講演 MateriApps Live! http://cmsi.github.io/materiappslive/ のようなツールを用いるとインストールなしで試せる 京 および HPCI での利用 ß 大規模計算 課題申請 成果報告の必要がある インストールの必要がある 機関によってはプリインストールされている 名古屋大学情報基盤センター 大阪大学サイバーメディアセンター インストール方法などの詳細 付録へ 7
LAMMPS 利用支援 LAMMPS 開発グループ ( 英語 ) GUI 支援ツール (Windows) による利用 à 各アプリの開発元 ( JSOL クロスアビリティ ) MateriApps Live! による利用 à MateriApps 開発 京 および HPCI での利用 à RIST 8
LAMMPS の利用環境 9
(1)Windows での利用 ( バイナリが配布されている ) l LAMMPS-ICMS Windows Installer Repository http://rpm.lammps.org/windows.html 例 ) バイナリファイル名 (32 ビット ):lammps-32bit-latest.exe ( 注 )64 ビット版のバイナリもある Cygwin(https://www.cygwin.com/) を用いて実行 (MPI を用いるときは http://www.mpich.org/static/tarballs/1.4.1p1/mpich2-1.4.1p1- win-ia32.msi をインストール ) 実行例 ( 個人の環境によって異なる可能性あり ) lammps-32bit-latest.exe をダウンロードして実行 ( インストール ) Cygwin を起動サンプルのあるディレクトリ ( デフォルトのままインストールした場合 ) /cygdrive/c/program Files/LAMMPS 32-bit 20160124/Examples 実行ファイルのあるディレクトリ /cygdrive/c/program Files/LAMMPS 32-bit 20160124/bin $ lmp_serial.exe < (input file) ß シリアルで実行 $ lmp_mpi.exe < (input file) ß MPI で実行 10
l GUI 支援ツールを用いる Winmostar https://winmostar.com/jp/ J-OCTA https://cae.jsol.co.jp/product/material/jocta/ 本 WS の講演 その他のツール Pre/Post Processing Tools for use with LAMMPS( 紹介サイト ) http://lammps.sandia.gov/prepost.html 11
(2)Linux での利用 l ソースをコンパイル実行例 ( 個人の環境によって異なる可能性あり ) ターミナルを起動ソース (lammps-stable.tar.gz) を解凍 à ディレクトリ lammps-7dec15 を作る $ tar zxvf lammps-stable.tar.gz 必要に ( 利用したい機能に ) 応じてパッケージの追加 http://lammps.sandia.gov/doc/section_packages.html $ cd lammps-7dec15/src $ make package-status ß パッケージの一覧の表示 $ make yes-rigid : 剛体の機能などを追加 シリアルで実行 $ cd./lammps-7dec15/src $ make serial $./lmp_serial < (input file) MPI で実行 (OpenMPI などが必要 ) $ cd./lammps-7dec15/src $ make mpi $./lmp_mpi < (input file) 12
l Linux 用の LAMMPS のパッケージをインストール (root 権限が必要 ) Pre-built Ubuntu Linux executables http://lammps.sandia.gov/download.html#ubuntu Pre-built binary RPMs for Fedora/RedHat/CentOS/openSUSE http://lammps.sandia.gov/download.html#rpm など Debian での実行例 ( 個人の環境によって異なる可能性あり ) ターミナルを起動 $ sudo aptitude update $ sudo aptitude install lammps lammps-doc 13
(3)Mac での利用 ( ソースをコンパイル : コンパイラが必要 ) OS X El Capitan での実行例 ( 個人の環境によって異なる可能性あり ) ターミナルを起動ソース (lammps-stable.tar.gz) を解凍 à ディレクトリ lammps-7dec15 を作る l シリアルでコンパイル $ cd lammps-7dec15/src $ make serial $ lmp_serial < (input file) l MPI でコンパイル (OpenMPI などが必要 ) $ cd lammps-7dec15/src $ make mpi $ lmp_mpi < (input file) ( 注 )Mac 用の makefile:lammps-7dec15/src/make/machines/makefile.mac もある 14
(4)MateriApps LIVE! を利用する l USB メモリから直接ブートできる Linux システム (Debian Live Linux) Windows Mac などで利用可 インストール作業なしで物質科学アプリを実行できる l バージョン 1.10 公開 (2016 年 2 月 18 日 ) l MateriApps で紹介している公開アプリ ツールを収録 2016 年 2 月現在 :ABINIT, AkaiKKR, ALPS, CP2K, Feram, ERmod, GAMESS, Gromacs, OpenMX, Quantum Espresso, SMASH, xtapp, LAMMPS, VMD l MateriApps LIVE! サイト (http://cmsi.github.io/materiappslive/) からダウンロード可能 USB で reboot しなくても VirtualBox + ova ファイルで使用可能 https://github.com/cmsi/materiappslive /wiki/materiappslive-ova 15
(5) 京 での利用 (FFTW, MPI などはインストール済 ) l ソースをコンパイル実行例 lammps-7dec15/src/make/makefile.mpi を rename $ cp Makefile.mpi Makefile.K Makefile.K を編集 CC = mpifccpx CCFLAGS = -Kfast,parallel,openmp,noeval,simd=2 -Xg Nline SHFLAGS = -KPIC LINK = $(CC) LINKFLAGS = $(CCFLAGS) # LMP_INC = -DLAMMPS_GZIP MPI_INC = -DMPICH_SKIP_MPICXX FFT_INC = -DFFT_FFTW3 -I/home/apps/fftw/3.3/include FFT_PATH = -L/home/apps/fftw/3.3/lib64 FFT_LIB = -lfftw3 -lfftw3_omp -lfftw3_mpi lm FFTW の PATH の設定 16
l ソースをコンパイル ( 続き ) $ cd lammps-7dec15/src $ make j8 K $ mpiexec lmp_k -in (input file) l /opt/rist (RIST 管理のバイナリ ) を使う à 詳細はヘルプデスクまで実行例 $ mpiexec /opt/rist/lammps/lammps-7dec15/src/lmp_k -in (input file) 17
(6)HPCI での利用 (FFTW, MPI などはインストール済 ) l FX10 でソースをコンパイル実行例 ( 環境によって異なる可能性あり ) lammps-7dec15/src/make/makefile.mpi を rename $ cp Makefile.mpi Makefile.FX10 Makefile.FX10 を編集 CC = mpifccpx CCFLAGS = -Kfast,parallel,openmp,optmsg=2 -Nlst=t -Xg -Nline SHFLAGS = -KPIC LINK = mpifccpx LINKFLAGS = -Kfast,parallel,openmp,optmsg=2 -Nlst=t # LMP_INC = -DLAMMPS_GZIP # MPI_INC = -DMPICH_SKIP_MPICXX -DOMPI_SKIP_MPICXX=1 FFT_INC = -DFFT_FFTW3 -I/usr/local/fftw/3.3/include FFT_PATH = -L/usr/local/fftw/3.3/lib64 FFT_LIB = -lfftw3 -lm FFTW の PATH の設定 18
l FX10 でソースをコンパイル ( 続き ) $ cd lammps-7dec15/src $ make j16 FX10 $ mpiexec lmp_fx10 -in (input file) l Intel マシンでソースをコンパイル実行例 $ cd./lammps-7dec15/src $ make mpi $./lmp_mpi < (input file) l HPCI にインストールされている LAMMPS を使うハードウェア ソフトウェア資源一覧 http://www.hpci-office.jp/folders/245 名古屋大学情報基盤センター http://www.icts.nagoya-u.ac.jp/ja/sc/overview.html#cx400 大阪大学サイバーメディアセンター http://www.hpc.cmc.osaka-u.ac.jp/system/manual/vcc/lammps/19