Aurora is an expanding package to simulate heavy-ion transportm neutrals and radiation in magnetically-confined plasmas. It includes a 1.5D impurity transport forward model which inherits many of the methods from the historical STRAHL code and has been thoroughly benchmarked with it. It also offers routines to analyze neutral states of hydrogen isotopes, both from the edge of fusion plasmas and from neutral beam injection. Aurora's code is mostly written in Python 3 and Fortran 90. A Julia interface has also recently been added. The package enables radiation calculations using ADAS atomic rates, which can easily be applied to the output of Aurora's own forward model, or coupled with other 1D, 2D or 3D transport codes.
Documentation is available at https://aurora-fusion.readthedocs.io.
The code is developed and maintained by F. Sciortino (MIT-PSFC) in collaboration with T. Odstrcil (GA) and A. Cavallaro (MIT), with support from O. Linder (MPI-IPP), C. Johnson (U. Auburn), D. Stanczak (IPPLM) and S. Smith (GA). The STRAHL documentation provided by R.Dux (MPI-IPP) was extremely helpful to guide the initial development of Aurora.
New contributors are more than welcome! Please get in touch at sciortino-at-psfc.mit.edu or open a pull-request via Github.
Generally, we would appreciate if you could work with us to merge your features back into the main Aurora distribution if there is any chance that the changes that you made could be useful to others.
Aurora can be installed from PyPI using
pip install aurorafusion
Add a --user
flag to the command above if you don't have write-access to the default package directory on your system (i.e. if you don't have root permissions).
Installing via conda is now also possible using
conda install -c sciortino aurorafusion
Note that the conda installation does NOT currently install dependencies on omfit-eqdsk
, which users may need to install via pip
(see the PyPI repo).
To look at the code and contribute to the Aurora repository, it is recommended to install from source, by git-cloning the Aurora repo from Github. This will ensure that you can access the latest version of the tools. Make sure to use the master
branch to use a stable, updated version. After git-cloning, users can make use of the setup.py
file, e.g. using
python setup.py -e .
or use the makefile in the package directory to build the Fortran code using
make clean; make aurora
Note that the makefile will not install any of the dependencies, listed in the requirements.txt
file in the main directory. You can use this file to quickly install dependencies within a Python virtual environment, or install each dependency one at a time.
Note that the Julia version of the code is not built by default. If you have Julia installed on your system, you can do
make julia
from the main package directory. This will build a Julia sysimage
to speed up access of Julia source code from Python, but it is not strictly necessary. See the documentation to read about interfacing Python3 and Julia.
The package is made open-source with the hope that this will speed up research on fusion energy and make further code development easier. However, we kindly ask that all users communicate to us their purposes, difficulties and successes with Aurora, so that we may support users as much as possible and grow the code further.
Please see the User Agreement.