Skip to content
Merged
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 @@ -253,6 +253,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)$ and a fixed $\langle \beta_{\mathrm{p}} \rangle = 0.5$. The triangularity is a user input.
$$
\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 @@ -797,6 +812,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 @@ -1661,7 +1661,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
4 changes: 3 additions & 1 deletion 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 @@ -118,7 +119,7 @@ def plot_scan(
40: "boundu(135)",
41: "dr_blkt_outboard",
42: "f_nd_impurity_electrons(9)",
43: "Obsolete", # Removed
43: "Obsolete", # OBSOLETE
44: "alstrtf",
45: "temp_tf_superconductor_margin_min",
46: "boundu(152)",
Expand All @@ -128,6 +129,7 @@ def plot_scan(
50: "f_nd_impurity_electrons(13)",
51: "f_p_div_lower",
52: "rad_fraction_sol",
53: "Obsolete", # OBSOLETE
54: "b_crit_upper_nbti",
55: "dr_shld_inboard",
56: "p_cryo_plant_electric_max_mw",
Expand Down
1 change: 1 addition & 0 deletions process/data_structure/physics_variables.py
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
26 changes: 26 additions & 0 deletions process/models/physics/plasma_geometry.py
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,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: int, description: str):
"""Create a new PlasmaGeometryModels instance."""
Expand Down Expand Up @@ -151,6 +152,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,
Expand Down Expand Up @@ -413,6 +421,24 @@ 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 et al 1997 Nucl. Fusion 37 595 and assume max controllable kappa
# and assume lᵢ(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