Skip to content

nist-ionstorage/electrode

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

https://travis-ci.org/nist-ionstorage/electrode.svg?branch=master https://zenodo.org/badge/doi/10.5281/zenodo.10118.png

Description

Electrode is a toolkit to develop and analyze RF ion traps. It can optimize 2D surface electrode patterns to achieve desired trapping properties and extract relevant parameters of the resulting geometry. The software also treats precomputed 3D volumetric field and potential data transparently.

Quick overview and tutorial: http://nbviewer.ipython.org/github/nist-ionstorage/electrode/blob/master/examples/tutorial.ipynb

See also:

[1] Roman Schmied <roman.schmied@unibas.ch>, SurfacePattern software package. http://atom.physik.unibas.ch/people/romanschmied/code/SurfacePattern.php

[2] Roman Schmied: Electrostatics of gapped and finite surface electrodes. New Journal of Physics 12:023038 (2010). http://dx.doi.org/10.1088/1367-2630/12/2/023038

[3] Roman Schmied, Janus H. Wesenberg, and Dietrich Leibfried: Optimal Surface-Electrode Trap Lattices for Quantum Simulation with Trapped Ions. Physical Review Letters 102:233002 (2009). http://dx.doi.org/10.1103/PhysRevLett.102.233002

[4] A. van Oosterom and J. Strackee: The Solid Angle of a Plane Triangle, IEEE Transactions on Biomedical Engineering, vol. BME-30, no. 2, pp. 125-126. (1983) http://dx.doi.org/10.1109/TBME.1983.325207

[5] Mário H. Oliveira and José A. Miranda: Biot–Savart-like law in electrostatics. European Journal of Physics 22:31 (2001). http://dx.doi.org/10.1088/0143-0807/22/1/304

Dependencies

Debian based GNU/Linuxes

# apt-get install python-cvxopt python-numpy python-matplotlib
python-scipy python-traits python-shapely

to use the ipython based notebooks, try

# apt-get install ipython-notebook

Usage

Running console scripts

The tutorial contains two examples of surface electrode traps (five_wire and threefold). The relevant code can be all pasted into a Python script (five_wire.py) or IPython notebook (see below) and executed.

Without installing anything

Use e.g.:

$ PYTHONPATH=. python your_script.py

to run a script without instaling the electrode package.

Keeping the package files editable

# python setup.py develop

installs the package into your python tree such that it can be imported from any script anywhere on your system. It only creates links from your python tree to this development tree and changes in the package immediately become visible.

Full installation

# python setup.py install

installs the package in your python tree by copying and compiling the files. After this, changes to the package files in this development tree become only visible if you install the package again.

Runing the notebooks

Ensure you have ipython > 0.11 with ipython notebook installed, then run

$ ipython notebook --pylab=inline --notebook-dir=examples --script