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: about 1 year ago
JSON representation
Python wrapper for Astra (A Space Charge Tracking Algorithm, DESY) for eventual use in LUME https://christophermayes.github.io/lume-astra/
- Host: GitHub
- URL: https://github.com/christophermayes/lume-astra
- Owner: ChristopherMayes
- License: apache-2.0
- Created: 2019-03-25T19:44:24.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2024-10-19T15:40:38.000Z (over 1 year ago)
- Last Synced: 2025-04-06T04:59:41.155Z (about 1 year ago)
- Language: Python
- Homepage: https://christophermayes.github.io/lume-astra/
- Size: 214 MB
- Stars: 16
- Watchers: 6
- Forks: 9
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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`** |
------------------- |
[](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'])
```

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
```