-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Update README.md (to include CNN description)
- Loading branch information
Showing
1 changed file
with
55 additions
and
17 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -3,22 +3,45 @@ | |
[![Build Status](https://github.com/mgyoo86/TroyonBetaNN.jl/actions/workflows/CI.yml/badge.svg?branch=main)](https://github.com/mgyoo86/TroyonBetaNN.jl/actions/workflows/CI.yml?query=branch%3Amain) | ||
|
||
|
||
|
||
|
||
<!-- ABOUT THE PROJECT --> | ||
## About The Package | ||
This package uses a pre-trained neural network (NN) to predict Troyon (no-wall) $\beta_N$ limits for a given equilibrium specified by sampling a few points on 2D plasma boundary and 1D profiles of the equilibrium safety factor and plasma pressure. | ||
Note that the NN model was developed and trained by Yueqiang Liu, *et al.*, where the MHD stability was analyzed by MARS-F code (see [[Y.Q. Liu, *et al.*, *PPCF* (2020)]](https://doi.org/10.1088/1361-6587/ab6f56) for details). | ||
This package employs the pre-trained NN model and provides some useful interfaces to make it compatible with the IMAS data structure and FUSE ecosystem. | ||
|
||
|
||
### Quick Examples | ||
This package uses pre-trained neural network (NN) models to predict Troyon (no-wall) $\beta_\mathrm{N}$ limits for a given equilibrium. | ||
There are two different NN models with either MLP or CNN architectures, whose training dataset were generated with the [CHEASE](https://doi.org/10.1016/0010-4655(92)90167-W) and [MARS-F](https://doi.org/10.1063/1.1287744) codes for the equilibrium and MHD stability, respectively. | ||
This package employs the pre-trained NN models and provides some useful interfaces to make it compatible with the IMAS data structure and [**FUSE**](https://github.com/ProjectTorreyPines/FUSE.jl) ![GitHub](https://i.sstatic.net/tskMh.png) ecosystem. | ||
|
||
## About NN models | ||
Note that the following two models are each valid for a specific range of plasma parameters (e.g., aspect ratio and shape). | ||
For example, the MLP model can cover a wider range of aspect ratio ($A\in[1.3, 4.0]$), while the CNN model only targets a specific aspect ratio ($A \sim 2.74$) since it is designed for the HL-2M tokamak. | ||
On the other hand, the MLP model can only hanlde the positive triangularity ($\sigma>0$), but the CNN model can deal with a range of triangularity ($\sigma \in [-0.6, 0.8]$), including the negative triangularity. | ||
|
||
### 1. MLP (Multi-Layer Perceptron) model | ||
Developed and trained by Yueqiang Liu, *et al.*. (see [[Y.Q. Liu, *et al.*, *PPCF* (2020)]](https://doi.org/10.1088/1361-6587/ab6f56) for details). | ||
This model can cover a wider range of plasma parameters | ||
* Input | ||
* 2D boundary shape | ||
* 1D safety factor | ||
* 1D plasma pressure | ||
* Output | ||
* Troyon $\beta_\mathrm{N}$ limits for $n=(1,2,3)$ toroidal modes | ||
|
||
### 2. CNN (Convolutional neural network) model | ||
Developed and trained by Yifei Zhao, *et al.*. (see [[Y.F. Zhao, *et al.*, *PPCF* (2022)]](https://doi.org/10.1088/1361-6587/ac4524) for details) | ||
* Input | ||
* 2D boundary shape | ||
* 1D safety factor | ||
* 1D plasma pressure | ||
* Internal inductance ($l_i$) | ||
* Pressure Peaking Factor (PPF) | ||
* Output | ||
* Troyon $\beta_\mathrm{N}$ limit for $n=1$ toroidal modes | ||
|
||
|
||
|
||
## Quick Examples | ||
```julia | ||
# Assuming that "FUSE" and "dd" are already in your scope | ||
|
||
using TroyonBetaNN | ||
|
||
TBNN = TroyonBetaNN | ||
import TroyonBetaNN as TBNN | ||
|
||
# The following function cacluates Troyon limits for all equilibrium time_slices in dd, | ||
# and returns Vector{Troyon_Data}, which has all information about the result | ||
|
@@ -62,19 +85,34 @@ Sample points for a FPP equilibrium: | |
|
||
|
||
|
||
|
||
|
||
|
||
<!-- CONTACT --> | ||
## Contact | ||
Min-Gu Yoo [![Linkedin](https://i.sstatic.net/gVE0j.png)](https://www.linkedin.com/in/min-gu-yoo-704773230) (General Atomics) [email protected] \ | ||
Yueqiang Liu (General Atomics) [email protected] | ||
|
||
|
||
|
||
<!-- ACKNOWLEDGMENTS --> | ||
## ACKNOWLEDGMENTS | ||
We acknowledge Yeifei Zhao (Dalian University of Technology; <[email protected]>) for graciously providing the trained CNN models for this project. | ||
|
||
## References | ||
|
||
* Yueqiang Liu, Lang Lao, Li Li, and A D Turnbull, *Plasma Phys. Control. Fusion* **62** (2020) 045001 \ | ||
* **[MLP model]**\ | ||
Yueqiang Liu, Lang Lao, Li Li, and A D Turnbull, *Plasma Phys. Control. Fusion* **62** (2020) 045001 \ | ||
["Neural network based prediction of no-wall βN limits due to ideal external kink instabilities"](https://doi.org/10.1088/1361-6587/ab6f56) | ||
<!-- <p align="right">(<a href="#readme-top">back to top</a>)</p> --> | ||
|
||
* **[CNN model]**\ | ||
Y F Zhao, Y Q Liu, S Wang, G Z Hao, Z X Wang, Z Y Yang, B Li, J X Li, H T Chen, M Xu, and X R Duan, *Plasma Phys. Control. Fusion* **64** (2022) 045010 \ | ||
["Neural network based fast prediction of βN limits in HL-2M"](https://doi.org/10.1088/1361-6587/ac4524) | ||
|
||
* **[CHEASE code]**\ | ||
H. Lütjens, A. Bondeson, A. Roy, *Comput. Phys. Commun.* **69** (1992) 287 \ | ||
["Axisymmetric MHD equilibrium solver with bicubic Hermite elements"](https://doi.org/10.1016/0010-4655(92)90167-W) | ||
|
||
* **[MARS-F code]**\ | ||
Y. Q. Liu, A. Bondeson, C. M. Fransson, B. Lennartson, C. Breitholtz, | ||
*Phys. Plasmas* **7** (2000) 3681 | ||
["Feedback stabilization of nonaxisymmetric resistive wall modes in tokamaks. I. Electromagnetic model"](https://doi.org/10.1063/1.1287744) | ||
|
||
|
||
<!-- <p align="right">(<a href="#readme-top">back to top</a>)</p> --j> |