Skip to content

u128str/MCTDHB

Repository files navigation

MCTDHB

A. How2 get the sources of the MCTDHB package?

Click here to see how to get ./MCTDHB-master with git, wget or curl: a) Clone the latest version of the MCTDHB package to the directory MCTDHB-master:

git clone https://github.com/u128str/MCTDHB.git MCTDHB-master
b) OR download zip-archive MCTDHB-master.zip:

wget --no-check-certificate --content-disposition https://github.com/u128str/MCTDHB/archive/master.zip

curl -LJO https://github.com/u128str/MCTDHB/archive/master.zip
Unzip the downloaded archive to the directory MCTDHB-master

unzip MCTDHB-master.zip

B. MCTDHB usages

There are three ways to do simulations with the MCTDHB package. The standard and the hardest one is to download on your local computer sources -> recompile -> run. Second way is to use the popular Docker technology - install docker -> download the mctdhb docker-image -> run it... The third and the easiest way is to use the MCTDHB-Laboratory with GUI (installers are available for Win/Unix/Mac).

I. MCTDHB with MCTDHB-Laboratory

Free cross-platform (Mac/Unix/Windows) GUI Here you have to install MCTDHB-Lab, Java, Gnuplot on your computer by yourself.

Mac Windows Linux

Alternative: is to run the MCTDHB-Lab with Docker Here you have to install docker and build the image once (one command) and Ubuntu, Java, Gnuplot, vim, Firefox and MCTDHB-Lab etc will be installed automatically in a Dockerimage which you can use afterwards:
  1. Make a directory where you want to store your Lab projects:
mkdir Labs
cd Labs
  1. Download Dockerfile.MCTDHB-Laboratory.ubuntu file:
wget https://raw.githubusercontent.com/u128str/MCTDHB/master/Dockerfile.MCTDHB-Laboratory.ubuntu

or

curl -LJO  https://raw.githubusercontent.com/u128str/MCTDHB/master/Dockerfile.MCTDHB-Laboratory.ubuntu
  1. Build the mctdhb-lab Docker image (it has Ubuntu, Java, Gnuplot, vim, Firefox and MCTDHB-Lab):
$ docker build --no-cache -f Dockerfile.MCTDHB-Laboratory.ubuntu -t mctdhb-lab  .

It takes few minutes and 1.6GB of your disk storage:

$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
mctdhb-lab          latest              12fbb27c096d        About an hour ago   1.63GB
  1. Run it in graphic mode (on linux):
docker run -ti --rm  -v $(pwd):/work  -e DISPLAY=$DISPLAY    -v /tmp/.X11-unix:/tmp/.X11-unix  mctdhb-lab
  1. In the docker-Ubuntu all your projects are located in /work directory. On your base machine they are in the ./Labs directory. Enjoy the Lab.

II. MCTDHB with Docker technology

click here to see the steps needed to download and run the mctdhb docker image (you do it once to use afterwards): 1) To download the latest MCTDHB docker image (532MB) [mctdhb/auto-build](https://hub.docker.com/r/mctdhb/auto-build/) type:

$ docker pull mctdhb/auto-build
....
$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
mctdhb/auto-build   latest              8dad46489fd3        16 minutes ago      532MB
mctdhb/minunix      latest              ff5670deb65e        13 days ago         434MB
2) Run mctdhb/auto-build docker:

$ docker run --hostname mctdhb-user --rm -it -v $(pwd):/tmp mctdhb/auto-build
At this point you are inside your Docker-Ubuntu system with the MCTDHB package installed in $HOME/MCTDHB-master:

user@mctdhb-user:~/MCTDHB-master/bin$ ls -ltr
total 2668
-rwxrwxr-x 1 user user 1306232 Nov  2 13:10 boson_MCTDHB_gnu_FFTW
-rwxrwxr-x 1 user user 1423048 Nov  2 13:10 properties_LR_gnu_FFTW
click here to see the steps needed to build the mctdhb docker image (actually you don't need it, but in the case...): a) Get ./MCTDHB-master with the above step A and cd to it:

$ cd $HOME/MCTDHB-master
b) Build (~4 mins) the mctdhb-user Docker-image from available Dockerfile (final image size is about of ~532MB)

$ docker build --no-cache -f Dockerfile -t mctdhb-user .
....
Successfully tagged mctdhb-user:latest
$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
mctdhb-user         latest              266f4b3c721e        33 seconds ago      532MB
mctdhb/auto-build   latest              8dad46489fd3        8 minutes ago       532MB
mctdhb/minunix      latest              ff5670deb65e        13 days ago         434MB
c) Run the just-built mctdhb-user Docker-image:

$ docker run --hostname mctdhb-user --rm -it -v $(pwd):/tmp mctdhb-user

III. MCTDHB with Ubuntu - How2 recompile on Ubuntu 16.04

click here to see how recompile the LR-MCTDHB code on your Ubuntu
  1. $ sudo apt-get update && apt-get install -y vim make openmpi-bin libopenmpi-dev fftw3 fftw3-dev libblas-dev liblapack-dev
  2. $ cd you are at your $HOME
  3. $ git clone https://github.com/u128str/MCTDHB.git MCTDHB-master
  4. $ cd MCTDHB-master
  5. $ make

At this point the MCTDHB package is installed in your local Ubuntu system at $HOME/MCTDHB-master:

MCTDHB-master/bin$ ls -ltr
total 2668
-rwxrwxr-x 1 user user 1306232 Nov  2 13:10 boson_MCTDHB_gnu_FFTW
-rwxrwxr-x 1 user user 1423048 Nov  2 13:10 properties_LR_gnu_FFTW

C. MCTDHB first run/test with PRA_86_063606_Table_1 template

More templates/tests are here

The primary goal now is to verify/check correctness of the installation. The secondary goal is to reproduce some data from PRA 86 063606 ArXiV:1207.5128.

To run/test your local or Docker installation copy the PRA_86_063606_Table_1 templates files from $HOME/MCTDHB-master/Templates to $HOME/TEST. Here we assume that you have installed the MCTDHB package to $HOME/MCTDHB-master:

  1. make TEST directory in your $HOME. Plese notice that in the case of usage of the MCTDHB with Docker ./TEST is already exists!
cd && mkdir TEST
cp -r $HOME/MCTDHB-test/Templates/PRA_86_063606_Table_1 $HOME/TEST/.
  1. All necessary input files, i.e, input.in and V_W_Psi_string.in should be in this directory:
cd $HOME/TEST/PRA_86_063606_Table_1
user@mctdhb-user:~/TEST/PRA_86_063606_Table_1$ ls -ltrh *.in
-rwxr-xr-x 1 user user 4.9K Nov  2 13:10 input.in
-rwxr-xr-x 1 user user 1.4K Nov  2 13:10 V_W_Psi_string.in
  1. run MCTDHB simulation
mpirun -n 2 $HOME/MCTDHB-master/bin/boson_MCTDHB_gnu_FFTW
....
====================================================================================================
 Job->Relax. Forward     Iteration:     200     Time: [      0.000000 ->      9.950000 +       0.050000 ->     10.000000  ]
       Input orbital energy E(t+0):        7.0383484153111748( CI Dim:      3003)(ORB Dim:  6*       128=       768)
          OUT  CI  energy E(t+tau):        7.0383484153111668     N =         10   l0*(N-1)= 0.5000000000     kind of W(x-x'):4
                  Delta E     : +/-       -0.0000000000000053                  Error due to  dE:                       NaN
                  Error E     : +/-        0.0000010000000000
      New NO's:   9.968427     |  0.3147304E-01 |  0.9936897E-04 |  0.3137349E-06 |  0.9905159E-09 |  0.3105116E-11 | 
 !!!====== Last Point arroaching Tmax=   10.000000000000000     
 !!!====== Time-Step is reduced to   =  -8.8817841970012523E-015
      Itr Time:    0.2723159790     execution time:   62.0533051491
 # This computation has been done in
 # /home/user/TEST/PRA_86_063606_Table_1
 # Date 02/11/2017; time 14:43:56
 #    Current version 3.3.01 l Heidelberg/Kassel Apr (2017)      # 
 # Morb=  6  Npar=      10   Job= Job->Relax. Forward
 # V(x_y_z&t)= 0.5d0*x^2                                                                                           
 # W(R=|r1-r2|&t)= r^2                                                                                                 
 # Kind of W== 4 [if ==0 W=delta(R) else W=f(R) see Get_InterParticle.F]  lambda_0=     0.055556 Time-dependent? (T/F):F
======================================================================================================================
====================     basic_info.out file (with PATH, time, E, etc) has been written            ===================
======================================================================================================================
  Master               0  is DONE after   64.159628868103027     

  1. to compare with the Reference numbers use vimdiff:
$ vimdiff basic_info.out basic_info.out_Reference 
  1. ENJOY MCTDHB with more templates e.g. PRA_86_063606, PRA_88_023606, PRL_106_240401, PRL_99_030402 and others
 #===============================================================#
 #               __  __  ___ _____ ___  _  _ ___                 #
 #  Scientific  |  \/  |/ __|_   _|   \| || | _ ) (2006-present) #
 #              | |\/| | (__  | | | |) | __ | _ \    Germany     #
 #    Package   |_|  |_|\___| |_| |___/|_||_|___/   Heidelberg   #
 #      http://mctdhb.org    http://mctdhb-lab.com/              #
 #===============================================================#
 #   The Multiconfigurational Time-Dependent Hartree For Bosons  #
 #    Current version 3.3.03 l Heidelberg/Kassel Nov (2017)      #
 #===============  BBB: Be superB with the mctdhbB ==============#
 #                        Founders:                              #
 #                                                               #
 #     Alexej I. Streltsov, Ofir E. Alon, Lorenz S. Cederbaum    #
 #===============================================================#
 #            Created, developed and designed by                 #
 #                                                               #
 #           Alexej I. Streltsov (Project Leader)                #
 #          Alexej.Streltsov [At] pci.uni-heidelberg.de          #
 #                   u128str [At] gmail.com                      #
 #                                                               #
 #                     Contributors:                             #
 #            Lorenz S. Cederbaum, Ofir E. Alon                  #
 #      Kaspar Sakmann, Axel U. J. Lode, Julian Grond            #
 #     Oksana I. Streltsova, Shachar Klaiman, Raphael Beinke     #
 #===============================================================#
 #                       Citation:                               #
 #   When citing the MCTDHB Package in the literature,           #
 #   please cite at least one of the papers 1), 2), or 3)        #
 #   as well as the Package 4):                                  #
 #                                                               #
 #    1) A. I. Streltsov, O. E. Alon, and L. S. Cederbaum,       #
 #       Phys. Rev. Lett. 99, 030402 (2007).                     #
 #                                                               #
 #    2) O. E. Alon, A. I. Streltsov, and L. S. Cederbaum,       #
 #       Phys. Rev. A 77, 033613 (2008).                         #
 #                                                               #
 #    3) A. I. Streltsov, O. E. Alon, and L. S. Cederbaum,       #
 #       Phys. Rev. A 81, 022124 (2010).                         #
 #                                                               #
 #    4) The Multiconfigurational Time-Dependent Hartree         #
 #       for Bosons Package, http://mctdhb.org,                  #
 #       A. I. Streltsov,  et al                                 #
 #                                                               #
 #    Current version 3.3.03 l Heidelberg/Kassel Nov (2017)      #
 #===============================================================#
 ____    ____    ______  _________  ______    ____  ____ ______
|_   \  /   _|.'' ___  ||  _   _  ||_   _ `. |_   ||  _||_   _  \ 
  |   \/   | / .''   \_||_/ | | \_|  | | `. \ | |__| |    | |_)  |
  | |\  /| | | |            | |      | |  | | |  __  |    |  __''.
 _| |_\/_| |_\ `.___.''\   _| |_    _| |_.''/_| |  | |_  _| |__) |
|_____||_____|`.____ .''  |_____|  |______.''|____||____||_______/
        http://mctdhb.org     http://mctdhb-lab.com/
==================================================================
 #===============================================================#
 #   The Multiconfigurational Time-Dependent Hartree For Bosons  #
 #    Current version 3.3.03 l Heidelberg/Kassel Nov (2017)      #
 #===============  BBB: Be superB with the mctdhB  ==============#