ideal-ballooning-solver
A simple eigenvalue solver + optimizer to calculate and reduce the growth rate of a pressure-driven instability in fusion devices
Science Score: 67.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 5 DOI reference(s) in README -
✓Academic publication links
Links to: joss.theoj.org, zenodo.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (15.3%) to scientific vocabulary
Keywords
Repository
A simple eigenvalue solver + optimizer to calculate and reduce the growth rate of a pressure-driven instability in fusion devices
Basic Info
Statistics
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 2
Topics
Metadata Files
README.md
ballopt: stellarator and tokamak stability optimizer
This repository contains a set of Python scripts that, along with the SIMSOPT package can optimize or evaluate a tokamak or stellarator equilibrium against the infinite-n, ideal ballooning mode using an adjoint-based method.
The details of implementation of this method and the results are available in the paper An adjoint-based method to optimize MHD equilibria against the infinite-n ideal ballooning mode Please cite the paper if you find the code useful.
Dependencies
This optimizer is designed to run a cluster or supercomputer that uses SLURM. To run ballopt, you also need a Python version >= 3.8 and either
- a SIMSOPT singularity image_v0.13 to run this optimizer
- or SIMSOPT Python environment and the VMEC2000 code from the SIMSOPT GitHub page and make three one-line changes to the Simsopt_submit.py (uncomment line 39) and ball_submit.py (line 57) and slurm_x0.sl (line 11) files.
Instructions to reproduce the results in the adjoint-ballooning paper
The input files for the equilibria studied in the paper above are presented in this repository. You should be able to optimize any of the three equilibria with the following equilibrium names:
- D3D
- NCSX
- HBERG
Depending on which equilibrium you want to optimize, run
python3 sims_runner_<equilibrium_name>.py
from your login node. After each iteration, the data are saved in the directory save_n_load.
Please do not hesitate to contact me at rgaur@terpmail.umd.edu if you need any help running or understanding this optimizer.
Update 2025: A new, GPU-accelerated version of this solver and optimizer is available as a part of the DESC code here.
Relevant papers
Owner
- Name: Rahul Gaur
- Login: rahulgaur104
- Kind: user
- Company: University of Maryland, College Park
- Repositories: 3
- Profile: https://github.com/rahulgaur104
Citation (CITATION.cff)
cff-version: 1.2.0 message: "If you use this software, please cite it as below." authors: - family-names: "Gaur" given-names: "Rahul" orcid: "https://orcid.org/0000-0003-4367-9052" title: "ideal-ballooning-solver" version: 0.2.0 doi: 10.5281/zenodo.10251825 date-released: 2023-12-03 url: "https://github.com/rahulgaur104/ideal-ballooning-solver"
GitHub Events
Total
- Watch event: 1
- Push event: 2
Last Year
- Watch event: 1
- Push event: 2
Issues and Pull Requests
Last synced: 12 months ago
All Time
- Total issues: 1
- Total pull requests: 0
- Average time to close issues: 8 months
- Average time to close pull requests: N/A
- Total issue authors: 1
- Total pull request authors: 0
- Average comments per issue: 2.0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- bpatel2107 (1)