Difference between revisions of "ALPS 2 Tutorials:Monte Carlo Point/ja"
(→各チュートリアルのまとめ) |
|||
(24 intermediate revisions by the same user not shown) | |||
Line 52: | Line 52: | ||
=Pythonを用いた実行= | =Pythonを用いた実行= | ||
+ | |||
+ | Pythonを利用したALPSの実行方法は、基本的に次のようにシミュレーションの手順を記述したpythonスクリプトをalpspythonで実行します。 | ||
+ | $ alpspython alps_sample.py | ||
+ | |||
+ | チュートリアルでは、様々なMCシミュレーションのpythonスクリプトを用意しています。コマンドラインでの実行方法と比較しながら理解を深めてください。 | ||
=Vistrailsを用いた実行= | =Vistrailsを用いた実行= | ||
+ | ALPSはVistrailsを利用した実行方法にも対応しています。Vistrailsに対応できるようにビルドされたALPSパッケージでは、次のコマンドでVistrailsを呼び出します。 | ||
+ | $ vispython | ||
+ | |||
+ | pythonと同様に、Vistrails用の様々なチュートリアルが用意してあります。各チュートリアルを参照してください。 | ||
+ | |||
+ | (pythonスクリプトにも言えることですが、実際のスクリプトを見た方が理解しやすいと思います。) | ||
=各チュートリアルのまとめ= | =各チュートリアルのまとめ= | ||
+ | |||
+ | ここでは、MC-01~08の各チュートリアルに関する情報をまとめてあります。各チュートリアルの索引として参考としてください。 | ||
+ | |||
+ | |||
+ | {| border="1" cellpadding="5" cellspacing="0" | ||
+ | |+ 古典モンテカルロシミュレーションと自己相関:MC-01 | ||
+ | |- | ||
+ | ! model name || File || Command || Anal_Command || Python File || Vistrails File || Work Flow | ||
+ | |- | ||
+ | || ローカルアップデート || parm1a || spinmc || spinmc_evaluate || tutorial1a.py || mc-01-autocorrelations.vt || local updates | ||
+ | |- | ||
+ | || クラスターアップデート || parm1b || spinmc || spinmc_evaluate || tutorial1a.py || mc-01-autocorrelations.vt || cluster updates | ||
+ | |} | ||
+ | |||
+ | |||
+ | {| border="1" cellpadding="5" cellspacing="0" | ||
+ | |+ 古典MC、looperQMCコードによる磁化率の計算:MC-02 | ||
+ | |- | ||
+ | ! model name || File || Command || Anal_Command || Python File || Vistrails File || Work Flow | ||
+ | |- | ||
+ | || 1次元古典ハイゼンベルグ鎖 || parm2a || spinmc || spinmc_evaluate || tutorial2a.py || mc-02-susceptibilities.vt || Classical Heisenberg chain | ||
+ | |- | ||
+ | || 1次元古典ハイゼンベルグ梯子 || parm2b || spinmc || spinmc_evaluate || tutorial2b.py || mc-02-susceptibilities.vt || Classical Heisenberg ladder | ||
+ | |- | ||
+ | || 1次元量子ハイゼンベルグ鎖 || parm2c || loop || || tutorial2c.py || mc-02-susceptibilities.vt || chain magnetization | ||
+ | |- | ||
+ | || 1次元量子ハイゼンベルグ梯子 || parm2d || loop || || tutorial2d.py || mc-02-susceptibilities.vt || ladder magnetization | ||
+ | |- | ||
+ | || 4つの系をまとめて実行 || || || || tutorial2full.py || mc-02-susceptibilities.vt || all combined | ||
+ | |} | ||
+ | |||
+ | |||
+ | {| border="1" cellpadding="5" cellspacing="0" | ||
+ | |+ 有向ループQMCコードによる磁化曲線の計算:MC-03 | ||
+ | |- | ||
+ | ! model name || File || Command || Anal_Command || Python File || Vistrails File || Work Flow | ||
+ | |- | ||
+ | || 磁場中の1次元ハイゼンベルグ鎖 || parm3a || dirloop_sse || dirloop_sse_evaluate || tutorial3a.py || mc-03-magnetization.vt || Quantum Heisenberg chain | ||
+ | |- | ||
+ | || 磁場中での1次元ハイゼンベルグ梯子 || parm3b || dirloop_sse || dirloop_sse_evaluate || tutorial3b.py || mc-03-magnetization.vt || Quantum Heisenberg ladder | ||
+ | |- | ||
+ | || 2つの系をまとめて実行 || || || || tutorial3full.py || mc-03-magnetization.vt || all combined | ||
+ | |} | ||
+ | |||
+ | |||
+ | {| border="1" cellpadding="5" cellspacing="0" | ||
+ | |+ QMCコードによるユーザ定義計算:MC-04 | ||
+ | |- | ||
+ | ! model name || File || Command || Anal_Command || Python File || Vistrails File || Work Flow | ||
+ | |- | ||
+ | || 二次元ハイゼンベルグ正方格子 || parm4 || dirloop_sse || dirloop_sse_evaluate || tutorial4.py || mc-04-measurements.vt || | ||
+ | |} | ||
+ | |||
+ | |||
+ | {| border="1" cellpadding="5" cellspacing="0" | ||
+ | |+ ワームQMCコードによるBose-Hubbardモデルのシミュレーション:MC-05 | ||
+ | |- | ||
+ | ! model name || File || Command || Anal_Command || Python File || Vistrails File || Work Flow | ||
+ | |- | ||
+ | || Bose-Hubbardモデルでの超流動密度 || parm5a || worm || worm_evaluate || tutorial5a.py || mc-05-boson.vt || L=4 | ||
+ | |- | ||
+ | || モット絶縁体から超流動体への相転移 || parm5b || worm || worm_evaluate || tutorial5b.py || mc-05-boson.vt || scaling plot | ||
+ | |} | ||
+ | |||
+ | |||
+ | {| border="1" cellpadding="5" cellspacing="0" | ||
+ | |+ 拡張アンサンブル計算 (Wang-Landau)量子Heisenbergスピン鎖の熱力学的特性:MC-06 | ||
+ | |- | ||
+ | ! model name || File || Command || Anal_Command || Python File || Vistrails File || Work Flow | ||
+ | |- | ||
+ | || 反強磁性Heisenberg鎖 J=-1 || parm6a || qwl || qwl_evaluate || tutorial6a.py || mc-06-qwl.vt || Ferromagnetic chain | ||
+ | |- | ||
+ | || 反強磁性Heisenberg鎖 J=1 || parm6b || qwl || qwl_evaluate || tutorial6b.py || mc-06-qwl.vt || Ferromagnetic chain | ||
+ | |- | ||
+ | || 3次元量子ハイゼンベルグ反強磁性 || parm6c || qwl || qwl_evaluate || tutorial6c.py || mc-06-qwl.vt || Ferromagnetic chain | ||
+ | |- | ||
+ | || 臨界点を決めるための有限サイズスケール解析 || parm6d || qwl || qwl_evaluate || || mc-06-qwl.vt || Ferromagnetic chain | ||
+ | |} | ||
+ | |||
+ | |||
+ | {| border="1" cellpadding="5" cellspacing="0" | ||
+ | |+ イジングモデルの相転移:MC-07 | ||
+ | |- | ||
+ | ! model name || File || Command || Anal_Command || Python File || Vistrails File || Work Flow | ||
+ | |- | ||
+ | || 相転移のおおよその特定 || parm7a || spinmc || spinmc_evaluate || tutorial7a.py || mc-07-tutorial.vt || | ||
+ | |- | ||
+ | || 有限サイズスケーリング法 || parm7b || spinmc || spinmc_evaluate || tutorial7b.py || mc-07-tutorial.vt || | ||
+ | |} | ||
+ | |||
+ | |||
+ | {| border="1" cellpadding="5" cellspacing="0" | ||
+ | |+ 量子スピンモデルの量子相転移:MC-08 | ||
+ | |- | ||
+ | ! model name || File || Command || Anal_Command || Python File || Vistrails File || Work Flow | ||
+ | |- | ||
+ | || 相転移、臨界点の計算 || parm8a,b,c,d || loop || || tutorial8a,b,c,d.py || mc-08-quantum-phase-transition.vt || | ||
+ | |} |
Latest revision as of 16:02, 28 March 2012
Languages: |
English • 日本語 (ja) • 繁體中文 (zh-tw) • 简体中文 (zh) |
この節では、チュートリアルM01-M08で説明したALPSの基本的な使用方法の要点をまとめます。
Contents
コマンドラインでの実行
モンテカルロシミュレーションに用いる主なALPSの計算パラメータを以下にまとめます。
MODEL
計算に用いる格子モデルを指定します。
- Ising
- Heisenberg
- Spin
- boson Hubbard
モデルの指定では、スピンモデルとして、S=1/2、S=1、h=0.5や、bosonモデルとしてt=1.5、mu=0.5といった指定が可能です。
UPDATE
更新の種類を指定します。
- local
- cluster
LATTICE
次元、範囲、単位セルが指定された格子名を指定します。
- "square lattice"
- "chain lattice"
- "ladder"
- "coupled ladders"
ALGORITHM
アルゴリズムの選択をします。
- loop
looperコードはアルゴリズムを選択するALGORITHMパラメータの設定が必要です。
QMCコードでStochastic Series Expansion (SSE)を使用する場合は、次のように設定してください。
REPRESENTATION="SSE";
SWEEP
モンテカルロステップ数 (熱力学的平衡後)
THERMALIZATION
熱力学的平衡計算のモンテカルロステップ数
物理量の計算の指定
デフォルト設定で計算される物理量に加え、ユーザーが任意に加えることができます。以下のように指定します。 "Correlations"と"Structure Factor"を解析値を計算し、出力します。
MEASURE[Correlations]=true; MEASURE[Structure Factor]=true;
Pythonを用いた実行
Pythonを利用したALPSの実行方法は、基本的に次のようにシミュレーションの手順を記述したpythonスクリプトをalpspythonで実行します。
$ alpspython alps_sample.py
チュートリアルでは、様々なMCシミュレーションのpythonスクリプトを用意しています。コマンドラインでの実行方法と比較しながら理解を深めてください。
Vistrailsを用いた実行
ALPSはVistrailsを利用した実行方法にも対応しています。Vistrailsに対応できるようにビルドされたALPSパッケージでは、次のコマンドでVistrailsを呼び出します。
$ vispython
pythonと同様に、Vistrails用の様々なチュートリアルが用意してあります。各チュートリアルを参照してください。
(pythonスクリプトにも言えることですが、実際のスクリプトを見た方が理解しやすいと思います。)
各チュートリアルのまとめ
ここでは、MC-01~08の各チュートリアルに関する情報をまとめてあります。各チュートリアルの索引として参考としてください。
model name | File | Command | Anal_Command | Python File | Vistrails File | Work Flow |
---|---|---|---|---|---|---|
ローカルアップデート | parm1a | spinmc | spinmc_evaluate | tutorial1a.py | mc-01-autocorrelations.vt | local updates |
クラスターアップデート | parm1b | spinmc | spinmc_evaluate | tutorial1a.py | mc-01-autocorrelations.vt | cluster updates |
model name | File | Command | Anal_Command | Python File | Vistrails File | Work Flow |
---|---|---|---|---|---|---|
1次元古典ハイゼンベルグ鎖 | parm2a | spinmc | spinmc_evaluate | tutorial2a.py | mc-02-susceptibilities.vt | Classical Heisenberg chain |
1次元古典ハイゼンベルグ梯子 | parm2b | spinmc | spinmc_evaluate | tutorial2b.py | mc-02-susceptibilities.vt | Classical Heisenberg ladder |
1次元量子ハイゼンベルグ鎖 | parm2c | loop | tutorial2c.py | mc-02-susceptibilities.vt | chain magnetization | |
1次元量子ハイゼンベルグ梯子 | parm2d | loop | tutorial2d.py | mc-02-susceptibilities.vt | ladder magnetization | |
4つの系をまとめて実行 | tutorial2full.py | mc-02-susceptibilities.vt | all combined |
model name | File | Command | Anal_Command | Python File | Vistrails File | Work Flow |
---|---|---|---|---|---|---|
磁場中の1次元ハイゼンベルグ鎖 | parm3a | dirloop_sse | dirloop_sse_evaluate | tutorial3a.py | mc-03-magnetization.vt | Quantum Heisenberg chain |
磁場中での1次元ハイゼンベルグ梯子 | parm3b | dirloop_sse | dirloop_sse_evaluate | tutorial3b.py | mc-03-magnetization.vt | Quantum Heisenberg ladder |
2つの系をまとめて実行 | tutorial3full.py | mc-03-magnetization.vt | all combined |
model name | File | Command | Anal_Command | Python File | Vistrails File | Work Flow |
---|---|---|---|---|---|---|
二次元ハイゼンベルグ正方格子 | parm4 | dirloop_sse | dirloop_sse_evaluate | tutorial4.py | mc-04-measurements.vt |
model name | File | Command | Anal_Command | Python File | Vistrails File | Work Flow |
---|---|---|---|---|---|---|
Bose-Hubbardモデルでの超流動密度 | parm5a | worm | worm_evaluate | tutorial5a.py | mc-05-boson.vt | L=4 |
モット絶縁体から超流動体への相転移 | parm5b | worm | worm_evaluate | tutorial5b.py | mc-05-boson.vt | scaling plot |
model name | File | Command | Anal_Command | Python File | Vistrails File | Work Flow |
---|---|---|---|---|---|---|
反強磁性Heisenberg鎖 J=-1 | parm6a | qwl | qwl_evaluate | tutorial6a.py | mc-06-qwl.vt | Ferromagnetic chain |
反強磁性Heisenberg鎖 J=1 | parm6b | qwl | qwl_evaluate | tutorial6b.py | mc-06-qwl.vt | Ferromagnetic chain |
3次元量子ハイゼンベルグ反強磁性 | parm6c | qwl | qwl_evaluate | tutorial6c.py | mc-06-qwl.vt | Ferromagnetic chain |
臨界点を決めるための有限サイズスケール解析 | parm6d | qwl | qwl_evaluate | mc-06-qwl.vt | Ferromagnetic chain |
model name | File | Command | Anal_Command | Python File | Vistrails File | Work Flow |
---|---|---|---|---|---|---|
相転移のおおよその特定 | parm7a | spinmc | spinmc_evaluate | tutorial7a.py | mc-07-tutorial.vt | |
有限サイズスケーリング法 | parm7b | spinmc | spinmc_evaluate | tutorial7b.py | mc-07-tutorial.vt |
model name | File | Command | Anal_Command | Python File | Vistrails File | Work Flow |
---|---|---|---|---|---|---|
相転移、臨界点の計算 | parm8a,b,c,d | loop | tutorial8a,b,c,d.py | mc-08-quantum-phase-transition.vt |