aurora-multiphysics / cyclops

Cyclops is a sensor suite optimisation program, designed for fusion engineering experiments.
GNU Lesser General Public License v2.1
2 stars 1 forks source link
machine-learning

Cyclops

Cyclops is a sensor suite optimisation program, designed for fusion engineering experiments.

Cyclops takes a simulated experiment and searches for the optimal layout of sensors whose readings allow for an accurate reconstruction of the full field information, while remaining robust to sensor failures.

Installation

Linux

Create a virtual environment and activate it. (Skip this step if you intend to install cyclops into an existing python environment.)

python3 -m venv venv
source venv/bin/activate

Standard install

To install Cyclops, run the following:

# Ensure `build` package is installed.
pip3 install build --upgrade

# Build the distribution package.
python3 -m build

# Install the built distribution.
pip3 install ./dist/*.whl

If you intend to use the jupyter notebook tutorials, also run the following line:

# Enable virtual environment in the tutorial notebooks.
python3 -m ipykernel install --user --name=venv

Cyclops can now be imported into python using: import cyclops

To test the installation, run the following:

python3 -c "import cyclops"

If the installation was unsuccessful, an error will be raised.

Editable install (developer mode)

Developers may wish to create an editable installation. This allows changes to the source code to immediately take effect without the need to re-package and re-install cyclops. This can be useful when running tests and other scripts. To install Cyclops in this way, run the following:

# Install as an editable installation.
pip3 install --editable .

Latex plots

To enable Latex style plots, install latex via:

sudo apt-get install dvipng texlive-latex-extra texlive-fonts-recommended cm-super

Then initialise the plot manager as PlotManager(latex_mode=True).

Windows

Windows installation is untested.

MacOS

MacOS installation is untested.

Getting started

To start using cyclops, please refer to the included tutorials in cyclops/tutorials/.

Example scripts are also included in cyclops/examples/.

Contributors

Dom Harrington, UK Atomic Energy Authority

Luke Humphrey, UK Atomic Energy Authority

Lloyd Fletcher, UK Atomic Energy Authority

Citing Cyclops

If using Cyclops in your research, please be sure to cite its key dependencies. Information on what to cite can be found on each package's website as follows: