Recent Changes - Search:

HomePage

PmWiki

pmwiki.org

BoseHubbardDynamics

In this tutorial, we will explore some phenomena occuring in the Bose-Hubbard model in a trap.

Newton's Cradle

In this example, we start from an initial state in a double-well potential. 30 particles in a 60 site lattice is a reasonable starting point.

Hamiltonian is H_J + 2*H_U 30*H_trap2 - 18*H_trap

In order to find the correct groundstate of this Hamiltonian it is necessary to ensure that the correct number of particles occurs in each well. Since the wells are decoupled this isn't so easy. One approach is to start the simulation with a single-well trap (using the Hamiltonian H_J + 2*H_U + 30*H_trap2 + 0*H_trap) and get an approximately converged wavefunction, and then increase the strength of the quadratic trap every few sweeps, eg

mp-dmrg -w psi -H lattice:"H_J + 2*H_U + 30*H_trap2 -1*H_trap" -m 50

mp-dmrg -w psi -H lattice:"H_J + 2*H_U + 30*H_trap2 -2*H_trap" -m 50

mp-dmrg -w psi -H lattice:"H_J + 2*H_U + 30*H_trap2 -3*H_trap" -m 50

mp-dmrg -w psi -H lattice:"H_J + 2*H_U + 30*H_trap2 -4*H_trap" -m 50

and so on. m=50 states is good enough to get a reasonably accurate wavefunction. Check periodically that the local densities are what you expect, and there is no particle unbalance in the wells,

mp-localexpectation lattice psi N 1 60

You can plot this using xmgrace, with

mp-localexpectation lattice psi N 1 60 | xmgrace -pipe

Time evolution

Once we've got the groundstate in the double-well potential, let us turn it into a single-well and calculate the evolution in real-time.

The Suzuki-Trotter evolution doesn't yet allow an MPO formulation, so we don't use the lattice file: instead, the Hamiltonian is hard-coded into the program. The Suzuki-Trotter evolution tool is called mp-evolve-st, and we will want to set the Hamiltonian with -H bh-u1 to mean we are using the Bose-Hubbard model with U(1) symmetry, and we will need to set the other parameters by hand.

mp-evolve-st -H bh-u1 --U 2 --trap2 30 --J 1 -w psi -m 150 --order 4 -t 0.1 -n 200 -s 10 -o psi-evolved

Here we are using a 4th order Suzuki-Trotter with a timestep of 0.1, and we are calculating a total of 200 timesteps, saving the wavefunction every 10 timesteps (ie, at T=1, T=2, T=3, ... up to T=20) into a file that will be named psi-evolved.t1 (and .t2, .t3, ...). The other parameters --U, --trap, --J and so on specify the parameters of the Hamiltonian.

Edit - History - Print - Recent Changes - Search
Page last modified on September 07, 2012, at 02:04 AM