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
1,092 changes: 1,092 additions & 0 deletions LAR-DEMO/A_28_R_86_350MW_IN.DAT.txt

Large diffs are not rendered by default.

Binary file not shown.
Binary file not shown.
Binary file not shown.
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 $li(3)$.
$$
\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 (1997) *Ideal MHD stability limits of low aspect ratio tokamak plasmas.* Nuclear Fusion. 37. 595. 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
Binary file added helias/FELIX..7z
Binary file not shown.
Binary file added helias/FELIX..tar.xz
Binary file not shown.
250 changes: 250 additions & 0 deletions helias/FELIX.IN.DAT.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,250 @@
*************************************************************************
***** *****
***** HELIAS-5B *****
***** Stuart Muldrew (17/01/2019) *****
***** Based on Felix Warmer Run (27/05/2015) *****
***** Warmer et al. (2016), IEEE Trans. Plasma Sci. 44, 1576 *****
***** *****
*************************************************************************

*---------------Constraint Equations---------------*

neqns = 3 *number of equalities


*--------------- equaltities
icc = 2 *Global power balance (consistency equation)
icc = 11 *Radial build (consistency equation)
icc = 16 *Net electric power lower limit


*-------------- inequaltities
icc = 84 *Lower beta limit
icc = 24 *Upper beta limit



*---------------Iteration Variables----------------*

ixc = 4 *te
boundl(4) = 4.
boundu(4) = 25.

ixc = 6 *dene
dene = 2.0914E20 *Electron density (/m3)
boundl(6) = 3.005E19
boundu(6) = 5.005E20

ixc = 10 *hfact
hfact = 1.2187 *H-factor on energy confinement times
boundu(10) = 2.0

ixc = 25 *fpnetel
* Replaced 'fpnetel' with 'fp_plant_electric_net_required_mw'
fp_plant_electric_net_required_mw = 1.0000 *f-value for net electric power
boundl(25) = 0.98
boundu(25) = 1.0

ixc = 50 * itv_fiooic
boundu(50) = 0.9
boundl(50) = 0.001


*----------------Physics Variables-----------------*

alphan = 0.35 *Density profile index
alphat = 1.20 *Temperature profile index
aspect = 12.22 *Aspect ratio
bt = 5.5 *Toroidal field on axis (T)
* Replaced 'ignite' with 'i_plasma_ignited'
i_plasma_ignited = 1 *Switch for ignition assumption (1: Ignited)
* Obsolete: iinvqd = 1 *Switch for inverse quadrature in L-mode scaling laws 5 and 9 (1: Inverse quadrature with Neo-Alcator tau-E used)
ipedestal = 0 *Switch for pedestal profiles (0: Parabolic Profiles)
* Replaced 'iradloss' with 'i_rad_loss'
i_rad_loss = 1 *Switch for radiation loss term usage in power balance (1: Total power lost is scaling power plus core radiation only)
* Replaced 'isc' with 'i_confinement_time'
i_confinement_time = 38 *Switch for energy confinement time scaling law (38: ISS04)
kappa = 1.001 *Plasma separatrix elongation
rmajor = 22.0 *Plasma major radius (m)
* Replaced 'ssync' with 'f_sync_reflect'
f_sync_reflect = 0.6 *Synchrotron wall reflectivity factor
te = 7.0 *Volume averaged electron temperature (keV)
tratio = 0.95 *Ion temperature / electron temperature
*zfear = 0 *High-Z impurity switch (0: Iron)

*--------------Stellarator Variables---------------*

istell = 1 *Switch for stellarator option
bmn = 0.001 *Relative radial field perturbation
f_asym = 1.1 *Divertor heat load peaking factor
f_rad = 0.85 *Radiated power fraction in sol
f_w = 0.6 *Island size fraction factor
flpitch = 0.001 *Field line pitch (rad)
iotabar = 0.9 *Rotational transform (reciprocal of tokamak q)
isthtr = 1 *Switch for stellarator auxiliary heating method (1: Electron cyclotron resonance heating)
shear = 0.5 *Magnetic shear, derivative of iotabar

*-----------------Build Variables------------------*

* Replaced 'blnkith' with 'dr_blkt_inboard'
dr_blkt_inboard = 0.7 *Inboard blanket thickness (m)
* Replaced 'blnkoth' with 'dr_blkt_outboard'
dr_blkt_outboard = 0.8 *Outboard blanket thickness (m)
* Replaced 'ddwex' with 'dr_cryostat'
dr_cryostat = 0.15 *Cryostat thickness (m)
* Replaced 'd_vv_in' with 'dr_vv_inboard'
dr_vv_inboard = 0.35 *Inboard vacuum vessel thickness (tf coil / shield) (m)
* Replaced 'd_vv_out' with 'dr_vv_outboard'
dr_vv_outboard = 0.35 *Outboard vacuum vessel thickness (tf coil / shield) (m)
* Replaced 'd_vv_top' with 'dz_vv_upper'
dz_vv_upper = 0.35 *Topside vacuum vessel thickness (tf coil / shield) (m)
* Replaced 'd_vv_bot' with 'dz_vv_lower'
dz_vv_lower = 0.35 *Underside vacuum vessel thickness (tf coil / shield) (m)
* Replaced 'gapds' with 'dr_shld_vv_gap_inboard'
dr_shld_vv_gap_inboard = 0.025 *Gap between inboard vacuum vessel and tf coil (m)
gapomin = 0.025 *Minimum gap between outboard vacuum vessel and TF coil (m)
* Replaced 'scrapli' with 'dr_fw_plasma_gap_inboard'
dr_fw_plasma_gap_inboard = 0.15 *Gap between plasma and first wall; inboard side (m)
* Replaced 'scraplo' with 'dr_fw_plasma_gap_outboard'
dr_fw_plasma_gap_outboard = 0.3 *Gap between plasma and first wall; outboard side (m)
* Replaced 'shldith' with 'dr_shld_inboard'
dr_shld_inboard = 0.4 *Inboard shield thickness (m)
* Replaced 'shldoth' with 'dr_shld_outboard'
dr_shld_outboard = 0.7 *Outboard shield thickness (m)
* Replaced 'shldtth' with 'dz_shld_upper'
dz_shld_upper = 0.7 *Upper/lower shield thickness (m)
* Replaced 'vgap' with 'dz_xpoint_divertor'
dz_xpoint_divertor = 0.0 *Vertical gap between x-point and divertor (m)

*---------------Constraint Variables---------------*

* Replaced 'pnetelin' with 'p_plant_electric_net_required_mw'
p_plant_electric_net_required_mw = 1000 *Required net electric power (MW)
* Replaced 'betalim' with 'beta_max'
beta_max = 0.05 *upper beta limit
* Replaced 'betalim_lower' with 'beta_min'
beta_min = 0.01 *lower beta limit

*-------------Current Drive Variables--------------*

* Replaced 'etaech' with 'eta_ecrh_injector_wall_plug'
eta_ecrh_injector_wall_plug = 0.7 *ECH wall plug to injector efficiency
* Replaced 'pheat' with 'p_hcd_primary_extra_heat_mw'
p_hcd_primary_extra_heat_mw = 0.0 *Heating power not used for current drive (MW)

*----------------Divertor Variables----------------*

anginc = 0.035 *Angle of incidence of field line on plate (rad)
* Obsolete: divdum = 1 *Switch for divertor zeff model (1: input)
tdiv = 3.0 *Temperature at divertor (eV)
xpertin = 1.5 *Perpendicular heat transport coefficient (m2/s)
* Obsolete: zeffdiv = 3.0 *Zeff in the divertor region (if divdum /= 0)

*------------------FWBs Variables------------------*

denstl = 7800.0 *Density of steel (kg/m3)
* Replaced 'emult' with 'f_p_blkt_multiplication'
f_p_blkt_multiplication = 1.18 *Energy multiplication in blanket and shield
* Replaced 'etahtp' with 'eta_coolant_pump_electric'
eta_coolant_pump_electric = 1.0 *Electrical efficiency of primary coolant pumps
fblbe = 0.47 *Beryllium fraction of blanket by volume
fblli2o = 0.07 *Lithium oxide fraction of blanket by volume
fbllipb = 0.00 *Lithium lead fraction of blanket by volume
fblss = 0.13 *Stainless steel fraction of blanket by volume
fblvd = 0.00 *Vanadium fraction of blanket by volume
fhole = 0.0 *Area fraction taken up by other holes (not used)
fwclfr = 0.1 *First wall coolant fraction
* Replaced 'htpmw_blkt' with 'p_blkt_coolant_pump_mw'
p_blkt_coolant_pump_mw = 120.0 *Blanket coolant mechanical pumping power (MW)
* Replaced 'htpmw_fw' with 'p_fw_coolant_pump_mw'
p_fw_coolant_pump_mw = 56.0 *First wall coolant mechanical pumping power (MW)
* Replaced 'htpmw_div' with 'p_div_coolant_pump_mw'
p_div_coolant_pump_mw = 24.0 *Divertor coolant mechanical pumping power (MW)
* Replaced 'primary_pumping' with 'i_coolant_pumping'
i_coolant_pumping = 0 *Switch for pumping power (0: User sets pump power directly)
* Replaced 'secondary_cycle' with 'i_thermal_electric_conversion'
i_thermal_electric_conversion = 2 *Switch for power conversion cycle (2: user input thermal-electric efficiency)
vfblkt = 0.10 *Coolant void fraction in blanket (blktmodel=0)
vfshld = 0.60 *Coolant void fraction in shield

*-------------Heat Transport Variables-------------*

* Replaced 'etath' with 'eta_turbine'
eta_turbine = 0.4 *Thermal to electric conversion efficiency; if seconday_cycle=2

*------------Impurity Radiation Module-------------*

*imprad_model = 1 *Switch for impurity radiation model
* Replaced 'coreradius' with 'radius_plasma_core_norm'
radius_plasma_core_norm = 0.6 *Normalised radius defining the 'core' region

fimp(1) = 1.0 *Hydrogen (fraction calculated by code)
fimp(2) = 0.1 *Helium (fraction calculated by code)
fimp(3) = 0.0 *Beryllium
fimp(4) = 0.0 *Carbon
fimp(5) = 0.0 *Nitrogen
fimp(6) = 0.0 *Oxygen
fimp(7) = 0.0 *Neon
fimp(8) = 0.0 *Silicon
fimp(9) = 0.0 *Argon
fimp(10) = 0.0 *Iron
fimp(11) = 0.0 *Nickel
fimp(12) = 0.0 *Krypton
fimp(13) = 0.0 *Xenon
fimp(14) = 1.0E-5 *Tungsten

*---------------------Numerics---------------------*

ioptimz = 1 *Code operation switch (1: Optimisation, VMCON only)
maxcal = 100 *Maximum number of VMCON iterations
minmax = 7 *Switch for figure-of-merit (7: Min Capital Cost)
runtitle = HELIAS-5B

*-----------------Tfcoil Variables-----------------*

fcutfsu = 0.69 *Copper fraction of cable conductor (TF coils)
i_tf_sc_mat = 1 *Switch for superconductor material in tf coils (1: ITER Nb3Sn)
tftmp = 4.2 *Peak helium coolant temperature in TF coils and PF coils (k)
* Replaced 'tmpcry' with 'temp_tf_cryo'
temp_tf_cryo = 4.2 *Coil temperature for cryogenic plant power calculation (K)
t_turn_tf = 0.056 *Dimension conductor area including steel and insulation.
* Replaced 'thicndut' with 'dx_tf_turn_insulation'
dx_tf_turn_insulation = 0.002 *Conduit insulation thickness (m)
* Replaced 'thwcndut' with 'dx_tf_turn_steel'
dx_tf_turn_steel = 0.0012 *TF coil conduit case thickness (m)
* Replaced 'vftf' with 'f_a_tf_turn_cable_space_extra_void'
f_a_tf_turn_cable_space_extra_void = 0.3 *Coolant fraction of TF coil leg (i_tf_sup=0)
* Replaced 'thkcas' with 'dr_tf_nose_case'
dr_tf_nose_case = 0.06 * Case thickness
*-----------------Pfcoil Variables-----------------*

*PF coil vertical positioning adjuster
zref(1) = 3.6
zref(2) = 1.2
zref(3) = 2.5
zref(4) = 1.0
zref(5) = 1.0
zref(6) = 1.0
zref(7) = 1.0
zref(8) = 1.0

*------------------Cost Variables------------------*
cost_model = 0 *0: 1990 cost module, the 2015 does not work yet for stellarators
abktflnc = 15.0 *Allowable first wall/blanket neutron (MW-yr/m2)
adivflnc = 25.0 *Allowable divertor heat fluence (MW-yr/m2)
cfactr = 0.75 *Total plant capacity fraction
dintrt = 0.00 *Diff between borrowing and saving interest rates
fcap0 = 1.15 *Average cost of money for construction of plant
fcap0cp = 1.06 *Average cost of money for replaceable components
fcontng = 0.15 *Project contingency factor
fcr0 = 0.065 *Fixed charge rate during construction
fkind = 1.0 *Multiplier for nth of a kind costs
iavail = 0 *Switch for plant availability model (0: Use input value for cfactr)
ifueltyp = 0 *Switch (0: treat blanket divertor first wall and fraction fcdfuel of CD equipment as capital cost)
ireactor = 1 *Switch for net electric power calculations (1: Calculate MW electric and c-o-e)
lsa = 2 *Level of safety assurance switch (2: In-between)
discount_rate = 0.06 *Effective cost of money in constant dollars
tlife = 40.0 *Plant life (years)
ucblvd = 280.0 *Unit cost for blanket vanadium ($/kg)
ucdiv = 5.0E5 *Cost of divertor blade ($)
ucme = 3.0E8 *Unit cost of maintenance equipment ($)
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
5 changes: 4 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 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",
}
# -------------------

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
Loading
Loading