Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
LAMMPS入門
高度情報科学技術研究機構(RIST)吉澤香奈子
1
Outline• Introduction– 材料系ワークショップについて
– 材料開発とシミュレーション
– 分子動力学法(MD)とは
– 古典MDの代表的なアプリ(オープンソース)
• LAMMPSとは
• LAMMPSを使い始めるには
• LAMMPS利用支援
2
• LAMMPS利用環境
Introduction• 材料系ワークショップ(WS)について
材料系 à 基礎と応用両方の発展へつながる「産業は学問の道場なり」:本多光太郎先生
今回、LAMMPS(「京」での産業利用が一番多い)を中心したWS
• 材料開発とシミュレーション基礎と応用の連携私の専門:物理、第一原理計算(周期系DFTコードxTAPPの開発)
研究・開発でのシミュレーション(計算科学)の活用へ
本WSの講演
シミュレーション(計算科学)は、役立つ?(大規模計算可能か?)正しいのか?(計算精度は?)à 使い方次第、何か得られ、得られる情報をどう活用するかà 高並列計算、高度化に対する知識(アプリの使い方)
3
具体的な実施へ向けて
• 分子動力学法(MD)とはニュートンの運動方程式を用いて系の時間発展を求める。
– 温度一定、圧力一定など、現実的な条件設定が可能
– 得られる物理量:エネルギー、自由エネルギー、溶解現象(溶解に関する各種エネ ルギー)、各種分布関数
• 古典MDの代表的なアプリ(オープンソース)
– LAMMPS、Gromacs、NAMD、DL-POLY:海外のアプリ
– OCTA、MODYLAS、GENESIS:国産のアプリ
– VMD:タンパク質、核酸、脂質二重層などの生体系のモデリング、可視化、解析のためのソフトウェア
mid2ri
dt2= Fi = ��V
�ri
力場を経験的に決めるà 古典MD
4
LAMMPSとは• Large-scaleAtomic/MolecularMassivelyParallelSimulator
http://lammps.sandia.gov/
• 並列計算機のために設計された分子動力学シミュレータ
– 物質系を構成する原子や分子の1つ1つに対する運動方程式を数値的に計算している
– 高並列計算のため2007年にC++でオブジェクト指向で完全に、rewriteされているオブジェクト指向à コード拡張・公開 à 多分野・多スケールに渡る計算
– 現在、粒子系統合シミュレータとして高い支持
• ソースコードダウンロードhttp://lammps.sandia.gov/download.htmlStableversion(7Dec2015):2016年2月1日現在ソースファイル名:lammps-stable.tar.gz(注)Stable以外の最新のコードもある
過去のメジャーなコード:http://lammps.sandia.gov/tars/
• ドキュメントhttp://lammps.sandia.gov/doc/Section_intro.html 5
材料系分子シミュレーションの現象スケール
量子化学分子軌道法、密度汎関数法
NTChem,ABINIT-MP,PHASE,xTAPP,etc.
分子動力学
LAMMPSMODYLAS
粗視化分子動力学
OCTA
nm μm mm
ps
ns
fs
μs
時間スケール (sec)
空間スケール (m)
(注)厳密なものではないあくまで目安
LAMMPS• 様々な計算スケールの手法が入っている
(粒子系で高速多重極展開FMM法以外は大抵入っている)• 金属系の経験ポテンシャル類にも強い
ms
6
LAMMPSを使い始めるには• 個人のPCで試す(Windows,Mac,Linux)– 個人で設定、インストールの必要がある
– GUI支援ツール(Windows)を用いる
– MateriApps Live!http://cmsi.github.io/MateriAppsLive/のようなツールを用いるとインストールなしで試せる
• 「京」およびHPCIでの利用 ß 大規模計算
– 課題申請、成果報告の必要がある
– インストールの必要がある
– 機関によってはプリインストールされている
名古屋大学 情報基盤センター、大阪大学 サイバーメディアセンター
どのプラットフォームでもLAMMPSのコンパイルには比較的時間がかからない
7付録へインストール方法などの詳細
本WSの講演
LAMMPS利用支援
• LAMMPS開発グループ(英語)
• GUI支援ツール(Windows)による利用à 各アプリの開発元( JSOL、クロスアビリティ)
• MateriApps Live!による利用àMateriApps開発
• 「京」およびHPCIでの利用 à RIST
8
LAMMPSの利用環境
9
(1)Windowsでの利用(バイナリが配布されている)l LAMMPS-ICMSWindowsInstallerRepository
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 <(inputfile) ß シリアルで実行
$lmp_mpi.exe <(inputfile) ßMPIで実行 10
l GUI支援ツールを用いる
• Winmostarhttps://winmostar.com/jp/
• J-OCTAhttps://cae.jsol.co.jp/product/material/jocta/
• その他のツール
Pre/PostProcessingToolsforusewithLAMMPS(紹介サイト)
http://lammps.sandia.gov/prepost.html
本WSの講演
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$makeserial$./lmp_serial <(inputfile)
• MPIで実行(OpenMPIなどが必要)
$cd ./lammps-7Dec15/src$makempi$./lmp_mpi <(inputfile) 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 aptitudeupdate$ sudo aptitudeinstalllammps lammps-doc
13
(3)Macでの利用(ソースをコンパイル:コンパイラが必要)OS X El Capitanでの実行例(個人の環境によって異なる可能性あり)
ターミナルを起動
ソース(lammps-stable.tar.gz)を解凍àディレクトリ lammps-7Dec15を作る
l シリアルでコンパイル
$cd lammps-7Dec15/src$makeserial$lmp_serial <(inputfile)
l MPIでコンパイル(OpenMPIなどが必要)
$cd lammps-7Dec15/src$makempi$lmp_mpi <(inputfile)
(注)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.mpiMakefile.K
Makefile.Kを編集
CC= mpiFCCpxCCFLAGS=-Kfast,parallel,openmp,noeval,simd=2-Xg –NlineSHFLAGS=-KPICLINK=$(CC)LINKFLAGS=$(CCFLAGS)# LMP_INC= -DLAMMPS_GZIPMPI_INC=-DMPICH_SKIP_MPICXXFFT_INC=-DFFT_FFTW3-I/home/apps/fftw/3.3/includeFFT_PATH=-L/home/apps/fftw/3.3/lib64FFT_LIB=-lfftw3-lfftw3_omp-lfftw3_mpi–lm
FFTWのPATHの設定
16
l ソースをコンパイル(続き)$cd lammps-7Dec15/src$make–j8K$mpiexec lmp_K -in(inputfile)
l /opt/rist (RIST管理のバイナリ)を使う à 詳細はヘルプデスクまで
実行例
$mpiexec /opt/rist/LAMMPS/lammps-7Dec15/src/lmp_K -in(inputfile)
17
(6)HPCIでの利用(FFTW, MPIなどはインストール済)l FX10でソースをコンパイル
実行例(環境によって異なる可能性あり)lammps-7Dec15/src/MAKE/Makefile.mpiを rename$cp Makefile.mpiMakefile.FX10
Makefile.FX10を編集CC= mpiFCCpxCCFLAGS=-Kfast,parallel,openmp,optmsg=2-Nlst=t-Xg -NlineSHFLAGS=-KPICLINK=mpiFCCpxLINKFLAGS=-Kfast,parallel,openmp,optmsg=2-Nlst=t#LMP_INC= -DLAMMPS_GZIP#MPI_INC=-DMPICH_SKIP_MPICXX-DOMPI_SKIP_MPICXX=1FFT_INC=-DFFT_FFTW3-I/usr/local/fftw/3.3/includeFFT_PATH=-L/usr/local/fftw/3.3/lib64FFT_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