Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/christophermayes/lume-astra

Python wrapper for Astra (A Space Charge Tracking Algorithm, DESY) for eventual use in LUME https://christophermayes.github.io/lume-astra/
https://github.com/christophermayes/lume-astra

Last synced: 25 days ago
JSON representation

Python wrapper for Astra (A Space Charge Tracking Algorithm, DESY) for eventual use in LUME https://christophermayes.github.io/lume-astra/

Awesome Lists containing this project

README

        

# LUME-Astra
Python wrapper for [ASTRA](http://www.desy.de/~mpyflo/) (A Space Charge Tracking Algorithm, DESY) for use in LUME.

**`Documentation`** |
------------------- |
[![Documentation](https://img.shields.io/badge/astra-documentation-blue.svg)](https://christophermayes.github.io/lume-astra/) |

```python
from astra import Astra

A = Astra('Astra.in')
A.run()
A.plot(y=['norm_emit_x', 'norm_emit_y'], y2=['sigma_x', 'sigma_y'])
```
![](assets/apex-gun-lume-astra.png)

Installing lume-astra
=====================

Installing `lume-astra` from the `conda-forge` channel can be achieved by adding `conda-forge` to your channels with:

```
conda config --add channels conda-forge
```

Once the `conda-forge` channel has been enabled, `lume-astra` can be installed with:

```
conda install lume-astra
```

It is possible to list all of the versions of `lume-astra` available on your platform with:

```
conda search lume-astra --channel conda-forge

```

Installing Astra Executables
=====================

For convenience, you can set `$ASTRA_BIN` and `$GENERATOR_BIN` to point to the Astra and generator binaries for your system. See the [install_astra.ipynb](./examples/install_astra.ipynb) example for easy installation.

## Basic usage

See [simple_astra_run.ipynb](./examples/basic_astra_examples.ipynb). In short:

```python
from astra import Astra

A = Astra('../templates/Astra.in')

A.verbose = True
A.run()
...
output = A.output
```