This python-based package offers a collection of pre-built OpenMC neutron sources for fusion applications.
OpenMC is required to use this package.
To install openmc-plasma-source, simply run:
pip install openmc-plasma-source
Create a source with a spatial and temperature distribution of a tokamak plasma. The OpenMC sources are ring sources which reduces the computational cost and the settings.xml file size. Each source has its own strength (or probability that a neutron spawns in this location).
The equations implemented here are taken from this paper.
from openmc_plasma_source import TokamakSource
my_source = TokamakSource(
elongation=1.557,
ion_density_centre=1.09e20,
ion_density_peaking_factor=1,
ion_density_pedestal=1.09e20,
ion_density_separatrix=3e19,
ion_temperature_centre=45.9,
ion_temperature_peaking_factor=8.06,
ion_temperature_pedestal=6.09,
ion_temperature_separatrix=0.1,
major_radius=9.06,
minor_radius=2.92258,
pedestal_radius=0.8 * 2.92258,
mode="H",
shafranov_factor=0.44789,
triangularity=0.270,
ion_temperature_beta=6
).make_openmc_sources()
For a more complete example check out the example script.
Create a ring source with temperature distribution of a 2000 eV plasma.
from openmc_plasma_source import FusionRingSource
my_plasma = FusionRingSource(
angles = (0., 6.28318530718), # input is in radians
radius = 400, # units in cm
temperature = 20000., # ion temperature in eV
fuel='DT' # or 'DD'
)
Create a point source with temperature distribution of a 2000 eV plasma.
from openmc_plasma_source import FusionPointSource
my_plasma = FusionPointSource(
coordinate = (0, 0, 0),
temperature = 20000., # ion temperature in eV
fuel = 'DT' # or 'DD'
)
To run the tests, simply run
pytest tests/