Tutorial:SSE

From ALPS
Revision as of 18:58, 20 August 2009 by Troyer (talk | contribs) (Correlation functions example)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Magnetization versus magnetic field

One-dimensional Heisenberg chain in a magnetic field

The parameter file quantum2/parm4a sets up Monte Carlo simulations of the quantum mechanical S=1/2 Heisenberg model on a one-dimensional chain with 20 sites at fixed temperature T=0.08 for a couple of magnetic fields (h=0, 0.1, ..., 2.5).

LATTICE="chain lattice" 
MODEL   = "spin"
LATTICE_LIBRARY="../lattices.xml" 
MODEL_LIBRARY="../models.xml"
local_S=1/2
L=20
J0=1
J1=1
T=0.08
THERMALIZATION=2000
SWEEPS=20000
{h=0;}
{h=0.1;}
{h=0.2;}
{h=0.3;}
{h=0.4;}
{h=0.5;}
{h=0.6;}
{h=0.7;}
{h=0.8;}
{h=0.9;}
{h=1.0;}
{h=1.2;}
{h=1.4;}
{h=1.6;}
{h=1.8;}
{h=2.0;}
{h=2.2;}
{h=2.4;}
{h=2.5;}

Using the following standard sequence of commands you can run the simulation using the quantum SSE code and extract the calculated magnetization from the XML output files

parameter2xml parm4a
dirloop_sse --Tmin 10 parm4a.in.xml
extracttext plot2.xml parm4a.task*.out.xml

where plot2.xml specifies a plot of the magnetization versus magnetic field

<?xml version="1.0" encoding="UTF-8"?>  

<plot name="Magnetization versus magnetic field for one-dimesnional Heisenberg models">
 
  <legend show="true"/>
  <xaxis label="Magnetic field" type="PARAMETER" name="h"/>
  <yaxis label="Magnetization"  type="SCALAR_AVERAGE"/>

  <set label="One-dimensional chain"/>

</plot>

Questions

  • How does the magnetization depend on the magnetic field?

One-dimensional Heisenberg ladder in a magnetic field

The parameter file quantum2/parm4b sets up Monte Carlo simulations of the quantum mechanical S=1/2 Heisenberg model on a one-dimensional ladder with 40 sites at fixed temperature T=0.08 for a couple of magnetic fields (h=0, 0.1, ..., 3.5).

LATTICE="ladder" 
MODEL   = "spin"
LATTICE_LIBRARY="../lattices.xml" 
MODEL_LIBRARY="../models.xml"
local_S=1/2
L=20
J0=1
J1=1
T=0.08
THERMALIZATION=2000
SWEEPS=20000
{h=0;}
{h=0.1;}
{h=0.2;}
{h=0.3;}
{h=0.4;}
{h=0.5;}
{h=0.6;}
{h=0.8;}
{h=1.0;}
{h=1.25;}
{h=1.5;}
{h=1.75;}
{h=2.0;}
{h=2.25;}
{h=2.5;}
{h=2.75;}
{h=3.0;}
{h=3.25;}
{h=3.5;}  

Using the following standard sequence of commands you can run the simulation using the quantum SSE code and extract the calculated magnetization from the XML output files

parameter2xml parm4b
dirloop_sse --Tmin 10 parm4b.in.xml
extracttext plot2.xml parm4b.task*.out.xml

Questions

  • How does the magnetization depend on the lattice?
  • Bonus: You can also study a 3-leg, 4-leg ladder or a spin-1, spin-3/2 chain. Is there a systematic behavior?

2D Heisenberg model

Correlation functions example

This example illustrates how to measure correlation functions and other quantities which are implemented in the dirloop_sse application. We use the following parameter file (quantum2/parm4c) to set up a 4x4 Heisenberg model on a square lattice:

MODEL="spin";
LATTICE="square lattice";
LATTICE_LIBRARY="../lattices.xml"
MODEL_LIBRARY="../models.xml"
REPRESENTATION="SSE"; 
MEASURE[Correlations]=true;
MEASURE[Structure Factor]=true;
MEASURE[Green Function]=true;
MEASURE[Bond Type Stiffness]=true;
THERMALIZATION=10000;
SWEEPS=500000;
J=1;
L=4;
W=4;
T=0.3;
{h=0.1;}

T is the temperature and h the external magnetic field. Like in the previous examples we first convert the input parameter file to xml:

parameter2xml parm4c

and then execute the application:

dirloop_sse parm4c.in.xml

The output file parm4c.task1.out.xml can be displayed with a standard internet browser. The quantities which are measured are: Energy, Magnetization M, M^2, M^4, Stiffness, Staggered Magnetization SM, SM^2, SM^4, Susceptibility, n, n^2, n^4, Bond Type Stiffness, Green's Function, Spin Correlations and Spin Structure Factor.

Here is an example line of a measurement in the output file:

Name	                                Count	Mean	        Error	        Tau Method
Spin Correlations[( 0,0 ) -- ( 0,3 )]	546815	-0.114186	0.000159	0.418	binning

This corresponds to the expectation value <Sz(0,0)Sz(0,3)>. Count are the number of measurements, Tau is the autocorrelation time and 'Method' refers to the way the error is estimated. In this case a binning analysis was used.

On another output line we obtain:

Spin Structure Factor[( 1.5707963,1.5707963 )]	546815	   2.6866 	0.00528      0.341	  binning
                                                                  check convergence		

The remark "check convergence" indicates that the error estimation from the binning analysis has not completely converged and more measurements are needed to get an accurate error estimate. If we set the parameter SWEEPS=1000000 in the input file then the binning analysis converges.


© 2003-2005 by Simon Trebst and Synge Todo