ALPS 2 Tutorials:DWA-02 Density Profile

From ALPS
Revision as of 00:12, 14 September 2013 by Tamama (talk | contribs) (Density profile)

Jump to: navigation, search

Density profile

As a second example of the dwa QMC code, we will study the density profile of an optical lattice in an harmonic trap which resembles the experiment

Mimicking the Bloch's experiment

Preparing and running the simulation from the command line

The parameter file parm1a 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 dwa code.

LATTICE="inhomogeneous simple cubic lattice"
L=100

MODEL='boson Hubbard"
Nmax=20

t=1.
U=8.11
mu="4.05 - (0.0073752*(x-(L-1)/2.)*(x-(L-1)/2.) + 0.0036849*(y-(L-1)/2.)*(y-(L-1)/2.) + 0.0039068155*(z-(L-1)/2.)*(z-(L-1)/2.))"
 
THERMALIZATION=50000
SWEEPS=200000
SKIP=100

{ T=1. }

Using the standard sequence of commands you can run the simulation using the quantum dwa code

parameter2xml parm2a
dwa --Tmin 5 --write-xml parm2a.in.xml

Preparing and running the simulation from Python

Step 1: The usual business

import pyalps;
import pyalps.dwa;

Step 2: Preparing the parameter file

tof_phase = pyalps.dwa.tofPhase(time_of_flight=15.5, wavelength=[843,765,765], mass=86.99)

params=[]
params.append(

  { 'LATTICE'         : 'inhomogeneous simple cubic lattice'   # Refer to <lattice.xml> from ALPS Lattice Library
  , 'MODEL'           : 'boson Hubbard'                        # Refer to <model.xml>   from ALPS Model Library

  , 'L'               : 100                # Length aspect of lattice               
  , 'Nmax'            : 20                 # Maximum number of bosons on each site

  , 't'               : 1.                 # Hopping
  , 'U'               : 8.11               # Onsite Interaction
  , 'T'               : 1.                 # Temperature
  , 'mu_homogeneous'  : 4.05               # Chemical potential (homogeneous) 
  , 'mu'              : 'mu_homogeneous - (0.0073752*(x-(L-1)/2.)*(x-(L-1)/2.) + 0.0036849*(y-(L-1)/2.)*(y-(L-1)/2.) + 0.0039068155*(z-(L-1)/2.)*(z-(L-1)/2.))'

  , 'tof_phase'       :  str(tof_phase) 
  
  , 'SWEEPS'          : 100000             # Total number of sweeps
  , 'SKIP'            : 100                # Number of sweeps before measurement (You don't need to measure too often!)  
  }

)
h5_infiles = pyalps.writeInputH5Files("parm9f",params);

or simply if existent,

h5_infiles = pyalps.getInputH5Files(prefix='parm9f');

Have a preliminary taste:

pyalps.runApplication('dwa', h5_infiles[0]);

Detailed step by step instruction for running this example is illustrated here.