ICAP 2002 Abstracts and Posters
A Python Shell for ORBIT, a Code for Synchrotrons with Space Charge
Abstract
ORBIT is a code developed at SNS to model synchrotrons
operating in a regime where space charge is relevant to the
dynamics.
Although the code is entirely written in C++, it is
structured as a collection of modules interfaced to
SuperCODE, a high level interpreter shell. SuperCODE was
developed at
LLNL in the early 90; its syntax is -by design- similar to
C++.
In many ways, it was ahead of its time; unfortunately it
is now an orphaned product. In this paper we report on the
technical aspects of modifications to ORBIT to replace
SuperCODE with the widely supported Open Source Python
interpreter. In part because of its reliance on immutable
data types to simplify memory management, Python has some
minor limitations. However, this is more that compensated
by the fact that it allows programmers and users to extend
and/or customize ORBIT using procedures that are
straightforward and well documented. Furthermore, it is
also possible to take immediate advantage of existing, high
quality modules for functions such as plotting or signal
processing.
Jean-Francois Ostiguy FNAL, Jeff Holmes SNS, John Galambos SNS
Go Back to the ICAP02 Talks Schedule page.
Go Back to the ICAP02 Posters page.
Go Back to the ICAP02 home.
This page is maintained by Kyoko Makino.