From 87a11a5368dc5c7fb44a299987623240f090cf77 Mon Sep 17 00:00:00 2001 From: mn3981 Date: Wed, 20 May 2026 15:13:44 +0100 Subject: [PATCH 1/7] Update lablcc labels for consistency and clarity --- process/data_structure/numerics.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/process/data_structure/numerics.py b/process/data_structure/numerics.py index 79f1feb67..de3aa3eac 100644 --- a/process/data_structure/numerics.py +++ b/process/data_structure/numerics.py @@ -526,12 +526,12 @@ def init_numerics(): active_constraints = [False] * ipeqns lablcc = [ - "Beta consistency ", + "⟨β⟩ consistency ", "Global power balance consistency ", "Ion power balance ", "Electron power balance ", - "Density upper limit ", - "(Epsilon x beta-pol) upper limit ", + "Electron density upper limit (nₑ<) ", + "(βₚε) upper limit ", "Beam ion density consistency ", "Neutron wall load upper limit ", "Fusion power upper limit ", @@ -549,7 +549,7 @@ def init_numerics(): "Plasma minor radius lower limit ", "Divertor collisionality upper lim", "Conducting shell radius upper lim", - "Beta upper limit ", + "⟨β⟩ upper limit ", "Peak toroidal field upper limit ", "CS coil EOF current density limit", "CS coil BOP current density limit", From 6f278eae9f4b96e7a6b724582539bc6c20b76895 Mon Sep 17 00:00:00 2001 From: mn3981 Date: Wed, 20 May 2026 16:08:46 +0100 Subject: [PATCH 2/7] Fix lablcc labels for consistency and clarity in constraints.py --- process/core/solver/constraints.py | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/process/core/solver/constraints.py b/process/core/solver/constraints.py index 201d3a0c8..324a65748 100644 --- a/process/core/solver/constraints.py +++ b/process/core/solver/constraints.py @@ -511,7 +511,7 @@ def constraint_equation_11(constraint_registration, data): ) -@ConstraintManager.register_constraint(12, "V.sec", ">=") +@ConstraintManager.register_constraint(12, "Vs", ">=") def constraint_equation_12(constraint_registration, data): """Equation for volt-second capability lower limit @@ -1141,7 +1141,7 @@ def constraint_manager_45(constraint_registration, _data): @ConstraintManager.register_constraint(46, "", "<=") def constraint_equation_46(constraint_registration, _data): - """Equation for Ip/Irod upper limit (TART) + """Equation for Iₚ/I_rod upper limit (TART) eps: inverse aspect ratio c_tf_total: total (summed) current in TF coils (A) @@ -1194,15 +1194,11 @@ def constraint_equation_50(constraint_registration, data): def constraint_equation_51(constraint_registration, data): """Equation to enforce startup flux = available startup flux - vs_plasma_res_ramp: resistive losses in startup V-s (Wb) - vs_plasma_ind_ramp: internal and external plasma inductance V-s (Wb)) + vs_plasma_ramp_required: Required flux swing for startup (Wb) vs_cs_pf_total_ramp: total flux swing for startup (Wb) """ return eq( - abs( - data_structure.physics_variables.vs_plasma_res_ramp - + data_structure.physics_variables.vs_plasma_ind_ramp - ), + abs(data_structure.physics_variables.vs_plasma_ramp_required), data.pf_coil.vs_cs_pf_total_ramp, constraint_registration, ) From fd60921a83ee05fa7555d75ae0d75216c599639c Mon Sep 17 00:00:00 2001 From: mn3981 Date: Wed, 20 May 2026 16:18:48 +0100 Subject: [PATCH 3/7] Update lablcc labels for clarity and consistency in numerics.py --- process/data_structure/numerics.py | 82 +++++++++++++++--------------- 1 file changed, 41 insertions(+), 41 deletions(-) diff --git a/process/data_structure/numerics.py b/process/data_structure/numerics.py index de3aa3eac..99646c8cd 100644 --- a/process/data_structure/numerics.py +++ b/process/data_structure/numerics.py @@ -537,63 +537,63 @@ def init_numerics(): "Fusion power upper limit ", "Toroidal field 1/R consistency ", "Radial build consistency ", - "Volt second lower limit ", + "CS & PF system whole pulse Vs lower limit ", "Burn time lower limit ", "NBI decay lengths consistency ", - "L-H power threshold limit ", + "Pₛₑₚ > Pₗₕ consistency ", "Net electric power lower limit ", - "Radiation fraction upper limit ", + "Radiation fraction (fᵧ) upper limit ", "Divertor heat load upper limit ", - "MVA upper limit ", + "Resistive TF MVA upper limit ", "Beam tangency radius upper limit ", - "Plasma minor radius lower limit ", - "Divertor collisionality upper lim", - "Conducting shell radius upper lim", + "Plasma minor radius (a) lower limit ", + "Divertor collisionality upper limit", + "Conducting shell radius upper limit", "⟨β⟩ upper limit ", - "Peak toroidal field upper limit ", + "TF peak symmetric toroidal field upper limit ", "CS coil EOF current density limit", "CS coil BOP current density limit", - "Fusion gain Q lower limit ", + "Fusion gain (Qₚₗₐₛₘₐ) lower limit ", "Inboard radial build consistency ", - "Injection power upper limit ", + "Plasma injected power upper limit ", "TF coil case stress upper limit ", - "TF coil conduit stress upper lim ", - "I_op / I_critical (TF coil) ", - "Dump voltage upper limit ", - "J_winding pack/J_protection limit", - "TF coil temp. margin lower limit ", - "Current drive gamma limit ", - "1st wall coolant temp rise limit ", - "First wall peak temperature limit", - "Start-up inj. power lower limit ", - "Plasma curr. ramp time lower lim ", - "Cycle time lower limit ", - "Average centrepost temperature ", - "Peak centrepost temp. upper limit", - "Edge safety factor lower limit ", - "Ip/Irod upper limit ", - "TF coil tor. thickness upper lim ", - "Poloidal beta upper limit ", + "TF coil conduit stress upper limit ", + "TF coil superconductor critical current density upper limit ", + "TF quench dump voltage upper limit ", + "TF quench hotspot current density upper limit ", + "TF coil superconductor temperature margin lower limit ", + "HCD normalised current drive efficiency (γ) upper limit ", # noqa: RUF001 + "FW coolant temperature rise upper limit ", + "FW peak temperature limit", + "Plasma injected power lower limit ", + "Plasma current (Iₚ) ramp time lower limit ", + "Pulse cycle time lower limit ", + "Average CP temperature consistency ", + "Peak CP temperature upper limit", + "Edge safety factor (q₉₅) lower limit ", + "Iₚ/I_rod upper limit ", + "TF coil tor. thickness upper limit ", + "⟨βₚ⟩ upper limit ", "RFP reversal parameter < 0 ", "IFE repetition rate upper limit ", - "Startup volt-seconds consistency ", - "Tritium breeding ratio lower lim ", - "Neutron fluence on TF coil limit ", - "Peak TF coil nucl. heating limit ", - "Vessel helium concentration limit", - "Psep / R upper limit ", - "TF coil leg rad width lower limit", - "TF coil leg rad width lower limit", + "CS & PF system rampup Vs consistency ", + "Tritium breeding ratio lower limit ", + "TF fast neutron fluence upper limit ", + "TF peak nuclear heating upper limit ", + "Vessel helium concentration limit", # REMOVED + "Pₛₑₚ / R₀ upper limit ", + "TF coil leg rad width lower limit", # REMOVED + "TF coil leg rad width lower limit", # REMOVED "NB shine-through frac upper limit", - "CS temperature margin lower limit", + "CS superconductor temperature margin lower limit", "Minimum availability value ", - "f_alpha_energy_confinement ", + "Alpha to energy confinement ratio (τ_α/τₑ) lower limit ", # noqa: RUF001 "number of ITER-like vacuum pumps ", - "Zeff limit ", + "Plasma volume averaged effective charge (⟨Zₑ⟩) upper limit ", "Dump time set by VV stress ", "Rate of change of energy in field", "Upper Lim. on Radiation Wall load", - "Upper Lim. on Psep * Bt / q A R ", + "(PₛₑₚBₜ / q₉₅AR₀) upper limit ", "p_sep < psep_kallenbach divertor ", "Separatrix temp consistency ", "Separatrix density consistency ", @@ -606,10 +606,10 @@ def init_numerics(): "Reinke criterion fZ lower limit ", "Peak CS field upper limit ", "p_sep lower limit ", - "nd_plasma_electron_on_axis > nd_plasma_pedestal_electron ", + "nₑ₀ > nₑ_pedestal constraint ", "toroidalgap > dx_tf_inboard_out_t", "available_space > required_space ", - "beta > beta_vol_avg_min ", + "⟨β⟩ lower limit ", "CP lifetime ", "TFC turn dimension ", "Cryogenic plant power ", From b42f9b59d85330a0541825f4085635436013a15d Mon Sep 17 00:00:00 2001 From: mn3981 Date: Thu, 21 May 2026 10:16:24 +0100 Subject: [PATCH 4/7] Update lablcc labels for clarity and consistency in constraints.py and numerics.py --- process/core/solver/constraints.py | 6 ++-- process/data_structure/numerics.py | 54 +++++++++++++++--------------- 2 files changed, 30 insertions(+), 30 deletions(-) diff --git a/process/core/solver/constraints.py b/process/core/solver/constraints.py index 324a65748..0dd4ae951 100644 --- a/process/core/solver/constraints.py +++ b/process/core/solver/constraints.py @@ -1401,9 +1401,9 @@ def constraint_equation_67(constraint_registration, data): @ConstraintManager.register_constraint(68, "MWT/m", "<=") def constraint_equation_68(constraint_registration, data): - """Upper limit on Psep scaling (PsepB/qAR) + """Upper limit on Psep scaling (PₛₑₚBₜ / q₉₅AR₀) - psepbqarmax: maximum permitted value of ratio of Psep*Bt/qAR (MWT/m) + psepbqarmax: maximum permitted value of ratio of PₛₑₚBₜ / q₉₅AR₀ (MWT/m) p_plasma_separatrix_mw: Power to conducted to the divertor region (MW) b_plasma_toroidal_on_axis: toroidal field on axis (T) (iteration variable 2) q95: safety factor q at 95% flux surface @@ -1448,7 +1448,7 @@ def constraint_equation_68(constraint_registration, data): @ConstraintManager.register_constraint(72, "Pa", "<=") def constraint_equation_72(constraint_registration, data): - """Upper limit on central Solenoid Tresca yield stress + """Upper limit on Central Solenoid Tresca yield stress In the case if the bucked and wedged option ( i_tf_bucking >= 2 ) the constrained stress is the largest the largest stress of the diff --git a/process/data_structure/numerics.py b/process/data_structure/numerics.py index 99646c8cd..a28b4495a 100644 --- a/process/data_structure/numerics.py +++ b/process/data_structure/numerics.py @@ -555,7 +555,7 @@ def init_numerics(): "CS coil BOP current density limit", "Fusion gain (Qₚₗₐₛₘₐ) lower limit ", "Inboard radial build consistency ", - "Plasma injected power upper limit ", + "Plasma injected power (Pₐᵤₓ) upper limit ", "TF coil case stress upper limit ", "TF coil conduit stress upper limit ", "TF coil superconductor critical current density upper limit ", @@ -584,39 +584,39 @@ def init_numerics(): "Pₛₑₚ / R₀ upper limit ", "TF coil leg rad width lower limit", # REMOVED "TF coil leg rad width lower limit", # REMOVED - "NB shine-through frac upper limit", + "NB shine-through fraction upper limit", "CS superconductor temperature margin lower limit", - "Minimum availability value ", + "Plant availability lower limit", "Alpha to energy confinement ratio (τ_α/τₑ) lower limit ", # noqa: RUF001 - "number of ITER-like vacuum pumps ", + "ITER-like vacuum pump number upper limit", "Plasma volume averaged effective charge (⟨Zₑ⟩) upper limit ", - "Dump time set by VV stress ", - "Rate of change of energy in field", - "Upper Lim. on Radiation Wall load", + "VV stress during TF quench upper limit ", + "Rate of change of energy in PF system upper limit", + "FW radiation wall load upper limit", "(PₛₑₚBₜ / q₉₅AR₀) upper limit ", - "p_sep < psep_kallenbach divertor ", - "Separatrix temp consistency ", - "Separatrix density consistency ", - "CS Tresca yield criterion ", - "Psep >= Plh + Paux ", - "TFC quench Pₗₕ + Pₐᵤₓ consistency ", + "TF quench temperature < temp_croco_quench_max", + "TF current/copper area < Max ", + "Eich critical separatrix density upper limit ", + "TF current per turn upper limit ", + "Reinke criterion divertor impurity fraction lower limit", "Peak CS field upper limit ", - "p_sep lower limit ", + "Pₛₑₚ lower limit ", "nₑ₀ > nₑ_pedestal constraint ", - "toroidalgap > dx_tf_inboard_out_t", - "available_space > required_space ", + "toroidalgap > dx_tf_inboard_out_t", # Stellarator constraint + "available_space > required_space ", # Stellarator constraint "⟨β⟩ lower limit ", - "CP lifetime ", - "TFC turn dimension ", - "Cryogenic plant power ", - "TF coil strain absolute value ", - "CS current/copper area < Max ", - "CS stress load cycles ", - "ECRH ignitability ", + "CP lifetime consistency ", + "TF turn dimension upper limit ", + "Cryogenic plant power upper limit ", + "TF WP vertical strain upper limit ", + "CS current to copper area upper limit ", + "CS achievable stress load cycles lower limit ", + "ECRH ignitability ", # Stellarator constraint "Fuel composition consistency ", ] From 2a1bc8a57dcf701d830026455fadefe88bd35298 Mon Sep 17 00:00:00 2001 From: Christopher Ashe <91618944+chris-ashe@users.noreply.github.com> Date: Fri, 22 May 2026 14:55:42 +0100 Subject: [PATCH 5/7] Update process/data_structure/numerics.py Co-authored-by: clmould <86794332+clmould@users.noreply.github.com> --- process/data_structure/numerics.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/process/data_structure/numerics.py b/process/data_structure/numerics.py index a28b4495a..2cb3f2e73 100644 --- a/process/data_structure/numerics.py +++ b/process/data_structure/numerics.py @@ -576,7 +576,7 @@ def init_numerics(): "⟨βₚ⟩ upper limit ", "RFP reversal parameter < 0 ", "IFE repetition rate upper limit ", - "CS & PF system rampup Vs consistency ", + "CS & PF system ramp-up Vs consistency ", "Tritium breeding ratio lower limit ", "TF fast neutron fluence upper limit ", "TF peak nuclear heating upper limit ", From 6aac68a19c5f30c73271f60d41eaa80022fcaa9b Mon Sep 17 00:00:00 2001 From: mn3981 Date: Fri, 22 May 2026 15:04:38 +0100 Subject: [PATCH 6/7] Update lablcc labels for clarity and remove unused entries in numerics.py and constraints.py --- process/core/solver/constraints.py | 4 ++-- process/data_structure/numerics.py | 18 +++++++++--------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/process/core/solver/constraints.py b/process/core/solver/constraints.py index 0dd4ae951..624a1e64d 100644 --- a/process/core/solver/constraints.py +++ b/process/core/solver/constraints.py @@ -515,7 +515,7 @@ def constraint_equation_11(constraint_registration, data): def constraint_equation_12(constraint_registration, data): """Equation for volt-second capability lower limit - vs_plasma_total_required: total V-s needed (Wb) + vs_plasma_total_required: total Vs needed (Wb) vs_plasma_total_required (lower limit) is positive; vs_cs_pf_total_pulse (available) is negative vs_cs_pf_total_pulse: total flux swing for pulse (Wb) """ @@ -1190,7 +1190,7 @@ def constraint_equation_50(constraint_registration, data): ) -@ConstraintManager.register_constraint(51, "V.s", "=") +@ConstraintManager.register_constraint(51, "Vs", "=") def constraint_equation_51(constraint_registration, data): """Equation to enforce startup flux = available startup flux diff --git a/process/data_structure/numerics.py b/process/data_structure/numerics.py index 2cb3f2e73..ad5334f60 100644 --- a/process/data_structure/numerics.py +++ b/process/data_structure/numerics.py @@ -535,7 +535,7 @@ def init_numerics(): "Beam ion density consistency ", "Neutron wall load upper limit ", "Fusion power upper limit ", - "Toroidal field 1/R consistency ", + "NOT USED", # REMOVED "Radial build consistency ", "CS & PF system whole pulse Vs lower limit ", "Burn time lower limit ", @@ -572,18 +572,18 @@ def init_numerics(): "Peak CP temperature upper limit", "Edge safety factor (q₉₅) lower limit ", "Iₚ/I_rod upper limit ", - "TF coil tor. thickness upper limit ", + "NOT USED", # REMOVED "⟨βₚ⟩ upper limit ", - "RFP reversal parameter < 0 ", + "NOT USED", # REMOVED "IFE repetition rate upper limit ", "CS & PF system ramp-up Vs consistency ", "Tritium breeding ratio lower limit ", "TF fast neutron fluence upper limit ", "TF peak nuclear heating upper limit ", - "Vessel helium concentration limit", # REMOVED + "NOT USED", # REMOVED "Pₛₑₚ / R₀ upper limit ", - "TF coil leg rad width lower limit", # REMOVED - "TF coil leg rad width lower limit", # REMOVED + "NOT USED", # REMOVED + "NOT USED", # REMOVED "NB shine-through fraction upper limit", "CS superconductor temperature margin lower limit", "Plant availability lower limit", @@ -594,9 +594,9 @@ def init_numerics(): "Rate of change of energy in PF system upper limit", "FW radiation wall load upper limit", "(PₛₑₚBₜ / q₉₅AR₀) upper limit ", - "p_sep < psep_kallenbach divertor ", # REMOVED - "Separatrix temp consistency ", # REMOVED - "Separatrix density consistency ", # REMOVED + "NOT USED", # REMOVED + "NOT USED", # REMOVED + "NOT USED", # REMOVED "CS Tresca yield criterion upper limit ", "Pₛₑₚ > Pₗₕ + Pₐᵤₓ consistency ", "TF quench temperature < temp_croco_quench_max", From 850799e75dfce0f073c366c099c1a35d3526a06b Mon Sep 17 00:00:00 2001 From: mn3981 Date: Fri, 22 May 2026 17:06:24 +0100 Subject: [PATCH 7/7] Refactor lablcc labels for consistency in numerics.py by removing redundant comments --- process/data_structure/numerics.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/process/data_structure/numerics.py b/process/data_structure/numerics.py index ad5334f60..cbe7f3928 100644 --- a/process/data_structure/numerics.py +++ b/process/data_structure/numerics.py @@ -535,7 +535,7 @@ def init_numerics(): "Beam ion density consistency ", "Neutron wall load upper limit ", "Fusion power upper limit ", - "NOT USED", # REMOVED + "NOT USED", "Radial build consistency ", "CS & PF system whole pulse Vs lower limit ", "Burn time lower limit ", @@ -572,18 +572,18 @@ def init_numerics(): "Peak CP temperature upper limit", "Edge safety factor (q₉₅) lower limit ", "Iₚ/I_rod upper limit ", - "NOT USED", # REMOVED + "NOT USED", "⟨βₚ⟩ upper limit ", - "NOT USED", # REMOVED + "NOT USED", "IFE repetition rate upper limit ", "CS & PF system ramp-up Vs consistency ", "Tritium breeding ratio lower limit ", "TF fast neutron fluence upper limit ", "TF peak nuclear heating upper limit ", - "NOT USED", # REMOVED + "NOT USED", "Pₛₑₚ / R₀ upper limit ", - "NOT USED", # REMOVED - "NOT USED", # REMOVED + "NOT USED", + "NOT USED", "NB shine-through fraction upper limit", "CS superconductor temperature margin lower limit", "Plant availability lower limit", @@ -594,9 +594,9 @@ def init_numerics(): "Rate of change of energy in PF system upper limit", "FW radiation wall load upper limit", "(PₛₑₚBₜ / q₉₅AR₀) upper limit ", - "NOT USED", # REMOVED - "NOT USED", # REMOVED - "NOT USED", # REMOVED + "NOT USED", + "NOT USED", + "NOT USED", "CS Tresca yield criterion upper limit ", "Pₛₑₚ > Pₗₕ + Pₐᵤₓ consistency ", "TF quench temperature < temp_croco_quench_max",