Skip to main content

Scientific Data Framework for the MIT PSFC Disruption Studies Group

Project description

DisruptionPy

An interoperable Python package for plasma disruption analysis and prediction using ML.

Background

A key element of plasma control systems (PCS) in tokamak reactors is the prediction and avoidance of disruptions, sudden losses of the thermal and magnetic energy stored within the plasma that can occur when tokamaks operate near regions of plasma instability or because of system malfunctions. The energy released during disruptions can cause severe damage to plasma-facing components, limiting experimental operation or even the device lifetime. This poses a serious challenge to next-step fusion experiments such as SPARC, which will have to operate near some of the limits of plasma stability to achieve its intended performance and will do so at for long and frequent intervals. Previous work has shown the promise of machine-learning (ML) algorithms for disruption prediction in both DIII-D and EAST -- the Experimental Advanced Superconducting Tokamak in China -- PCS. This is also due to the fact that fusion science currently lacks first-principle, theoretical solutions to fully predict and avoid disruptions.

DisruptionPy is an open-source python package for training, updating, and evaluating algorithms for disruption prediction and avoidance that can be applied to Alcator C-Mod and DIII-D data, and can deploy models in DIII-D and EAST (TBD) PCSs.

Overview

DisruptionPy makes it easy to retrieve tabular data from MDSplus databases efficiently. Users can create their own methods and/or use built-in methods that retrieve and derive a variety of important parameters from experimental data for disruption analysis. These methods are run across all provided sets of discharges (or shot ids), outputting tabular data in customizable formats.

Project layout

disruption_py/ # source code
docs/ # documentation
examples/ # example workflows
scripts/ # miscellaneous scripts
tests/ # automated testing

The original Matlab scripts are now stored in the matlab protected branch.

Installation

DisruptionPy is now open-source and available at PyPI! For standard installations, please follow the usual way:

# if you use poetry:
poetry add disruption-py

# if you use pip:
pip install disruption-py

For custom installations, please refer to our Installation guide.

Getting Started

Please see the project quickstart.

Issues

If you have an issue please crate an issue on the GitHub repository

Development

Please create a pull request if you have something to contribute!

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

disruption_py-0.8.0.tar.gz (89.8 kB view details)

Uploaded Source

Built Distribution

disruption_py-0.8.0-py3-none-any.whl (105.8 kB view details)

Uploaded Python 3

File details

Details for the file disruption_py-0.8.0.tar.gz.

File metadata

  • Download URL: disruption_py-0.8.0.tar.gz
  • Upload date:
  • Size: 89.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.10.12 Linux/6.8.0-1014-azure

File hashes

Hashes for disruption_py-0.8.0.tar.gz
Algorithm Hash digest
SHA256 e5e79f056ee3b049a1ab8e23f4dfe3f58ca4f4bcd81c6b80c8152eb2a8ee3a7d
MD5 5e734c8884aef9602249dddef16a1aed
BLAKE2b-256 440526c922a4adebdcb4c8484c529bef3eb5a46ddd47ac67748a3f6d0f12125f

See more details on using hashes here.

File details

Details for the file disruption_py-0.8.0-py3-none-any.whl.

File metadata

  • Download URL: disruption_py-0.8.0-py3-none-any.whl
  • Upload date:
  • Size: 105.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.10.12 Linux/6.8.0-1014-azure

File hashes

Hashes for disruption_py-0.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ccc7821a5172569b1cb122f34a048e211c62e932204546f62341fd4b7075da69
MD5 7d00f0d0d9fbc9b1970dbab9a9a838db
BLAKE2b-256 8106f0fef2cc87910b8ce510a5c0aa8966572b3d4efef104411b8a9020fdeddd

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