Tutorial:QuantumWangLandau

From ALPS
Jump to: navigation, search

Quantum Wang-Landau Monte Carlo Simulations

Thermodynamics of Heisenberg quantum spin chains

The ferromagnetic Heisenberg chain

The parameter file qwl/parm1 sets up a Monte Carlo simulation of the quantum mechanical Heisenberg ferromagnet on a one-dimensional chain with 40 sites, using the quantum Wang-Landau (QWL) method.

LATTICE="chain lattice" 
MODEL="spin"
LATTICE_LIBRARY="../lattices.xml" 
MODEL_LIBRARY="../models.xml"
local_S   = 1/2
L       = 40
T_MIN   = 0.1
T_MAX   = 10.0
DELTA_T = 0.1
CUTOFF  = 500
{J = -1}

Using the following standard sequence of commands you can run the simulation using the QWL code qwl:

parameter2xml parm1
qwl --Tmin 20 parm1.in.xml

After completion, you can produce the XML plot files for the thermodynamic and magnetic observables using qwl_evaluate:

qwl_evaluate parm1.task1.out.xml

This will generate the following XML plot files:

parm1.task1.plot.energy.xml
parm1.task1.plot.free_energy.xml
parm1.task1.plot.entropy.xml
parm1.task1.plot.specific_heat.xml
parm1.task1.plot.uniform_structure_factor.xml
parm1.task1.plot.staggered_structure_factor.xml
parm1.task1.plot.uniform_susceptibility.xml

To extract the calculated results from the XML plot files generated by qwl_evaluate, you can use the plot2text tool, and then view this data with your favorite plotting tool. For example, to extact the data of the energy density vs. temperature, use

plot2text parm1.task1.plot.energy.xml

In a similar way, you can extract the data from the other XML plot files.

When Grace is your favorite plotting tool, you can also directly generate a Grace project file from the XML plot file using the plot2xmgr tool. For example, to generate a Grace project file of the energy vs. temperature, use

plot2xmgr parm1.task1.plot.energy.xml > energy.agr

The antiferromagnetic Heisenberg chain

The parameter file qwl/parm2 sets up a Monte Carlo simulation of the quantum mechanical Heisenberg antiferromagnet on a one-dimensional chain with 40 sites, using the QWL method.

LATTICE="chain lattice"  
MODEL="spin"
LATTICE_LIBRARY="../lattices.xml"
MODEL_LIBRARY="../models.xml"
local_S = 1/2
L       = 40
T_MIN   = 0.1
T_MAX   = 10.0 
DELTA_T = 0.1
CUTOFF  = 500
{J = 1}

Using the following standard sequence of commands you can run the simulation using the QWL code qwl, and produce the XML plot files for its thermodynamic and magnetic observables using qwl_evaluate:

parameter2xml parm2
qwl --Tmin 20 parm2.in.xml
qwl_evaluate parm2.task1.out.xml

You can extract the data from the XML Plot files in the same way as for the ferromagnet. For example, to obtain the data for the energy density vs. temperature in the case of the antiferromagnet:

plot2text parm2.task1.plot.energy.xml

Questions

  • Where are differences between the two cases most pronounced?
  • Why are there only minor differences at high temperatures?
  • What is the value of the entropy at zero and for infinite temperature in both cases (if not sure, perform a simulation for a 8 sites chain to obtain further data)?
  • How is this compatible with the third law of thermodynamics?
  • Why does the uniform susceptibility behave so differently in the two cases?

Critical temperature of the three-dimensional Heisenberg antiferromagnet

The parameter file qwl/parm3 sets up a Monte Carlo simulation of the quantum mechanical Heisenberg antiferromagnet on a three-dimensional simple cubic lattice with 43 sites, using the QWL method.

LATTICE="simple cubic lattice"
MODEL="spin"
LATTICE_LIBRARY="../lattices.xml"
MODEL_LIBRARY="../models.xml"
local_S = 1/2
J       = 1
T_MIN   = 0.5
T_MAX   = 5.0 
DELTA_T = 0.05
CUTOFF  = 500
{L = 4}

Using the following standard sequence of commands you can run the simulation using the QWL code qwl, and produce the XML plot files for its thermodynamic and magnetic observables using qwl_evaluate:

parameter2xml parm3
qwl parm3.in.xml
qwl_evaluate parm3.task1.out.xml

You can extract the data from the XML Plot files in the same way as in part I. For example, to obtain the data for the staggered structure factor per site vs. temperature, use

plot2text parm3.task1.plot.staggered_structure_factor.xml


Questions

  • Why does the staggered structure factor start to increase near T≈1?
  • What are further indications of this phenomena in the thermodynamic properties?

Finite size scaling

Finite size scaling theory predics the staggered structure factor S(L) for this transition to scale at the critical point as L2-η, where η≈0.034. A scaling plot of S(L)/L2-η vs. temperature is expected to show a crossing of curves for different linear system sizes L at the critical temperature Tc. In order to produce such a scaling plot, we set up a further simulation of the cubic antiferromagnet, for a larger system, given in the parameter file qwl/parm4:

LATTICE="simple cubic lattice"
MODEL="spin"
LATTICE_LIBRARY="../lattices.xml"
MODEL_LIBRARY="../models.xml"
local_S = 1/2
J       = 1
T_MIN   = 0.5
T_MAX   = 5.0
DELTA_T = 0.05
CUTOFF  = 1000
{L = 6}

Using the following standard sequence of commands you can run the simulation using the QWL code qwl, and produce the XML plot files for its thermodynamic and magnetic observables using qwl_evaluate:

parameter2xml parm4
qwl parm4.in.xml
qwl_evaluate parm4.task1.out.xml

Note, that this simulation can take up to half an hour (so you can take a break here...)

You can extract the data from the XML Plot files in the same way as in part I. For example, to obtain the data for the staggered structure factor per site vs. temperature, use

plot2text parm4.task1.plot.staggered_structure_factor.xml

Questions

  • Construct the scaling plot for S(L), as described above. Do the curves indeed cross?
  • What is your estimated value of the critical temperature? Compare your estimate to Tc=0.946.
  • How could you improve your estimated value?
  • Would you expect the critical temerature for the quantum ferromagnet to be the same?
  • How would you proceed to obtain a guess for its value? (Give it a try!)


© 2004-2005 by Stefan Wessel