Tutorial:WormAlgorithm

Quantum phase transitions in the Bose-Hubbard model

The following examples can be found in tutorial/quantum3 in the applications source directory.

The Bose-Hubbard model

The parameter file quantum3/parm5a sets up Monte Carlo simulations of the quantum Bose Hubbard model on a square lattice with 4x4 sites for a couple of hopping parameters (t=0.01, 0.02, ..., 0.1) using the worm code.

```LATTICE_LIBRARY="../lattices.xml";
LATTICE="square lattice";
L=4;

MODEL_LIBRARY="../models.xml";
MODEL="boson Hubbard";
NONLOCAL=0;
U    = 1.0;
mu   = 0.5;
Nmax = 2;

T = 0.1;

SWEEPS=500000;
THERMALIZATION=10000;

{ t=0.01; }
{ t=0.02; }
{ t=0.03; }
{ t=0.04; }
{ t=0.05; }
{ t=0.06; }
{ t=0.07; }
{ t=0.08; }
{ t=0.09; }
{ t=0.1; }
```

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

```parameter2xml parm5a
worm --Tmin 10 parm5a.in.xml
xmgrace plot5a.xmgr
```

where the plot is specified in the file stiffnessplot.xml like

```<?xml version="1.0" encoding="UTF-8"?>
<plot name="Stiffness versus temperature for the 2D BHM">

<legend show="true"/>
<xaxis label="Temperature"    type="PARAMETER" name="T"/>
<yaxis label="Stiffness"      type="SCALAR_AVERAGE"/>

<set label="rho vs. T"/>

</plot>
```

Questions

• What is the signature of the phase transition?

The transition from the Mott insulator to superfluidity

The parameter file quantum3/parm5b sets up Monte Carlo simulations of the quantum Bose Hubbard model on a two-dimensional square lattice for various system sizes.

```LATTICE_LIBRARY="../lattices.xml";
LATTICE="square lattice";

MODEL_LIBRARY="../models.xml";
MODEL="boson Hubbard";
NONLOCAL=0;
U    = 1.0;
mu   = 0.5;
Nmax = 2;

T = 0.05;

SWEEPS=600000;
THERMALIZATION=150000;

{ L=4; t=0.045; }
{ L=4; t=0.05; }
{ L=4; t=0.0525; }
{ L=4; t=0.055; }
{ L=4; t=0.0575; }
{ L=4; t=0.06; }
{ L=4; t=0.065; }

{ L=6; t=0.045; }
{ L=6; t=0.05; }
{ L=6; t=0.0525; }
{ L=6; t=0.055; }
{ L=6; t=0.0575; }
{ L=6; t=0.06; }
{ L=6; t=0.065; }

{ L=8; t=0.045; }
{ L=8; t=0.05; }
{ L=8; t=0.0525; }
{ L=8; t=0.055; }
{ L=8; t=0.0575; }
{ L=8; t=0.06; }
{ L=8; t=0.065; }
```

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

```parameter2xml parm5b
worm --Tmin 10 parm5b.in.xml