~jordens/electrode/master

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
.. image:: https://travis-ci.org/nist-ionstorage/electrode.svg?branch=master
  :target: https://travis-ci.org/nist-ionstorage/electrode

.. image:: https://zenodo.org/badge/doi/10.5281/zenodo.10118.png
  :target: https://zenodo.org/record/10118


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