Giter Club home page Giter Club logo

3d-optical-lattice's Introduction

#3D Visualization of Optical Lattice

  1. Abstract
  2. Installation
  3. Scipy Stack
  4. Cython (optional)
  5. QuTiP
  6. How to start the software
  7. Directions
  8. Basic window
  9. Standard Tetrahedron config.
  10. Umbrella-like config.
  11. Examples
  12. Reference

1. Abstract

My master's research began with Brownian motors at Miami University. Brownian motor is a motor that can extract net work from external noise field at certain conditions, such as at non-equilibrium state or at specific symmetry breaking state. One of the physical realization of Brownian motor system is atomic system that lies in optical lattices. Optical lattices originially rise from the interaction between laser-induced dipole moment of atomic system and external laser beam fields. One of the reasons why optical lattices are fit to Brownian motor experiment is that the lattices can be tuned very easily. During my research time, my research collaborator who actually aimed to build optical lattices asked our theory team to build optical lattice simulation software with appropriate graphical user interface(GUI). Thus, as my master's thesis work, I built a GUI software for simulating optical lattices. In our study, we have assumed that the atoms are at low saturation so that the optical pumping time is much longer than the spontaneous emission tiem. In accordance with such conditions, the excited states dependence has bee deleted adiabatically and the optical lattice can be deducted from finding the eigenvalues of the Hamiltonian operator. For the software framework, Python and its libraries, such as Scipy and QuTip have been used. I sincerely wish the software will be used by any scientists who realize optical lattices in lab environments and it will guide their future research.

2. Installation

Before using the software, it is required to install few open source Python packages. We will briefly describe how to install the packages based on OS, such as Ubuntu, Mac, and Windows.

2.i Scipy Stack

Scipy stack is a collection of open souce packages for scientific computing in Python. In our software, Numpy and Matplotlib are the primary packages that used for the calculation and visulization of optical lattices.

Ubuntu
sudo apt-get install python-numpy python-scipy python-matplotlib ipython ipython-notebook python-pandas python-sympy python-nose
Mac
sudo port install py27-numpy py27-scipy py27-matplotlib py27-ipython +notebook py27-pandas py27-sympy py27-nose
Windows

For Windows users, the easiest way to install the packages of Scipy stack is to download one of these Python distributions, which includes all the key packages:

For more detail on the installation of Scipy Stack, please refer to the official Scipy document

2.ii Cython (For those who don't use Python distributions above)

If you are Ubuntu user and followed the step above, you might need to additionally install Cython packages manually. One of the recommended way of installing is to get source code from git repository.

Ubuntu & Mac

Download latest version of Cython. Git link

sudo apt-get setup.py install

2.iii QuTiP

Ubuntu $ Mac

Download the latest version of QuTip. Official Download Link

sudo apt-get setup.py install
Windows
  • Install the Python(X,Y) distribution (tested with version 2.7.3.1). Other Python distributions, such as Enthought Python Distribution or Anaconda CE have also been reported to work.
  • When installing Python(x,y), explicitly select to include the Cython package in the installation. This package is not selected by default.
  • Add the following content to the file C:/Python27/Lib/distutils/distutils.cfg (or create the file if it does not already exists):
[build]
compiler = mingw32

[build_ext]
compiler = mingw32

The directory where the distutils.cfg file should be placed might be different if you have installed the Python environment in a different location than in the example above.

  • Obtain the QuTiP source code and installed it following the instructions given above.

For more detail on the installation of QuTiP, please refer to official document link

2.iv How to start the software

Once you are done with all the installation procedure above, you need to download the software using the command 'git clone' on your terminal.

git clone https://github.com/ohpyupi/3d-optical-lattice.git

Then, go to the directory, type the command

cd 3d-optical-lattice

To start the software, type the command

python optlattice.py

Finally, you are ready to use the software and plot optical lattice with your choice of atomic transitions and laser configurations!

3. Directions

3.i Basic window tab

Bascic window tab description goes here.

3.ii Standard tetrahedron config. tab

Standard tetrahedron window tab description goes here.

3.iii Umbrella-like config. tab

Umbrella-like window tab description goes here.

4. Examples

4.i Single plots

4.ii Double plots

4.iii Save slides

4.iv Dipople moment

4.v Vibrational frequency

4.vi Wave vectors & polarization

3d-optical-lattice's People

Contributors

paneraallday avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

3d-optical-lattice's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.