Skip to main content

Analytical potentials for rectangle electrodes in a surface ion trap

Project description

rectset

License DOI

Analytical potentials for rectangle electrodes in a surface ion trap.

This package provides numpy functions to calculate analytically the electric potential, gradient, and hessian generated by a rectangular electrode in the upper half-space above it $(z > 0)$.

Install

pip install rectset

Dependencies

numpy

API

rectangle_electrode.py

Static potential, gradient and hessian generated by a rectangle electrode of finite size delimited by corner points $(x_1, y_1)$ and $(x_2, y_2)$, set at a DC potential of 1 V.

pseudopotential.py

Static potential and gradient of a pair of electrodes symmetric around $y = 0$, separated by a distance $a$, of width $w$ and infinitely extended along $x$; pseudopotential generated by the same pair loaded by an AC voltage of amplitude 1 V, frequency of 1 MHz, for a particle of charge +1 elementary charge and of mass 1 amu.

Geometry

Usage

import numpy as np
from rectset import rectangle_electrode as rect
from rectset import pseudopotential as ps

# Square electrode of 20 x 20 um
# Potential and derivatives along one line at 50 um above the trap plane

x1, y1 = -10e-6, -10e-6
x2, y2 = 10e-6, 10e-6

x = np.linspace(-100, 100) * 1e-6
y = 0
z = 50e-6

pot = rect.rect_el_potential(x, y, z, x1, x2, y1, y2)  # ndarray, shape (50,)
grad = rect.rect_el_gradient(x, y, z, x1, x2, y1, y2)  # ndarray, shape (50, 3)
hess = rect.rect_el_hessian(x, y, z, x1, x2, y1, y2)  # ndarray, shape (50, 3, 3)


# Infinite pair of RF electrodes, large 100 um and separated by 40 um
# Pseudopotential and derivatives experienced by a 40Ca+ ion with
# RF voltage amplitude = 50 V
# RF voltage frequency = 30 MHz

a = 40e-6
w = 100e-6
rf_v = 50  # volt
rf_freq_mhz = 30  # megahertz
ion_unit_charge = 1  # elementary charge
ion_mass_amu = 40  # amu

K = (rf_v**2 * ion_unit_charge) / (ion_mass_amu * rf_freq_mhz**2)  # trap and ion scaling factor

pspot = K * ps.pseudo_potential(x, y, z, a, w)  # ndarray, shape (50,)
psgrad = K * ps.pseudo_gradient(x, y, z, a, w)  # ndarray, shape (50, 3)
pshess = K * ps.pseudo_hessian(x, y, z, a, w)  # ndarray, shape (50, 3, 3)

References

M.G.House, "Analytic model for electrostatic fields in surface-electrode ion traps", Phys. Rev. A 78, 033402 (2008) https://doi.org/10.1103/PhysRevA.78.033402

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rectset-1.0.1.tar.gz (8.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rectset-1.0.1-py3-none-any.whl (7.5 kB view details)

Uploaded Python 3

File details

Details for the file rectset-1.0.1.tar.gz.

File metadata

  • Download URL: rectset-1.0.1.tar.gz
  • Upload date:
  • Size: 8.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for rectset-1.0.1.tar.gz
Algorithm Hash digest
SHA256 58ec6fbe46174b6307b8edfb99d4efa6815dfaf6edf643f5fe05e2c7f65f8899
MD5 7f62914aa92eb9721538d2b71d4679d2
BLAKE2b-256 b20dead70f1e681847fdb6a0127334af7ebc2aef1444d9fbc86a8e30ad54cbfb

See more details on using hashes here.

File details

Details for the file rectset-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: rectset-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 7.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for rectset-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a0967bc75bb35c88d1c07fc1c621acff937a572b0b0538d4a17cefb04b66dc00
MD5 8c0f0ec0a6c1aeb62b3e5723aa1ac635
BLAKE2b-256 b9670a05d67ecab6c4319255c580d4e5193247fdd8aa5ae343d6ad97f032ac17

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page