Heat++計算結果の解析は、後述するPython解析ツールの利用を推奨します。(zh)まず最初に、モンテカルロシミューレーションの重要なトピックスである自己相関時間について説明します。Updates)Isingモデルでの局所更新の計算を例にします。有限平面格子(L=2,4,...48)、臨界温度TC=2.269186の条件でイジングモデルのシミュレーションをおこないます。このチュートリアルは、コマンドライン、Python、Vistrailsを使用することができます。小規模でPCでの計算であれば、Python、Vistrailsを、クラスタ等を使用した大規模計算であればコマンドラインでの利用をお勧めします。コマンドラインでのシミュレーションの起動と実行コマンドラインでの計算の実行にあたり、まず最初にパラメータファイルを作成しますparm1a。UPDATE="local"MODEL="Ising"{L=2;}{L=4;}{L=8;}{L=16;}{L=32;}{L=48;}シミュレーション実行にはこれらのパラメータ群をXML形式によるジョブファイルへ変換する必要があります。次のようにタイプします。parm1aそれぞれのL用に、6種類のタスクファイルと各タスクについて制御するparm1a.in.xmlが生成されます。中身の記述をブラウザーを用いて確認してみてください。シミュレーションは、シングルプロセッサーでの実行は、次のように記述します。parm1a.in.xmlMPIを用いた並列実行では、次の用に指定します。(以下のサンプル例ではシングルプロセッサーによる実行に対応します。10"はシミュレーションが終了したかどうか10秒毎に確認する設定です。(時間はスケジューラーによって運用されます。)また、計算が途中で中断した場合(Ctrl-CやCPUリミット時間による計算の強制終了など)、次の用にXMLoutputファイルを使用して、計算の再開が可能です。parm1a.out.xml"--write-xml"は計算結果をXMLファイルに格納するオプションです。上記の計算の場合、parm1a.task[1-5].out.xmlにそれぞれ出力されます。次の用にfirefoxなどのブラウザを用いて計算結果を確認することができます。convert2textコマンドでXML形式からテキストへ変換ができます。parm1a.out.xml計算結果は例としてparm1a.task1.out.xmlに出力され、様々な方法で中身を確認することができます。parm1a.task1.out.xml多くの計算や大規模な計算をおこなう場合は、XMLファイルへの書き込みに膨大な時間を要することがあります。ALPSでは計算結果をバイナリ(HDF5形式)で出力させることも可能です。収束エラー等の詳細情報を取得するには、次のように入力し、実行タスクファイル(parm1a.task[1-6].out.run1)をXMLファイルに変換することができます。parm1a.task*.out.run1XML出力ファイル(parm1a.task[1-6].out.run1.xml)が得られます。ブラウザやテキストに変換(convert2text利用)して確認してください。6つのタスクファイル(parm1a.task[1-6].out.run1.xml)で大格子での結果をみると、収束しないことがわかります。結果を図示するには、以下のPythonのツールを利用することをお勧めします。Pythonでのシミュレーションの起動と実行Pythonを用いたシミュレーションの実行は、スクリプトtutorial1a.pyを使用します。スクリプトの最初の部分は計算モデルや、入力ファイルのインポートをおこないます。)計算の実行には、Python起動ツールvispython、alpspythonを使用します。次に、ジョブファイルをXML形式に変換します。pyalps.writeInputFiles('parm1a',parms)計算を実行します。pyalps.runApplication('spinmc',input_file,Tmin=5,writexml=True)writexml=Trueは、計算結果をXMLファイルに出力させるオプションです。'spinmcは計算アプリケーションの名称、input_fileはインプットファイルのパス、Tmin=5はチェックポイントを採取する時間間隔(秒)になります。出力ファイルから得られる磁化値のビニング解析は次のように指定します。pyalps.flatten(binning)プロットのために、各データにラベリングをおこないます。'L='+str(dataset.props['L'])最終的に、ビニング解析の結果が図示されます。|Magnetization|')pyalps.pyplot.plot(binning)plt.legend()plt.show()各システムサイズ毎にプロットするために、全データについて繰り返し処理をおこないます。pyalps.pyplot.plot(dataset)plt.show()最終的に、大きいサイズで収束しないことが明確に図示されます。updates"のワークフローを見てください。入力ファイルの生成、計算の実行、計算の出力を設定する"Execute"をクリックしてください。次のような図が得られます。大規模サイズの系では収束できていないことが分かります。ローカルアップデートに引き続き、クラスタアップデートに関するシミュレーションの説明です。計算パラメータの3点を次のように修正します。"cluster"計算を実行するには、次のいずれかの方法で、上記の同様の手順に従ってください。コマンドラインでの入力ファイルparm1bPythonスクリプトtutorial1b.pyVistrailsのワークフローを用いた方法mc-01-autocorrelations.vt質疑エラーは収束されていますか?(上記に述べたように実行ファイルを確認してみてください。)なぜ自己相関時間が長いとエラーの収束が遅くなるか説明できますか?自己相関時間はどのようなシステムパラメータに依存しますか?入力ファイルのパラメータを確認してみてください。ALPSDisclaimers。