ALPS 2 Tutorials:DWA-02 Density Profile

From ALPS
Revision as of 00:15, 14 September 2013 by Tamama (talk | contribs) (Preparing and running the simulation from the command line)

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 parm2a sets up Monte Carlo simulation of a 1003 optical lattice trap that mimicks the Bloch experiment:

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 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.