Post

List of Software

When I was working at the linear accelerator driven free-electron laser facility, I’ve developed a lot of different software to do the machine commissioning/operation, numerical simulation/modeling, etc. Each one below could be the name of the software project, or software package, or GitHub repository.

  • felapps

    A Python package developed for the commissioning of free-electron laser facility, with the intention of providing useful toolkits for the high-level applications, both command line interface (CLI) and graphical user interface (GUI) applications are developed.

  • beamline

    A Python package created for the accelerator (e.g. LINAC) online-modeling (simulation code: Elegent), trying to supply both CLI and GUI working environment, upon which extensions/tools could be developed to solve specific problems.

  • pydraw

    A Python GUI application to illustrate the basic features of Python and wxPython.

  • pelican

    A C++ CLI application to simulate the free-electron laser process, i.e. the radiation amplification procedure originated from the interaction between electron beam and radiation itself.

  • vFEL

    EPICS soft-IOC (C/C++) application for virtual FEL machine (FEL simulation section is to be done with Genesis 1.3), the data source should be came from beamline model, so the two packages should be used together.

  • modu

    A C++ CLI application to simulate the interaction between electron beam and optical laser, basically the modulation process happened when electron beam goes through the modulator undulator (critical physics process of a seeded FEL), the generated electron beam phase space distribution could be used by Elegant or Genesis 1.3.

  • pyrpn

    A RPN solver written with Python, RPN is brief for “Reverse Polish Notation”. beamline package depends on this package to parse the RPN expressions used in the Elegant input file.

This post is licensed under CC BY 4.0 by the author.