Metadata-Version: 2.4
Name: tokamak-neutron-source
Version: 0.1.2
Author: The tokamak neutron source team
License-Expression: LGPL-2.1-or-later
License-File: LICENCE
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: POSIX :: Linux
Requires-Python: >=3.10
Requires-Dist: babel
Requires-Dist: contourpy>=1.0
Requires-Dist: eqdsk<0.6.0,>=0.5.0
Requires-Dist: matplotlib>=3.8
Requires-Dist: numba>=0.59
Requires-Dist: numpy>=1.26
Requires-Dist: periodictable
Requires-Dist: pint
Requires-Dist: pyyaml
Requires-Dist: scipy>=1.11.2
Provides-Extra: dev
Requires-Dist: pre-commit; extra == 'dev'
Requires-Dist: ruff; extra == 'dev'
Requires-Dist: ty; extra == 'dev'
Provides-Extra: docs
Requires-Dist: jupytext; extra == 'docs'
Requires-Dist: mkdocs; extra == 'docs'
Requires-Dist: mkdocs-gen-files; extra == 'docs'
Requires-Dist: mkdocs-jupyter; extra == 'docs'
Requires-Dist: mkdocs-literate-nav; extra == 'docs'
Requires-Dist: mkdocs-material; extra == 'docs'
Requires-Dist: mkdocs-section-index; extra == 'docs'
Requires-Dist: mkdocstrings[python]; extra == 'docs'
Provides-Extra: jetto
Requires-Dist: jetto-tools==1.8.13; extra == 'jetto'
Provides-Extra: openmc
Requires-Dist: openmc; extra == 'openmc'
Provides-Extra: test
Requires-Dist: pytest; extra == 'test'
Requires-Dist: pytest-cov; extra == 'test'
Requires-Dist: pytest-html; extra == 'test'
Requires-Dist: pytest-json-report; extra == 'test'
Requires-Dist: pytest-metadata; extra == 'test'
Description-Content-Type: text/markdown

[![DOI](https://zenodo.org/badge/1067705955.svg)](https://zenodo.org/badge/latestdoi/1067705955)

# Introduction

`tokamak-neutron-source` is a package that provides a flexible and high-fidelity fusion neutron source for tokamaks in OpenMC and other Monte Carlo radiation transport codes.

# Installation

We don't try to manage the installation of your neutronics codes. We recommend you install your neutronics code first. If you are using `tokamak-neutron-source` to create an OpenMC source you can create a simple install of OpenMC using `conda` with:

```bash
conda install -c conda-forge 'openmc>=0.15.0'
```

To install the latest release of `tokamak-neutron-source`

```bash
pip install tokamak-neutron-source
```

# Inputs

A tokamak neutron source can be created by specifing the plasma ion density and temperature profiles, and a description of the plasma magneto-hydrodynamic equilibrium.

Profiles can be specified in terms of arrays or as typical parameterisations, such as a parabolic-pedestal parameterisation.

Equilibrium information can be specified via an EQDSK file or as a parameterisation, such as the one found in [Fausser et al., 2012](https://www.sciencedirect.com/science/article/abs/pii/S0920379612000853).

# Outputs

A source object can be used to create an idiomatic source for use in [OpenMC](https://openmc.org/) or exported as an sdef or h5 file for use in OpenMC and [MCNP6](https://mcnp.lanl.gov/).

A neutron source from some typical parameterised profiles and a Fausser flux surface parameterisation:

![](documentation/source/fausser_source.svg)

A neutron source from some arbitrary profiles and a free-boundary equilibrium:

![](documentation/source/eqdsk_source.svg)
