Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions documentation/source/physics-models/plasma_geometry.md
Original file line number Diff line number Diff line change
Expand Up @@ -252,6 +252,21 @@ $$
$$

---------------------------------------------------------------------
- `i_plasma_geometry = 12` -- The elongation is calculated directly from the aspect ratio based on a scaling for the maximum contrallable elongation in a spherical tokamak [^5] and asssuming a constant $l_i(3)$. Data for the scaling is derived from Figure 13 for a $\beta_{\text{p}} = 0.5$ [^5].
$$
\kappa = 2.93 \left(\frac{1.8}{A}\right)^{1.4}
$$

The elongation and triangularity of the 95% flux surface are calculated as follows, based on the 1989 ITER guidelines [^1]:

$$
\kappa_{95} = \kappa / 1.12
$$
$$
\delta_{95} = \delta / 1.5
$$

---------------------------------------------------------------------


### Plasma-Wall Gap
Expand Down Expand Up @@ -785,6 +800,7 @@ Unpublished internal Oak Ridge document.
[^3]: H. Zohm et al, *'On the Physics Guidelines for a Tokamak DEMO'*,
FTP/3-3, Proc. IAEA Fusion Energy Conference, October 2012, San Diego
[^4]: Menard, J.E. & Brown, T. & El-Guebaly, L. & Boyer, M. & Canik, J. & Colling, Bethany & Raman, Roger & Wang, Z. & Zhai, Yunbo & Buxton, Peter & Covele, B. & D’Angelo, C. & Davis, Andrew & Gerhardt, S. & Gryaznevich, M. & Harb, Moataz & Hender, T.C. & Kaye, S. & Kingham, David & Woolley, R.. (2016). *Fusion nuclear science facilities and pilot plants based on the spherical tokamak.* Nuclear Fusion. 56. 106023. 10.1088/0029-5515/56/10/106023.
[^5]: J. E. Menard, S. C. Jardin, S. M. Kaye, C. E. Kessel, and J. Manickam, “Ideal MHD stability limits of low aspect ratio tokamak plasmas,” Nuclear Fusion, vol. 37, no. 5, pp. 595–610, May 1997, doi: https://doi.org/10.1088/0029-5515/37/5/i03.
[^6]: J D Galambos, *STAR Code : Spherical Tokamak Analysis and Reactor Code*,
unpublished internal Oak Ridge document
[^7]: O. Sauter, “Geometric formulas for system codes including the effect of negative triangularity,” Fusion Engineering and Design, vol. 112, pp. 633–645, Nov. 2016, doi: https://doi.org/10.1016/j.fusengdes.2016.04.033.
Expand Down
2 changes: 1 addition & 1 deletion process/core/input.py
Original file line number Diff line number Diff line change
Expand Up @@ -1817,7 +1817,7 @@ def __post_init__(self):
data_structure.physics_variables, int, range=(1, 9)
),
"i_plasma_geometry": InputVariable(
data_structure.physics_variables, int, range=(0, 11)
data_structure.physics_variables, int, range=(0, 12)
),
"i_plasma_shape": InputVariable(
data_structure.physics_variables, int, choices=[0, 1]
Expand Down
3 changes: 3 additions & 0 deletions process/core/io/plot/scans.py
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,7 @@ def plot_scan(
5: "oacdcp",
6: "pflux_fw_neutron_max_mw",
7: "beamfus0",
8: "Obsolete", # OBSOLETE
9: "temp_plasma_electron_vol_avg_kev",
10: "boundu(15)",
11: "beta_norm_max",
Expand Down Expand Up @@ -128,6 +129,7 @@ def plot_scan(
50: "f_nd_impurity_electrons(13)",
51: "f_p_div_lower",
52: "rad_fraction_sol",
53: "obsolete", # Removed
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
53: "obsolete", # Removed
53: "Obsolete", # OBSOLETE

54: "b_crit_upper_nbti",
55: "dr_shld_inboard",
56: "p_cryo_plant_electric_max_mw",
Expand Down Expand Up @@ -156,6 +158,7 @@ def plot_scan(
79: "eta_ecrh_injector_wall_plug",
80: "fcoolcp",
81: "n_tf_coil_turns",
82: "f_p_plasma_separatrix_rad", # really fradpwr
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
82: "f_p_plasma_separatrix_rad", # really fradpwr
82: "f_p_plasma_separatrix_rad",

}
# -------------------

Expand Down
1 change: 1 addition & 0 deletions process/data_structure/physics_variables.py
Comment thread
timothy-nunn marked this conversation as resolved.
Original file line number Diff line number Diff line change
Expand Up @@ -690,6 +690,7 @@
- =9 set kappa to the natural elongation value, triang input
- =10 set kappa to maximum stable value at a given aspect ratio (2.6<A<3.6)), triang input (#1399)
- =11 set kappa Menard 2016 aspect-ratio-dependent scaling, triang input (#1439)
- =12 set kappa Menard 1997 aspect-ratio-dependent scaling, triang input
"""


Expand Down
28 changes: 28 additions & 0 deletions process/models/physics/plasma_geometry.py
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ class PlasmaGeometryModels(IntEnum):
CREATE_DATA_EU_DEMO = (6, "CREATE Data EU DEMO")
MENARD_2016 = (7, "Menard 2016 ST Scaling")
UNKNOWN = (8, "Unknown")
MENARD_1997 = (9, "Menard 1997 ST Scaling")

def __new__(cls, value, description):
obj = int.__new__(cls, value)
Expand Down Expand Up @@ -145,6 +146,13 @@ class PlasmaGeometryModelType(IntEnum):
PlasmaGeometryModels.IPDG89,
PlasmaGeometryModels.IPDG89,
)
MENARD_1997_X_POINT = (
12,
PlasmaGeometryModels.MENARD_1997,
PlasmaGeometryModels.USER_INPUT,
PlasmaGeometryModels.IPDG89,
PlasmaGeometryModels.IPDG89,
)

def __new__(cls, value, kappa_model, triang_model, kappa95_model, triang95_model):
obj = int.__new__(cls, value)
Expand Down Expand Up @@ -392,6 +400,26 @@ def run(self):

# ======================================================================

if (
physics_variables.i_plasma_geometry
== PlasmaGeometryModelType.MENARD_1997_X_POINT
):
# physics_variables.triang is an input
# physics_variables.kappa found from physics_variables.aspect ratio scaling from
# J. E. Menard, S. C. Jardin, S. M. Kaye, C. E. Kessel, and J. Manickam,
# “Ideal MHD stability limits of low aspect ratio tokamak plasmas,” Nuclear Fusion, vol. 37, no. 5, pp. 595-610, May 1997,
# doi: https://doi.org/10.1088/0029-5515/37/5/i03. and assume max controllable kappa
# and assume li(3) is held constant

physics_variables.kappa = (
2.93e0 * (1.8e0 / physics_variables.aspect) ** 0.4e0
)

physics_variables.kappa95 = physics_variables.kappa / 1.12e0
physics_variables.triang95 = physics_variables.triang / 1.50e0

# ======================================================================

# Scrape-off layer thicknesses
if physics_variables.i_plasma_wall_gap == 0:
build_variables.dr_fw_plasma_gap_outboard = 0.1e0 * physics_variables.rminor
Expand Down
Loading