Skip to content

ULB-Metronu/georges-core

Repository files navigation

Georges' accelerator physics library - Core

ci documentation Python version

Bugs Coverage Reliability Rating

License Code style: black Gitter

Georges-core is a Python3 library that provides a lot of basic functionalities for other libraries such as Zgoubidoo or Georges. Among the different modules, we have :

  • The Kinematics module
  • The beam's distribution generator
  • The Twiss computation
  • The plotting module
  • The sequence converter

Design

The aim of this library is to unify the description of particle accelerator beamlines for different tools (MAD-X, MAD-NG and BDSIM at this stage) in a unique Python library.

The library design strongly follows conventions and typical uses of the Pandas library: beamlines are naturally described as Dataframes. A functional approach is also one of the design goal of the library, something which fits well with Pandas.

Beamlines are loaded and converted using functions split in packages (one package per beam physics code, e.g. MAD-X or BDSIM) in a unique format (georges-core.Sequence). This object serves as an input for other tracking code such as Manzoni or Zgoubidoo.

Twiss computation is also provided especially in coupled Twiss computation.

Support tools are also provided, notably a plotting library (based on Matplotlib or Plotly)

Installation

georges-core is available from PyPI with pip::

pip install georges-core

For a custom installation, please read the installation section in the documentation.