Difference between revisions of "ALPS 2 Tutorials:MC-04 Measurements/ja"

From ALPS
Jump to: navigation, search
m (Text replace - "/tutorials2.0.0/" to "/tutorials2.1.0/")
m (Text replace - "http://alps.comp-phys.org/static/tutorials2.1.0" to "http://alps.comp-phys.org/static/tutorials2.2.0")
 
(One intermediate revision by one other user not shown)
Line 11: Line 11:
 
=== コマンドラインでのシミュレーションの準備と実行 ===
 
=== コマンドラインでのシミュレーションの準備と実行 ===
  
[http://alps.comp-phys.org/static/tutorials2.1.0/mc-04-mc-04-measurements/parm4 parm4 ]は、S=1/2ハイゼンベルグモデルの量子モンテカルロ計算のパラメータファイルです。
+
[http://alps.comp-phys.org/static/tutorials2.2.0/mc-04-mc-04-measurements/parm4 parm4 ]は、S=1/2ハイゼンベルグモデルの量子モンテカルロ計算のパラメータファイルです。
  
 
  MODEL="spin";
 
  MODEL="spin";
Line 44: Line 44:
 
出力結果を格納したファイルは、上書きされますので注意してください。
 
出力結果を格納したファイルは、上書きされますので注意してください。
  
シミュレーション出力ファイルには、全計算がおこなわれた後の計算結果がだけが格納されています。ここのモンテカルロステップでの計算の詳細は、各チェックポイント情報を格納しているチェックポイントファイルをXML形式に変換することによって知ることが可能です。convert2xmlツールを次のように使用します。
+
シミュレーション出力ファイルには、全計算がおこなわれた後の計算結果がだけが格納されています。個々のモンテカルロステップでの計算の詳細は、各チェックポイント情報を格納しているチェックポイントファイルをXML形式に変換することによって知ることが可能です。convert2xmlツールを次のように使用します。
  
 
  convert2xml parm4.task1.out.run
 
  convert2xml parm4.task1.out.run
Line 56: Line 56:
 
=== Pythonを使用したシミュレーションの準備と実行 ===
 
=== Pythonを使用したシミュレーションの準備と実行 ===
  
Pythonで計算の実行を設定します。Pythonスクリプト[http://alps.comp-phys.org/static/tutorials2.1.0/mc-04-measurements/tutorial4.py tutorial4.py]を参照してください。
+
Pythonで計算の実行を設定します。Pythonスクリプト[http://alps.comp-phys.org/static/tutorials2.2.0/mc-04-measurements/tutorial4.py tutorial4.py]を参照してください。
  
 
  import pyalps
 
  import pyalps
Line 83: Line 83:
 
=== Pythonを使用したシミュレーションの評価とプロット ===
 
=== Pythonを使用したシミュレーションの評価とプロット ===
  
<!--To look at the results we now load ALL measurements from output files starting with <tt>parm4</tt>. The script is again in [http://alps.comp-phys.org/static/tutorials2.1.0/mc-04-measurements/tutorial4.py tutorial4.py]-->
+
<!--To look at the results we now load ALL measurements from output files starting with <tt>parm4</tt>. The script is again in [http://alps.comp-phys.org/static/tutorials2.2.0/mc-04-measurements/tutorial4.py tutorial4.py]-->
計算結果ファイルをロードし、磁場の関数としての磁化密度の情報を取得します。計算のロード、解析、プロットの手順はPythonスクリプト[http://alps.comp-phys.org/static/tutorials2.1.0/mc-04-measurements/tutorial4.py tutorial4.py]を参照してください。
+
計算結果ファイルをロードし、磁場の関数としての磁化密度の情報を取得します。計算のロード、解析、プロットの手順はPythonスクリプト[http://alps.comp-phys.org/static/tutorials2.2.0/mc-04-measurements/tutorial4.py tutorial4.py]を参照してください。
  
 
  data = pyalps.loadMeasurements(pyalps.getResultFiles())
 
  data = pyalps.loadMeasurements(pyalps.getResultFiles())
Line 102: Line 102:
 
=== Vistrailsを使用したシミュレーションの準備と実行 ===
 
=== Vistrailsを使用したシミュレーションの準備と実行 ===
  
[http://alps.comp-phys.org/static/tutorials2.1.0/mc-04-measurements/mc-04-measurements.vt mc-04-measurements.vt]はVistrailsを用いた計算の実行のチュートリアルです。
+
[http://alps.comp-phys.org/static/tutorials2.2.0/mc-04-measurements/mc-04-measurements.vt mc-04-measurements.vt]はVistrailsを用いた計算の実行のチュートリアルです。

Latest revision as of 22:05, 28 September 2013


有向ループ、ワームコードでの相関計算 

有向ループ、ワームコードを用いて相関関数の計算をおこないます。

二次元ハイゼンベルグ正方格子

コマンドラインでのシミュレーションの準備と実行

parm4 は、S=1/2ハイゼンベルグモデルの量子モンテカルロ計算のパラメータファイルです。

MODEL="spin";
LATTICE="square lattice";
REPRESENTATION="SSE";
MEASURE[Correlations]=true;
MEASURE[Structure Factor]=true;
MEASURE[Green Function]=true;
THERMALIZATION=10000;
SWEEPS=500000;
J= 1;
L=4;
W=4;
T=0.3;
{h=0.1;}


以下の標準的な計算手順に従い、量子SSEコードを用いて計算することができます。結果はXML形式で出力され、webブラウザで確認が可能です。

parameter2xml parm4
dirloop_sse --Tmin 10 --write-xml parm4.in.xml


次に、"dirloop_sse_evaluate"モジュールを用いてSpecific Heat(比熱)を求めます。シミュレーションで得られた結果を解析し、出力結果をXMLファイルとして生成します。

$ dirloop_sse_evaluate --write-xml parm4.task1.out.xml
parsing task files ...
Loading information about run 1 from file $parm4_dir/parm4.task1.out.run1
Specific Heat: 0.0866162 +/- 0.00869

出力結果を格納したファイルは、上書きされますので注意してください。

シミュレーション出力ファイルには、全計算がおこなわれた後の計算結果がだけが格納されています。個々のモンテカルロステップでの計算の詳細は、各チェックポイント情報を格納しているチェックポイントファイルをXML形式に変換することによって知ることが可能です。convert2xmlツールを次のように使用します。

convert2xml parm4.task1.out.run

この操作によってモンテカルロ計算から摘出された情報を含む、XML形式のタスクファイルparm4.task1.out.run.xmlが生成されます。

物理量に関するプロットをおこないたい場合は、後述するPython解析ツールを利用してください。


Pythonを使用したシミュレーションの準備と実行

Pythonで計算の実行を設定します。Pythonスクリプトtutorial4.pyを参照してください。

import pyalps
parms = [{ 
         'LATTICE'                   : "square lattice", 
         'MODEL'                     : "spin",
         'MEASURE[Correlations]'     : True,
         'MEASURE[Structure Factor]' : True,
         'MEASURE[Green Function]'   : True,
         'local_S'                   : 0.5,
         'T'                         : 0.3,
         'J'                         : 1 ,
         'THERMALIZATION'            : 10000,
         'SWEEPS'                    : 500000,
         'L'                         : 4,
         'h'                         : 0.1
       }]
input_file = pyalps.writeInputFiles('parm4',parms)
res = pyalps.runApplication('dirloop_sse',input_file,Tmin=5)

alpspythonvispythonを用いてPythonスクリプトを実行します。コマンドラインでおこなった計算結果と同じ出力ファイルが得られます。

Pythonを使用したシミュレーションの評価とプロット

計算結果ファイルをロードし、磁場の関数としての磁化密度の情報を取得します。計算のロード、解析、プロットの手順はPythonスクリプトtutorial4.pyを参照してください。

data = pyalps.loadMeasurements(pyalps.getResultFiles())

測定と出力を制御するループです。

for s in pyalps.flatten(data):
  if len(s.x)==1:
    print s.props['observable'], ' : ', s.y[0]
  else:
    for (x,y) in zip(s.x,s.y):
      print  s.props['observable'], x, ' : ', y


Vistrailsを使用したシミュレーションの準備と実行

mc-04-measurements.vtはVistrailsを用いた計算の実行のチュートリアルです。