Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

Another Particle Accelerator Code

Project description

apace

Python Version PyPI CI Docs

apace is yet another particle accelerator code designed for the optimization of beam optics. It is available as Python package and aims to provide a convenient and straightforward API to make use of Python's numerous scientific libraries.

Installing

Install and update using pip or pipenv:

pip install -U apace

Requirements

  • Python 3.6 or higher (CPython or PyPy)
  • CFFI 1.0.0 or higher
  • NumPy/SciPy
  • Matplotlib

A Simple Example

Import apace:

import apace as ap

Create a ring consisting out of 8 FODO cells:

d1 = ap.Drift('D1', length=0.55)
b1 = ap.Bend('B1', length=1.5, angle=0.392701, e1=0.1963505, e2=0.1963505)
q1 = ap.Quad('Q1', length=0.2, k1=1.2)
q2 = ap.Quad('Q2', length=0.4, k1=-1.2)
fodo = ap.Cell('FODO', [q1, d1, b1, d1, q2, d1, b1, d1, q1])
ring = ap.Cell('RING', [fodo] * 8)

Calculate the Twiss parameters:

twiss = ap.Twiss(ring)

Plot horizontal and vertical beta functions using matplotlib:

import matplotlib.pyplot as plt
plt.plot(twiss.s, twiss.beta_x, twiss.beta_y, twiss.eta_x)

License

GNU General Public License v3.0

Project details


Download files

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

Files for apace, version 0.0.2
Filename, size File type Python version Upload date Hashes
Filename, size apace-0.0.2.tar.gz (46.1 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page