第5部 計算物性物理のソフトウェア
物性物理におけるシミュレーション手法
• Hartree-Fock法
• 密度汎関数法 (density functional theory)
• 経験的なパラメタを含まない:「第一原理計算」
• 相関・ゆらぎが強い場合には破綻
• モデル計算
• 有効模型(ハイゼンベルグ模型など)に対する計算手法
• 相関・ゆらぎの効果を正確に取り入れた大規模計算が可能:「第一原理的」
• 数値対角化(厳密対角化) (ED)
• 古典モンテカルロ法 (MC)
• 量子モンテカルロ法 (QMC)
• 分子動力学法 (MD)
• 密度行列くりこみ群 (DMRG)
• 動的平均場近似 (DMFT)
ソフトウェアの開発と普及
• 世の中には物性物理のための様々なパッケージソフトウェアが存在する
• 有償:Gaussian、VASP、WIEN2k、、
• 無償:GAMESS、Quantum ESPRESSO、ABINIT、Amber、Gromacs、ALPS、、
• 日本国内でも数多くの高性能なソフトが開発・公開されている
• 小さなグループでこつこつと開発しているソフトが多い
• 知名度は高くない
• ドキュメント、宣伝、ユーザインタフェース、ユーザサポートなどの問題
• 開発者から見ると
• ソフトを開発・公開しただけでは成果にならない (職がない)
• ドキュメント作成やユーザサポートには時間も手間もかかる
• 海外の大規模なソフトに対抗するのはしんどい
物質科学シミュレーションのポータルサイト
http://ma.cms-initiative.jp/
MateriApps
MateriApps — 物質科学シミュレーションのポータルサイト
• 公開ソフトウェア(アプリケーション)を核としたコミュニティー形成をめざして
計算科学の
専門家
やツールを紹介
実験結果の解釈、
物質のモデリングに利用
使い勝手のよさ、
機能の豊富さを
重視。品質の保証とサポート
体制も重視 実験家、企業
研究者 新
プログラムの検証、
ベンチマーク、開発基盤として利用
性能の良いもの、開発基盤として
優れているものを選択
• 100以上の物質科学アプリケーション
た
グ
リ、バ
ブラ
ライ
な
公開ソフトウェア
展
MateriApps,2013-2014. All rights reserved.
発
コードの開発、
ドキュメントの整備、利用者支援
より良いプログラムの開発、
開発したアルゴリズムやプログラムが
分野内外から評価されることが重要
の
プロ
グラム開 発 者
能
の
改
善
要
望
究
へ
の
発
展
共 ザ
同 イ
研 ン
究 タ
へ
の フ
発
展 イ
ス
・
機
開発
プロ
ジ
ェ
クト
へ
研
同
。共
供
提
ドの
コー
新規
ユ
提 供。共 同 研 究、共 同
理論研究者
情報の
新規理論・計算法の検証
精度の高いもの、新機能拡張が
容易なプログラムを選択
• 「やりたいこと」からアプリケーショ
ンを検索
• 検索タグ:対象の物質・模型、計算
手法・アルゴリズム、知りたい物理
量・物理現象
• 開発者の声を利用者に届ける
• アプリ紹介、開発者ページ、アプリ
の魅力・将来性・応用性
• フォーラム(掲示板)を利用した意見交換
• 講習会情報・web講習会・更新情報
物質科学アプリの現状と課題 — 開発者サイドから
• アルゴリズム(計算手法)自体も重要な研究成果。しかし、アルゴリズムは実装され
て使われないと埋もれて忘れられる
• 「インハウスコード」は大学院生が卒業・就職すると、
誰も中身が分からなくなり、メンテナンスされなくなる
• 汚いコードは他人に見せたくない?
• アイデアが盗まれるかも?
• ドキュメント作成やユーザサポートには時間も手間もかかる
• ソフトを開発・公開しただけでは成果となりにくい
• せっかく「すごいの」「おもしろいの」を作ったのでみんなに見てもらいたい
MateriApps,2013-2014. All rights reserved.
物質科学アプリの現状と課題 — 利用者サイドから
• 「人的・時間的コスト」と「規模・機能・精度・速度」のトレードオフ
• どのようなアプリが, どこで作られているのかわからない
• どのアプリを使えばよいのかよくわからない
• 情報(マニュアル)が不足, 使い方もよくわからない
• 結果が正しいのか不安, 結果をどのように解釈する?
• MateriApps の目標
• 計算物質科学が新しい研究・新しい分野の開拓に貢献するために
• アプリ情報の集約
• アプリ公開のサポート
• アプリ利用のサポート
• アプリの見える化、開発者の見える化を通じて、人と人をつなぐ
MateriApps,2013-2014. All rights reserved.
CMSI のアプリ利用サポート
• アプリを探す
• MateriApps (検索・アプリ情報)
• アプリを学ぶ
• CMSIハンズオン, web講習会, 配信動画
• アプリを試す
• MateriApps LIVE!
• アプリのプリインストール
• アプリを使う
• CMSI 計算資源 (物性研・分子研・金研)
• MateriApps フォーラム(掲示板)
MateriApps,2013-2014. All rights reserved.
MateriApps LIVE!
• USBメモリから直接ブートできる Linux システム (Debian Live Linux)
• Windows、Mac などで利用可
• インストール作業なしで物質科学アプリを実行できる
• バージョン1.3公開中
• MateriAppsで紹介している公開アプリ・ツールを収録
• 2014年9月1日現在:ABINIT, AkaiKKR, ALPS,
CP2K, Feram ,ERmod, GAMESS, Gromacs、
OpenMX, Quantum Espresso, xTAPP
• 近日追加予定:SMASH, fu
• MateriApps LIVE! サイトからダウンロード可能
• 学会・アプリ講習会などでも配布
MateriApps,2013-2014. All rights reserved.
MateriApps 掲載アプリケーション
• 100以上の物質科学アプリケーションやツールを紹介
密度汎関数法
量子化学
分子動力学
格子模型
AkaiKKR☆
FMO☆
MODYLAS☆
ALPS☆
OpenMX☆
SMASH☆
Gromacs☆
DSQSS
xTAPP☆
GAMESS☆
ERmod☆
BLOCK
ABINIT☆
DC☆
MDACP
DMRG++
...
...
...
...
連続体シミュレーション
データ解析
可視化
Octa ...
phonopy☆
TAPIOCA☆
ANSYS Multiphysics
CLUPAN☆
fu☆
☆ MateriApps LIVE! 収録 ( 一部予定 ) アプリ
MateriApps,2013-2014. All rights reserved.
ALPSプロジェクト
ALPS Project
ALPS (Applications and Libraries for Physics Simulations)
• 量子格子模型シミュレーションのためのライブラリ・アプリケーション群
• 量子格子模型とは?
• 強相関量子系 (高温超伝導, 重い電子系, 量子磁性, etc) の有効模型
• ハバード模型, ハイゼンベルグ模型, 近藤格子模型, …
!
J xy ! + −
− +
z
H=
(Si Sj + Si Sj ) + J
Siz Sjz
2
⟨i,j⟩
• 様々な種類のソルバーを用意
⟨i,j⟩
• 厳密対角化, 古典モンテカルロ法, 量子モンテカルロ法,
密度行列くりこみ群(DMRG), 動的平均場近似 (DMFT)
• 対象となる系や興味のある物理量・現象に応じて最適なソルバーを選択できる
• 強相関量子系における多体相関の効果を正確に取り入れたシミュレーション
• 相転移・臨界現象や量子系特有の相(量子液体, 超固体など)の解析に特に有効
The ALPS project
ALPS = Algorithms and Libraries for Physics Simulations
• International collaboration for developing open-source softwares for
simulation of quantum lattice models, such as quantum spin systems,
electron systems, etc
• ALPS Libraries = collection of generic C++ libraries
• ALPS Applications = collection of application packages using modern
algorithms such as QMC, DMRG, ED, etc • ALPS Framework = environment for executing large-scale parallel simulations
including XML schemas, tools, scheduler, etc
Target audience
• Experimental physicists
• Use “canned codes” to model materials
• Determine microscopic parameters by fitting experimental data to
simulations
• Theoretical physicists
• Quick check of theoretical ideas using many modern algorithms
• Monte Carlo, Diagonalization, DMRG, ...
• Also useful for debugging
• Libraries simplify and accelerate code development
ALPS libraries and applications
tools
applications
domain-specific
libraries
numerics
XML manipulation GUI database MC QMC ED DMRG
lattice model observables scheduler
random ublas
iterative eigenvalue solver
Boost library
generic C++
C / Fortran
graph
serialization XML/XSLT
BLAS LAPACK MPI
ALPS Lattice XML
periodic chain with length L
<LATTICE name="chain lattice" dimension="1">
<BASIS><VECTOR> 1 </VECTOR></BASIS>
</LATTICE>
<UNITCELL name="simple1d" dimension="1" vertices=”1”>
<EDGE>
<SOURCE vertex="1" offset="0"/><TARGET vertex="1" offset="1"/>
</EDGE>
</UNITCELL>
<LATTICEGRAPH name = "chain lattice">
<FINITELATTICE>
<LATTICE ref="chain lattice"/>
<PARAMETER name=”L”/>
<EXTENT size ="L"/>
<BOUNDARY type="periodic"/>
</FINITELATTICE>
<UNITCELL ref="simple1d"/>
</LATTICEGRAPH>
Model XML for describing Hamiltonian
XXZ spin model with two types of bonds (e.g. nearest and next nearest neighbor interactions)
<HAMILTONIAN name=”spin”>
<PARAMETER name=”Jz” default=”J”/>
<PARAMETER name=”Jxy” default=”J”/>
<PARAMETER name=”J” default=”1”/>
<PARAMETER name=”Jz'” default=”J'”/>
<PARAMETER name=”Jxy'” default=”J'”/>
<PARAMETER name=”J'” default=”0”/>
<PARAMETER name=”h” default=”0”/>
<BASIS ref=”spin”/>
<SITETERM site=”i”> -h * Sz(i) </SITETERM>
<BONDTERM type=”0” source=”i” target=”j”>
Jz * Sz(i) * Sz(j) + Jxy * (Splus(x)*Sminus(y)+Sminus(x)*Splus(y)) / 2
</BONDTERM>
<BONDTERM type=”1” source=”i” target=”j”>
Jz' * Sz(i) * Sz(j) + Jxy' * (Splus(x)*Sminus(y)+Sminus(x)*Splus(y)) / 2
</BONDTERM>
</HAMILTONIAN>
!
H=
⟨i,j⟩
!
J
xy
(Si+ Sj− + Si− Sj+ )] −
[Jz Siz Sjz +
hSiz
2
i
Simulations with ALPS
Lattice XML File
square lattice
Model XML File
H = J
< i,j >
Parameter File
LATTICE = "square lattice"
MODEL
= "spin"
L
= 16
Jxy
= 1
Jz
= 2
SWEEPS = 10000
THERMALIZATION = 1000
{
{
{
{
T
T
T
T
=
=
=
=
0.1
0.2
0.5
1.0
}
}
}
}
parameter2xml
tool
<LATTICES>
<LATTICE name="square lattice" dimension="2">
<PARAMETER name="a" default="1"/>
<BASIS><VECTOR>a 0</VECTOR><VECTOR>0 a</VECTOR></BASIS>
</LATTICE>
<UNITCELL name="simple2d" dimension="2">
<VERTEX/>
<EDGE>
<SOURCE vertex="1" offset="0 0"/>
<TARGET vertex="1" offset="0 1"/>
</EDGE>
<EDGE>
<SOURCE vertex="1" offset="0 0"/>
<TARGET vertex="1" offset="1 0"/>
</EDGE>
</UNITCELL>
<LATTICEGRAPH name="square lattice">
<FINITELATTICE>
<LATTICE ref="square lattice"/>
(0,1)
<EXTENT dimension="1" size="L"/>
<EXTENT dimension="2" size="L"/>
<BOUNDARY type="periodic"/>
</FINITELATTICE>
<UNITCELL ref="simple2d"/>
(0,0)
(1,0)
</LATTICEGRAPH>
</LATTICES>
Parameter XML File
application programs
[ S iz S jz + ( S i+ S j- + S i- S j+ )/ 2 ] - h
S iz
<MODELS>
<BASIS name="spin">
<SITEBASIS name="spin">
<PARAMETER name="local_S" default="1/2"/>
<QUANTUMNUMBER name="S" min="local_S" max="local_S"/>
<QUANTUMNUMBER name="Sz" min="-S" max="S"/>
<OPERATOR name="Sz" matrixelement="Sz"/>
<OPERATOR name="Splus" matrixelement="sqrt(S*(S+1)-Sz*(Sz+1))">
<CHANGE quantumnumber="Sz" change="1"/>
</OPERATOR>
<OPERATOR name="Sminus" matrixelement="sqrt(S*(S+1)-Sz*(Sz-1))">
<CHANGE quantumnumber="Sz" change="-1"/>
</OPERATOR>
</SITEBASIS>
</BASIS>
<HAMILTONIAN name="spin">
<PARAMETER name="J" default="1"/>
<PARAMETER name="h" default="0"/>
<BASIS ref="spin"/>
<SITETERM>
-h * Sz(i)
</SITETERM>
<BONDTERM source="i" target="j">
J * (Sz(i)*Sz(j) + (Splus(i)*Sminus(j)+Sminus(i)*Splus(j)))/2
</BONDTERM>
</HAMILTONIAN>
</MODELS>
Quantum Lattice Model
Quantum Monte Carlo
Exact Diagonalization
DMRG
Python based evaluation tools
Plots
i
Outputs in HDF5 & XML
DMFT
ALPSを利用した研究
• 500 以上の論文で ALPS が利用されている (論文タイトルの例 2014年7月以降)
• Nonequilibrium dynamical cluster theory
• Reliability evaluation of thermophysical properties from first-principles calculations
• Phase diagram study of a dimerized spin-S zig–zag ladder
• First order dynamical phase transitions
• Magnetic transitions in the spin-5/2 frustrated magnet BiMn2PO6 and strong lattice
softening in BiMn2PO6 and BiZn2PO6 below 200 K
• GPU-based simulation of the long-range Potts model via parallel tempering
• Quasi-two-dimensional S=1/2 magnetism of Cu[C6H2(COO)4][C2H5NH3]2
• Exploring unconventional Hubbard models with doubly-modulated lattice gases
• The sign problem in full configuration interaction quantum Monte Carlo: Linear and
sub-linear representation regimes for the exact wave function
…
http://alps.comp-phys.org/mediawiki/index.php/PapersTalks
ALPS の利用環境
• 動作確認済みプラットフォーム
• 一般のPCクラスタ, Mac OS X, Windowsで動作可能
• 京コンピュータ, 東大(FX10), 九大(FX10、Primergy), 京大(Cray),
神戸FOCUS, 物性研(システムB, システムC, psi, phi)にインストール済
• MateriApps LIVE! 収録
• ライセンス
• “Cite me” ライセンス (GPL + α)
• ホームページ
• http://alps.comp-phys.org/
• MateriApps「ALPS」
ournal of Statistical Mechanics: Theory and Experiment
The ALPS project release 2.0: open
source software for strongly correlated
The ALPS project release 2.0: open
systems
source software
for strongly correlated
B Bauer1, L D Carr2, H G Evertz3, A Feiguin4, J Freire5,
systems
S Fuchs6 , L Gamper1, J Gukelberger1, E Gull7, S Guertler8,
1
9,10
1
5
1
A Hehn , R Igarashi , S V Isakov , D Koop , P N Ma ,
11
3
4 lowski13 ,5
,GOEvertz
Parcollet
, G Paw!
P
B Mates
Bauer11,5
, ,L HD Matsuo
Carr2, H
, A12Feiguin
, J Freire ,
16
6 14 , L Pollet
1 1,15 , E Santos5 , 1V W Scarola
7
8
,
JS D
Picon
Fuchs , L Gamper , J Gukelberger , E Gull , S Guertler
,
1 ock17 , C Silva
9,10 5 , B Surer1 ,1S Todo10,11
5 , S Trebst
1 18 ,
U
Schollw¨
A Hehn , R Igarashi , S V Isakov , D Koop , P N Ma ,
1,21
19,20
13
L Wall112,, O
P Parcollet
Werner1 12
and
Wessel
M
Troyer1,5
, ,HMMatsuo
, G SPaw!
lowski
,
P Mates
14
1,15
5
16
1JTheoretische
, L Pollet
, E 8093
Santos
,V
W Scarola ,
D Picon Physik,
ETH Zurich,
Zurich,
Switzerland
17
5
1
10,11
2 Department of Physics,
Colorado
School
of Mines,
Golden,
CO
USA18 ,
,B
Surer
, S Todo
, S80401,
Trebst
U Schollw¨
ock , C Silva
3 Institut f¨
2 Technische Universit¨
19,20Graz,
ur1,21
Theoretische
Physik,
at Graz,
A-8010
, M L Wall
, P Werner1 and S
Wessel
M Troyer
Austria
41 Department
TheoretischeofPhysik,
ETH
8093 Zurich,
Switzerland
Physics
andZurich,
Astronomy,
University
of Wyoming, Laramie,
2 Department of Physics, Colorado School of Mines, Golden, CO 80401, USA
WY
82071,
USA
3 Institut f¨
uComputing
r Theoretische
at of
Graz,
A-8010 Graz,
5 Scientific
andPhysik,
ImagingTechnische
Institute, Universit¨
University
Utah,
J. Stat. Mech. P05001 (2011)
J. Stat.
Mech.
(2011
J. Stat.
Mech.
(2
• ALPS を利用した場合には論文引用
J
J
ournal of Statistical Mechanics: Theory and Experiment