]は、クラスターアップデートを用いた温度(T=0.05,0.1,...1.5)、60サイトの一次元鎖の古典ハイゼンベルグモンテカルロシミュレーションのパラメータファイルです。コマンドラインでの計算の実行にあたり、最初にパラメータファイルを生成します。]は、クラスターアップデートを用いた温度(T=0.05,0.1,...1.5)、60サイトの一次元鎖の古典ハイゼンベルグモンテカルロシミュレーションのパラメータファイルです。コマンドラインでの計算の実行にあたり、最初にパラメータファイルを生成します。commands-->そして、次のコマンドで計算を実行させます。次のコマンドで計算を実行させます。parm2a.in.xml−<!--追記分+<!--追記分-->次に、"spinmc_evaluate"モジュールを用いて熱力学的観測値などに関する様々な物理量を求めます。シミュレーションで得られた結果を解析し、出力結果をXMLファイルとして生成します。次に、"spinmc_evaluate"モジュールを用いて熱力学的観測値などに関する様々な物理量を求めます。シミュレーションで得られた結果を解析し、出力結果をXMLファイルとして生成します。60:この操作によってモンテカルロ計算から摘出された情報を含む、XML形式のタスクファイルparm2a.task[1-15].out.run.xmlが生成されます。この操作によってモンテカルロ計算から摘出された情報を含む、XML形式のタスクファイルparm2a.task[1-15].out.run.xmlが生成されます。below-->計算結果の解析は、後述するPython解析ツールの利用を推奨します。計算結果の解析は、後述するPython解析ツールの利用を推奨します。(zh)このチュートリアルでは古典的、量子ハイゼンベルグモデルの磁化率や梯子鎖の計算手法を述べます。このチュートリアルで紹介するパラメータファイル、Pythonスクリプト、Vistrailsファイルはmc-02-susceptibilitiesディレクトリにあります。クラスターアップデートを用いた温度(T=0.05,0.1,...1.5)、60サイトの一次元鎖の古典ハイゼンベルグモンテカルロシミュレーションのパラメータファイルです。コマンドラインでの計算の実行にあたり、最初にパラメータファイルを生成します。MODEL="Heisenberg"{T=0.05;}{T=0.1;}{T=0.2;}{T=0.3;}{T=0.4;}{T=0.5;}{T=0.6;}{T=0.7;}{T=0.8;}{T=0.9;}{T=1.0;}{T=1.25;}{T=1.5;}そして、次のコマンドで計算を実行させます。parm2a.in.xml次に、"spinmc_evaluate"モジュールを用いて熱力学的観測値などに関する様々な物理量を求めます。シミュレーションで得られた結果を解析し、出力結果をXMLファイルとして生成します。parm2a.taskp[1-15].out.xml出力結果を格納したファイルは、parm2a.task[1-15].out.xmlに上書きされますので注意してください。spinmc_evaluateによって得られる物理量は次の通りです。Heatシミュレーション出力ファイルには、全計算がおこなわれた後の計算結果がだけが格納されています。ここのモンテカルロステップでの計算の詳細は、各チェックポイント情報を格納しているチェックポイントファイルをXML形式に変換することによって知ることが可能です。convert2xmlツールを次のように使用します。parm2a.task[1-15].out.runこの操作によってモンテカルロ計算から摘出された情報を含む、XML形式のタスクファイルparm2a.task[1-15].out.run.xmlが生成されます。計算結果の解析は、後述するPython解析ツールの利用を推奨します。Pythonを使った計算の実行Pythonを使った計算の実行方法を記述したスクリプトtutorial2a.pyを使用します。スクリプトの最初の部分で計算モデルや、入力ファイルのインポートをおこないます。)計算の実行には、Python起動ツールalpspythonやvispythonを使用します。次に、ジョブファイルをXML形式に変換します。pyalps.writeInputFiles('parm2a',parms)pyalps.runApplication('spinmc',input_file,Tmin=5,writexml=True)コマンドラインでの実行方法で計算した結果と同じアウトプットファイルが得られます。シミュレーションの評価とPythonを使ったプロット計算結果を解析し、温度の関数としての磁化率のプロットをおこないます。出力ファイルからparm2aを用いて、該当の計算結果データを採取します。このスクリプトはtutorial2a.pyを参照してください。pyalps.collectXY(data,x='T',y='Susceptibility')プロットをおこなうために、pyalps.plot.plotを使用し、タイトルやラベルなどの設定をおこないます。chain"のワークフローを見てください。入力ファイルの生成、計算の実行、計算の出力を設定する"Execute"をクリックしてください。=Heisenberg梯子も同じような手順で求めることができます。主な差異(parm2b*参照)はLATTICEの変化とJ0,J1の2つのカップリングです。LATTICE="ladder"L=60J0=-1J1=-1THERMALIZATION=15000SWEEPS=150000UPDATE="cluster"MODEL="Heisenberg"...入力ファイルは上記のようになり、シミュレーション自体はこれまで紹介してきた方法と同じです。tutorial2b.pyの修正点は、次の3点です。ladder"のワークフローを参照、実行してください。lattices.xmlを見てください)でどうなるか計算してみてください。量子モデルによる計算では、計算モデルにALPSライブラリを使用します。QMCコードを用います。量子モデルでは負符号問題に注意してください。{T=2.0;}looperコードはアルゴリズムを選択するALGORITHMパラメータの設定が必要です。実行は次のようにおこないます。次にPythonスクリプトtutorial2c.pyを用いた計算の実行方法を述べます。サンプル計算ではコマンドラインでの計算実行で用いたparm2cを使用します。図のプロット方法はタイトルとファイル名以外は前に紹介したものと同じです。こちらのコードtutorial2c.pyを参考にしてください。magnetization"のワークフローを見てください。入力ファイルの生成、計算の実行、計算の出力を設定する"Execute"をクリックしてください。1次元量子ハイゼンベルグ梯子インプットファイルと実行スクリプトを精査してください。Pythonスクリプトtutorial2d.py、Vistrailsチュートリアルファイルmc-02-susceptibilities.vtになります。最後に、4つのシミュレーションを統合し実行する方法を紹介します。Python4種類のシミュレーション実行後、スクリプトtutorial2full.pyを使用してみてください。全計算結果をロードし、データ構造をフラットにします。pyalps.flatten(data)温度の関数としての磁化率を収集し、格子、モデルパラメータの値に応じてデータを設定します。pyalps.collectXY(data,x='T',y='Susceptibility',foreach=['MODEL','LATTICE'])次に、Pythonコードで実用的な入出力ラベル(名称)の設定をおこないます。J$')plt.ylim(0,0.25)plt.legend()plt.show()Vistrails上記と同じプロットはVistraisでも容易に作成できます。combined"です。古典計算と量子計算の間に違いはありますか?格子によって磁化率はどうかわりますか?なぜ磁化率が変わるのかわかりますか?参考までに、次図は、4つの計算結果をまとめてプロットしたものです。ALPSDisclaimers。