tebdol

Simulation of ultracold atoms in optical lattices
git clone https://miroslavurbanek.com/git/tebdol.git
Log | Files | Refs | README

README (5071B)


      1 1. INTRODUCTION
      2 
      3 TEBDOL [1] is a program for calculating time evolution of a system of
      4 ultracold atoms in one-dimensional and two-dimensional optical
      5 lattices. It utilizes the time-evolving block decimation algorithm
      6 (TEBD). One-dimensional version is parallelized using MPI.
      7 
      8 2. INSTALLATION
      9 
     10 TEBDOL is written in Common Lisp and has the following dependencies:
     11 
     12 * Steel Bank Common Lisp (SBCL)
     13 
     14   SBCL is an ANSI Common Lisp compiler. Source and binaries are
     15   available at http://sbcl.org/. TEBDOL was tested with version 1.2.4.
     16 
     17 * Basic Linear Algebra Subprograms (BLAS) and Linear Algebra Package
     18   (LAPACK)
     19 
     20   BLAS and LAPACK libraries provide vector and matrix routines. There
     21   are several vendor-provided implementations available. TEBDOL was
     22   tested with OpenBLAS 0.2.12, which can be download at
     23   http://www.openblas.net/. It also works with Intel MKL.
     24 
     25 * Message Passing Interface (MPI)
     26 
     27   MPI provides support for parallelization. TEBDOL was tested with
     28   version 1.6.5.
     29 
     30 * GNU Scientific Library (GSL)
     31 
     32   GSL is used for random number generation. TEBDOL was tested with
     33   version 1.16.
     34 
     35 After installing SBCL, BLAS/LAPACK, MPI, and GSL, you'll need to edit
     36 the parameters in the script "run" in the top-level directory:
     37 
     38 * LD_LIBRARY_PATH  Paths to directories containing the libraries.
     39 * SBCL             Path to the SBCL binary.
     40 * DSS              Maximum amount of memory allocated for a single
     41                    SBCL process.
     42 
     43 You'll probably also need to edit the file "conf.lisp", where you can
     44 specify the name of the BLAS/LAPACK library and switch MPI
     45 implementation between OpenMPI and MPICH.
     46 
     47 3. USAGE
     48 
     49 There are several examples in the directory "examples":
     50 
     51 * Test of the MPI communication ("mpi.lisp").
     52 
     53   The library is compiled by running it as a single process:
     54 
     55   $ mpirun -n 1 ./run examples/mpi.lisp
     56 
     57   MPI communication can be tested with a command:
     58 
     59   $ mpirun -n 4 ./run examples/mpi.lisp
     60 
     61 * Phase revivals in one dimension ("revivals.lisp").
     62 
     63   An initial state can be created with a command:
     64 
     65   $ ./run inputs/revivals.lisp
     66 
     67   Time evolution is then calculated with a command:
     68 
     69   $ ./run examples/revivals.lisp
     70 
     71   To run TEBDOL in 4 processes in parallel you can run the script
     72   using mpirun:
     73 
     74   $ mpirun -n 4 ./run examples/revivals.lisp
     75 
     76   If you're running it on a single machine you should limit the number
     77   of BLAS/LAPACK threads:
     78 
     79   $ OMP_NUM_THREADS=1 mpiexec -n 4 ./run examples/revivals.lisp
     80 
     81 * Load balancer example ("balancer.lisp").
     82 
     83   This is the same calculation as a previous one. The source code
     84   shows how to use the load balancer.
     85 
     86 * Equilibration example ("trotzky.lisp").
     87 
     88   This example simulates time evolution of a model from article
     89   [2]. Usage is similar to previous examples:
     90 
     91   $ ./run inputs/trotzky.lisp
     92   $ ./run examples/trotzky.lisp
     93 
     94 * Many-body localization in two dimensions ("mbl.lisp").
     95 
     96   This example is inspired by article [3]. Usage:
     97 
     98   $ ./run inputs/mbl.lisp
     99   $ ./run examples/mbl.lisp
    100 
    101   The lattice size and the number of particles should be increased to
    102   observe a proper crossover from thermalization to localization.
    103 
    104 * Boson expansion in two dimensions ("expans.lisp").
    105 
    106   This example is inspired by article [4]. Usage:
    107 
    108   $ ./run examples/expans.lisp
    109 
    110 The sample outputs are in the directory "outputs".
    111 
    112 4. FILES
    113 
    114 asdf.conf: A configuration file for Another System Definition Facility.
    115 conf.lisp: Basic program configuration.
    116 run: Main execution script.
    117 examples/*: Example calculations.
    118 outputs/*: Sample outputs of the examples.
    119 inputs/*: Input files and programs to create them.
    120 tebdol/array.lisp: Array tensor routines.
    121 tebdol/bhm.lisp: Bose-Hubbard model.
    122 tebdol/blas.lisp: Interface to BLAS and LAPACK.
    123 tebdol/exp.lisp: Tensor exponential.
    124 tebdol/mpi.lisp: Interface to MPI.
    125 tebdol/mps.lisp: Routines for working with matrix product states.
    126 tebdol/part.lisp: Partitioning routines including a load balancer.
    127 tebdol/serial.lisp: Serialization routines.
    128 tebdol/tebd.lisp: Time-evolving block decimation algorithm.
    129 tebdol/tebdol.asd: System definition.
    130 tebdol/tensor.lisp: Symmetric tensor routines.
    131 tebdol/ttns.lisp: Routines for working with tree tensor network states.
    132 tebdol/util.lisp: Miscellaneous utilities.
    133 
    134 5. AUTHOR
    135 
    136 Miroslav Urbanek <miroslav.urbanek@mff.cuni.cz>
    137 
    138 6. REFERENCES
    139 
    140 [1] M. Urbanek and P. Soldán, "Parallel implementation of the
    141 time-evolving block decimation algorithm for the Bose–Hubbard model",
    142 Comput. Phys. Commun. 199, 170–177
    143 (2016). doi:10.1016/j.cpc.2015.10.016
    144 
    145 [2] S. Trotzky et al., "Probing the relaxation towards equilibrium in
    146 an isolated strongly correlated one-dimensional Bose gas", Nature
    147 Physics 8, 325–330 (2012). doi:10.1038/nphys2232
    148 
    149 [3] J.-y. Choi et al., "Exploring the many-body localization
    150 transition in two dimension", Science 352, 1547–1552
    151 (2016). doi:10.1126/science.aaf8834
    152 
    153 [4] J. Hauschild et al., "Sudden expansion and domain-wall melting of
    154 strongly interacting bosons in two-dimensional optical lattices and on
    155 multileg ladders", Physical Review A 92, 053629
    156 (2015). doi:10.1103/PhysRevA.92.053629