DisruptionPy: An open-source physics-based Scientific Framework for Disruption Analysis of Fusion Plasmas
Authors/Creators
- 1. Massachusetts Institute of Technology
Contributors
Project leader:
Project member (5):
- 1. Massachusetts Institute of Technology
Description
An interoperable Python package for plasma disruption analysis and prediction using ML.
Abstract
A key element to ensure steady state operations in magnetically-confined tokamak devices is the prediction and avoidance of disruptions. These are sudden losses of the thermal and magnetic energy stored within the plasma, which can occur when tokamaks operate near stability boundaries or because of hardware anomalies. The energy stored in the plasma and released during disruptions over milliseconds can cause severe damage to plasma-facing components, limiting experimental operations and the device's lifespan [1]. Disruptions still pose a serious challenge to next-generation fusion devices such as ITER or SPARC, which will have to operate near some of the limits of plasma stability to achieve intended performance and will do so at for long and frequent intervals. Fusion science currently lacks first-principle, theoretical solutions to fully predict and avoid disruptions. However, previous work [2, 3] has shown the usefulness of machine-learning (ML) algorithms for disruption prevention for both DIII-D and EAST operations. DisruptionPy provides a standardized analysis pipeline across different fusion devices to build ML-ready datasets.
Technical info
C-MOD
- Improve CMOD ohmic power computation #416
DIII-D
- Improve docstring of DIII-D physics methods #424
- Refactor get_shape_parameters for DIII-D #450
EAST
- Improve EAST physics methods #411
Framework
- Tolerate critical MDSplus errors #418
- Remove draft scripts #420
- Expose EFIT tree and time base to cli settings #419
- Lazy shot message formatter #421
- Drop commit hash #422
- Ship command-line entry point with package #425
- Drop cache setting #423
- Simplify output settings #426
- Fix non-git edge cases #429
- Better exceptions #428
- Cleanup old code #431
- Apply some fixes by sourcery #432
- Fix code similarity #437
- Fix hardcoded trees #436
- More robust shot data retrieval #434
- Simplify log_settings #441
- Revamp internals and outputs to use xarray #442
- Improve time settings #439
Automation
- Add isort to lint matrix #438
- Do not publish dev package #447
- Disable workflow dispatch #454
Documentation
- Change author order #448
- Tweak readme #449
Dependencies
- Drop scikit learn #430
- Update deps to Mar 2025 #435
- Update deps to Apr 2025 #453
Files
Files
(112.9 kB)
| Name | Size | Download all |
|---|---|---|
|
md5:242774d2bede3b8fd307e777f7004d1a
|
112.9 kB | Download |
Additional details
Funding
Software
- Repository URL
- https://github.com/MIT-PSFC/disruption-py/
- Programming language
- Python
- Development Status
- Active
References
- asdasd
- 2312341