/PROCESS

PROCESS is a systems code at UKAEA that calculates in a self-consistent manner the parameters of a fusion power plant with a specified performance, ensuring that its operating limits are not violated, and with the option to optimise to a given function of these parameters.

Primary LanguagePythonMIT LicenseMIT

DOI codecov

PROCESS

Here are the PROCESS docs.

PROCESS is the reactor systems code at the UK Atomic Energy Authority. More information on PROCESS can be found on the PROCESS webpage.

PROCESS was originally a Fortran code, but is currently a mixture of Python and Python-wrapped Fortran; the eventual aim is to have an entirely Python code base. In order to use PROCESS, the Fortran must be compiled and a Python-Fortran interface generated for the Python to import. Once built, it can be installed and run as a Python package.

Blender_and_output

Overview of some outputs for a DEMO-like reactor (3D image generated using Fusrr-pipeline).

Getting Started

Please see the installation guide and the usage guide. Once installed, the examples directory provides Jupyter notebooks for interactively demonstrating usage of PROCESS, which is a good place to start. The examples/README.md provides more help.

Documentation

To read about how the code works and the modules in it see the documentation.

Tracking and Testing

Process uses a mixture of tracking and testing to ensure code reliability. Tests are run on each branch and ensure the output of keys functions are correct. Tracking, on the other hand, shows graphs of a variables changes over time, and what commit caused the change.

Development

Please see the CONTRIBUTING.md for guidance on how to contribute to PROCESS. Further information is found in the development section of the documentation.

Publications

A list of publications using PROCESS is given here, including two papers outlining the physics and engineering models in PROCESS.

Citing PROCESS

If you use PROCESS in your work, please cite it using the "Cite this repository" link in the "About" section of the repository.

Contacts

James Morris

Jonathan Maddock

Michael Kovari

Stuart Muldrew