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 [FST2023]. 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 [NF2019, NF2021] 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
- Refactor C-MOD get_n_equal_1_amplitude #460
- Fix C-MOD te_width_ece unphysical values #466
DIII-D
- Fix DIII-D physics methods' errors #479
EAST
- Improve docstring of EAST physics methods #456
- Remove previously added XFAILs due to east/east_1 tree issues #461
- Suppress EAST errors #482
HBT-EP
- Implement HBT-EP physics methods #476
Framework
- Remove shorten_path #462
- Change domain settings to physics methods #433
- Add option to choose the new "disruption" efit21 tree #470
- Auto initialize dummy DB if SQL server is missing #473
- Add mdsthin as fallback from MDSplus #471
- Cast all quantities to single precision by default #472
Dependencies
- Update deps to May 2025 #459
- Update deps to Jun 2025 #463
- Update deps to Jul 2025 #465
- Update deps to Aug 2025 #469
- Update deps to Sep 2025 #475
- Bump actions/stale from 9 to 10 #477
- Update deps to Oct 2025 #483
Automation
- Pin GH actions to use py3.12 #480
- Add Install workflow #484
- Add release target in makefile #485
Documentation
- Update workflow figure #464
- Remove FAQs #478
- Fix path for user config #481
- Create new References page #474
- Minor documentation tweaks #486
Files
Files
(117.3 kB)
| Name | Size | Download all |
|---|---|---|
|
md5:189d51d397cdc8d8bb8edbd1b52e65d1
|
117.3 kB | Download |
Additional details
Funding
Software
- Repository URL
- https://github.com/MIT-PSFC/disruption-py/
- Programming language
- Python
- Development Status
- Active