From ac6c17e0363b12f5a8b935c5f848b91fc86aa05f Mon Sep 17 00:00:00 2001 From: Timothy Nunn Date: Thu, 29 Jan 2026 16:41:03 +0000 Subject: [PATCH 1/2] Remove references to tbr outside of IFE --- process/power.py | 6 +++--- process/stellarator.py | 3 --- tests/regression/input_files/st_regression.IN.DAT | 11 ----------- 3 files changed, 3 insertions(+), 17 deletions(-) diff --git a/process/power.py b/process/power.py index c276eff9d..32f40ce3c 100644 --- a/process/power.py +++ b/process/power.py @@ -1618,7 +1618,7 @@ def plant_thermal_efficiency(self, eta_turbine): New Power Module Harrington Cycle correlations Cycle correlations.xls """ if fwbs_variables.i_thermal_electric_conversion == 0: - # CCFE HCPB Model (with or without TBR) + # CCFE HCPB Model if fwbs_variables.i_blanket_type == 1: # HCPB, efficiency taken from M. Kovari 2016 # "PROCESS": A systems code for fusion power plants - Part 2: Engineering @@ -1630,7 +1630,7 @@ def plant_thermal_efficiency(self, eta_turbine): # Etath from reference. Div power to primary elif fwbs_variables.i_thermal_electric_conversion == 1: - # CCFE HCPB Model (with or without TBR) + # CCFE HCPB Model if fwbs_variables.i_blanket_type == 1: # HCPB, efficiency taken from M. Kovari 2016 # "PROCESS": A systems code for fusion power plants - Part 2: Engineering @@ -1647,7 +1647,7 @@ def plant_thermal_efficiency(self, eta_turbine): # Steam Rankine cycle to be used elif fwbs_variables.i_thermal_electric_conversion == 3: - # CCFE HCPB Model (with or without TBR) + # CCFE HCPB Model if fwbs_variables.i_blanket_type == 1: # If coolant is helium, the steam cycle is assumed to be superheated # and a different correlation is used. The turbine inlet temperature diff --git a/process/stellarator.py b/process/stellarator.py index a14fa8f40..eb955acb7 100644 --- a/process/stellarator.py +++ b/process/stellarator.py @@ -2148,9 +2148,6 @@ def stfwbs(self, output: bool): "(f_blkt_li6_enrichment)", fwbs_variables.f_blkt_li6_enrichment, ) - po.ovarre( - self.outfile, "Tritium breeding ratio", "(tbr)", fwbs_variables.tbr - ) po.ovarre( self.outfile, "Tritium production rate (g/day)", diff --git a/tests/regression/input_files/st_regression.IN.DAT b/tests/regression/input_files/st_regression.IN.DAT index 54fc3a2e2..982d0cdb3 100644 --- a/tests/regression/input_files/st_regression.IN.DAT +++ b/tests/regression/input_files/st_regression.IN.DAT @@ -2251,17 +2251,6 @@ i_blkt_inboard = 0 *~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -*icc = 52 -* DESCRIPTION: Constraint equation for tritium breeding ratio lower limit -* JUSTIFICATION: Turned off, do not care about minimum TBR. -* VARIABLES: tbrmin minimum tritium breeding ratio (If i_blanket_type=1, tbrmin=minimum 5-year time-averaged tritium breeding ratio), tbr calculated in situ - -*tbrmin = -* DESCRIPTION: Minimum tritium breeding ratio (`constraint equation 52`) (default = 1.1) -* JUSTIFICATION: Not using icc = 52 - -*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - inuclear = 0 * DESCRIPTION: Switch for nuclear heating in the coils (default = 0) * =0 Frances Fox model (default) From 2eccf2784569119e8d4a6358e648358ca68739b7 Mon Sep 17 00:00:00 2001 From: Timothy Nunn Date: Thu, 29 Jan 2026 16:43:50 +0000 Subject: [PATCH 2/2] Clarify that constraint 52 is only available for IFE --- process/constraints.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/process/constraints.py b/process/constraints.py index 2ffc061e1..786f9e48d 100644 --- a/process/constraints.py +++ b/process/constraints.py @@ -1410,9 +1410,15 @@ def constraint_equation_52(): """Equation for tritium breeding ratio lower limit author: P B Lloyd, CCFE, Culham Science Centre - tbr: tritium breeding ratio (i_blanket_type=2,3 (KIT HCPB/HCLL)) - tbrmin: minimum tritium breeding ratio (If i_blanket_type=1, tbrmin=minimum 5-year time-averaged tritium breeding ratio) + The tritium breeding ratio is only calculated when using the IFE model. + + tbr: tritium breeding ratio + tbrmin: minimum tritium breeding ratio """ + if data_structure.ife_variables.ife != 1: + raise ProcessValueError( + "Constraint 52 is only supported when running the IFE model" + ) cc = ( 1.0 - data_structure.fwbs_variables.tbr / data_structure.constraint_variables.tbrmin