Skip to main content

Creates tokamak and ICF plasma sources for OpenMC

Project description

CircleCI codecov PyPI version

OpenMC-plasma-source

This python-based package offers a collection of pre-built OpenMC neutron sources for fusion applications.

Installation

OpenMC is required to use this package.

To install openmc-plasma-source, simply run:

pip install openmc-plasma-source

Usage

Tokamak 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.

out out

Ring Source

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'
)

Point Source

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'
)

Testing

To run the tests, simply run

pytest tests/

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

openmc_plasma_source-0.3.1.tar.gz (21.0 kB view details)

Uploaded Source

Built Distribution

openmc_plasma_source-0.3.1-py3-none-any.whl (13.0 kB view details)

Uploaded Python 3

File details

Details for the file openmc_plasma_source-0.3.1.tar.gz.

File metadata

  • Download URL: openmc_plasma_source-0.3.1.tar.gz
  • Upload date:
  • Size: 21.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for openmc_plasma_source-0.3.1.tar.gz
Algorithm Hash digest
SHA256 94d92e8d889a249047aadac0d230c53196cbc1fcf1b01da610ec2c4ce7381bd1
MD5 c335008dc56e4b3f2ae9a9abcd36ea9e
BLAKE2b-256 17d9f3cdfb827e6364bc71cf252c597830a28a545aaa7af6e2637283a8edcd81

See more details on using hashes here.

File details

Details for the file openmc_plasma_source-0.3.1-py3-none-any.whl.

File metadata

File hashes

Hashes for openmc_plasma_source-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a3ce2ae70649062eafc12078c2562f66f3b859888cb70d55f2d422506ae3268a
MD5 b81d504a5ee16d6ba9b3957fde347b35
BLAKE2b-256 bd4956852244fb543785755e344892fc5dc034a73acfba94499578f81c25da89

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page