From 14edfcb577a02304cbf0f601c57f2bd712fb6a5c Mon Sep 17 00:00:00 2001 From: "athoy.nilima@ukaea.uk" Date: Mon, 9 Mar 2026 08:45:38 +0000 Subject: [PATCH 1/5] remove non-existant i_blanket_type=3 from choices --- process/core/input.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/process/core/input.py b/process/core/input.py index a94a43fe4..7cb7b7657 100644 --- a/process/core/input.py +++ b/process/core/input.py @@ -1830,9 +1830,7 @@ def __post_init__(self): "i_beta_fast_alpha": InputVariable( data_structure.physics_variables, int, choices=[0, 1] ), - "i_blanket_type": InputVariable( - data_structure.fwbs_variables, int, choices=[1, 3, 5] - ), + "i_blanket_type": InputVariable(data_structure.fwbs_variables, int, choices=[1, 5]), "i_bldgs_size": InputVariable( data_structure.buildings_variables, int, choices=[0, 1] ), From 4397b032ad552f7c67bdbd877e41743cb614a190 Mon Sep 17 00:00:00 2001 From: "athoy.nilima@ukaea.uk" Date: Mon, 9 Mar 2026 08:54:20 +0000 Subject: [PATCH 2/5] remove references to i_blanket_type = 2,3,4 --- process/data_structure/fwbs_variables.py | 10 ++-- process/data_structure/numerics.py | 2 +- process/models/costs/costs.py | 71 +++++++----------------- process/models/power.py | 6 +- 4 files changed, 29 insertions(+), 60 deletions(-) diff --git a/process/data_structure/fwbs_variables.py b/process/data_structure/fwbs_variables.py index 2470a036e..6723703e0 100644 --- a/process/data_structure/fwbs_variables.py +++ b/process/data_structure/fwbs_variables.py @@ -88,7 +88,7 @@ """switch for blanket model: - =1 CCFE HCPB model - =2 KIT HCPB model # REMOVED, no longer usable -- =3 CCFE HCPB model with Tritium Breeding Ratio calculation +- =3 CCFE HCPB model with Tritium Breeding Ratio calculation # REMOVED, no longer usable - =4 KIT HCLL model # REMOVED, no longer usable - =5 DCLL model - no nutronics model included (in development) please check/choose values for 'dual-coolant blanket' fractions (provided in this file). @@ -182,19 +182,19 @@ vfcblkt: float = None -"""He coolant fraction of blanket by volume (`i_blanket_type= 1,3` (CCFE HCPB))""" +"""He coolant fraction of blanket by volume (`i_blanket_type= 1` (CCFE HCPB))""" vfpblkt: float = None -"""He purge gas fraction of blanket by volume (`i_blanket_type= 1,3` (CCFE HCPB))""" +"""He purge gas fraction of blanket by volume (`i_blanket_type= 1` (CCFE HCPB))""" m_blkt_li4sio4: float = None -"""mass of lithium orthosilicate in blanket [kg] (`i_blanket_type=1,3` (CCFE HCPB))""" +"""mass of lithium orthosilicate in blanket [kg] (`i_blanket_type=1` (CCFE HCPB))""" m_blkt_tibe12: float = None -"""mass of titanium beryllide in blanket [kg] (`i_blanket_type=1,3` (CCFE HCPB))""" +"""mass of titanium beryllide in blanket [kg] (`i_blanket_type=1` (CCFE HCPB))""" neut_flux_cp: float = None diff --git a/process/data_structure/numerics.py b/process/data_structure/numerics.py index d08cc11ff..6f8d0f0b7 100644 --- a/process/data_structure/numerics.py +++ b/process/data_structure/numerics.py @@ -148,7 +148,7 @@ * (52) Tritium breeding ratio lower limit (itv 89,90,91) * (53) Neutron fluence on TF coil upper limit (itv 92,93,94) * (54) Peak TF coil nuclear heating upper limit (itv 95,93,94) -* (55) Vacuum vessel helium concentration upper limit i_blanket_type =2 (itv 96,93,94) +* (55) Vacuum vessel helium concentration upper limit #REMOVED i_blanket_type =2 (itv 96,93,94) #REMOVED * (56) Pseparatrix/Rmajor upper limit (itv 97,1,3) * (57) NOT USED * (58) NOT USED diff --git a/process/models/costs/costs.py b/process/models/costs/costs.py index b959ef38f..258d18093 100644 --- a/process/models/costs/costs.py +++ b/process/models/costs/costs.py @@ -278,32 +278,18 @@ def output(self): po.oshead(self.outfile, "Reactor Systems") po.ocosts(self.outfile, "(c2211)", "First wall cost (M$)", cost_variables.c2211) if ife_variables.ife != 1: - if fwbs_variables.i_blanket_type == 4: - po.ocosts( - self.outfile, - "(c22121)", - "Blanket lithium-lead cost (M$)", - cost_variables.c22121, - ) - po.ocosts( - self.outfile, - "(c22122)", - "Blanket lithium cost (M$)", - cost_variables.c22122, - ) - else: - po.ocosts( - self.outfile, - "(c22121)", - "Blanket beryllium cost (M$)", - cost_variables.c22121, - ) - po.ocosts( - self.outfile, - "(c22122)", - "Blanket breeder material cost (M$)", - cost_variables.c22122, - ) + po.ocosts( + self.outfile, + "(c22121)", + "Blanket beryllium cost (M$)", + cost_variables.c22121, + ) + po.ocosts( + self.outfile, + "(c22122)", + "Blanket breeder material cost (M$)", + cost_variables.c22122, + ) po.ocosts( self.outfile, @@ -1263,32 +1249,15 @@ def acc2212(self): cmlsa = [0.5000e0, 0.7500e0, 0.8750e0, 1.0000e0] if ife_variables.ife != 1: - # i_blanket_type=4 is used for KIT HCLL model. i_blanket_type<4 are all - # HCPB (CCFE). + # Solid blanket (Li2O + Be) + cost_variables.c22121 = ( + 1.0e-6 * fwbs_variables.m_blkt_beryllium * cost_variables.ucblbe + ) - if fwbs_variables.i_blanket_type == 4: - # Liquid blanket (LiPb + Li) - cost_variables.c22121 = ( - 1.0e-6 * fwbs_variables.wtbllipb * cost_variables.ucbllipb - ) - cost_variables.c22122 = ( - 1.0e-6 * fwbs_variables.m_blkt_lithium * cost_variables.ucblli - ) - else: - # Solid blanket (Li2O + Be) - cost_variables.c22121 = ( - 1.0e-6 * fwbs_variables.m_blkt_beryllium * cost_variables.ucblbe - ) - if fwbs_variables.i_blanket_type == 2: - # KIT model - cost_variables.c22122 = ( - 1.0e-6 * fwbs_variables.whtblbreed * cost_variables.ucblbreed - ) - else: - # CCFE model - cost_variables.c22122 = ( - 1.0e-6 * fwbs_variables.m_blkt_li2o * cost_variables.ucblli2o - ) + # CCFE model + cost_variables.c22122 = ( + 1.0e-6 * fwbs_variables.m_blkt_li2o * cost_variables.ucblli2o + ) cost_variables.c22123 = ( 1.0e-6 * fwbs_variables.m_blkt_steel_total * cost_variables.ucblss diff --git a/process/models/power.py b/process/models/power.py index f1814cb75..5fbac9962 100644 --- a/process/models/power.py +++ b/process/models/power.py @@ -1649,7 +1649,7 @@ def plant_thermal_efficiency(self, eta_turbine): # Feedheat & reheat cycle assumed eta_turbine = 0.411e0 else: - logger.log(f"{'i_blanket_type does not have a value in range 1-3.'}") + logger.log(f"{'i_blanket_type is not equal to 1'}") # Etath from reference. Div power to primary elif fwbs_variables.i_thermal_electric_conversion == 1: @@ -1661,7 +1661,7 @@ def plant_thermal_efficiency(self, eta_turbine): # Feedheat & reheat cycle assumed eta_turbine = 0.411e0 - power_variables.delta_eta else: - logger.log(f"{'i_blanket_type does not have a value in range 1-3.'}") + logger.log(f"{'i_blanket_type is not equal to 1.'}") # User input used, eta_turbine not changed elif fwbs_variables.i_thermal_electric_conversion == 2: @@ -1700,7 +1700,7 @@ def plant_thermal_efficiency(self, eta_turbine): ) else: - logger.log(f"{'i_blanket_type does not have a value in range 1-3.'}") + logger.log(f"{'i_blanket_type is not equal to 1.'}") # Supercritical CO2 cycle to be used elif fwbs_variables.i_thermal_electric_conversion == 4: From 800d020ee79addc00d24daf27a0c3c2e09ee1085 Mon Sep 17 00:00:00 2001 From: "athoy.nilima@ukaea.uk" Date: Mon, 9 Mar 2026 08:55:57 +0000 Subject: [PATCH 3/5] remove references to i_blanket_type = 2,3,4 --- process/core/caller.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/process/core/caller.py b/process/core/caller.py index 6de2edcd9..a539f262c 100644 --- a/process/core/caller.py +++ b/process/core/caller.py @@ -317,9 +317,7 @@ def _call_models_once(self, xc: np.ndarray): if data_structure.fwbs_variables.i_blanket_type == 1: # CCFE HCPB model self.models.ccfe_hcpb.run(output=False) - # i_blanket_type = 2, KIT HCPB removed - # i_blanket_type = 3, CCFE HCPB with TBR calculation removed - # i_blanket_type = 4, KIT HCLL removed + elif data_structure.fwbs_variables.i_blanket_type == 5: # DCLL model self.models.dcll.run(output=False) From fb6654d1a378452f082735fb982ebac9b1eb0f0d Mon Sep 17 00:00:00 2001 From: "athoy.nilima@ukaea.uk" Date: Mon, 9 Mar 2026 08:57:30 +0000 Subject: [PATCH 4/5] remove references to i_blanket_type = 2,3,4 from comment lines --- process/core/output.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/process/core/output.py b/process/core/output.py index 34481f90c..87c7d6ff8 100644 --- a/process/core/output.py +++ b/process/core/output.py @@ -127,9 +127,7 @@ def write(models, _outfile): if data_structure.fwbs_variables.i_blanket_type == 1: # CCFE HCPB model models.ccfe_hcpb.run(output=True) - # i_blanket_type = 2, KIT HCPB removed - # i_blanket_type = 3, CCFE HCPB with TBR calculation removed - # i_blanket_type = 4, KIT HCLL removed + elif data_structure.fwbs_variables.i_blanket_type == 5: # DCLL model models.dcll.run(output=True) From 43db4554af4c668cd2361cd0e0583124d3c98ce4 Mon Sep 17 00:00:00 2001 From: "athoy.nilima@ukaea.uk" Date: Mon, 9 Mar 2026 11:23:38 +0000 Subject: [PATCH 5/5] remove wrong references to i_blanket_type=2 in fwbs_variables --- process/data_structure/fwbs_variables.py | 34 ++++++++++++------------ 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/process/data_structure/fwbs_variables.py b/process/data_structure/fwbs_variables.py index 6723703e0..b4a58ad3f 100644 --- a/process/data_structure/fwbs_variables.py +++ b/process/data_structure/fwbs_variables.py @@ -244,7 +244,7 @@ breedmat: int = None -"""breeder material switch (i_blanket_type=2 (KIT HCPB)): +"""breeder material switch: - =1 Lithium orthosilicate - =2 Lithium methatitanate - =3 Lithium zirconate @@ -252,70 +252,70 @@ densbreed: float = None -"""density of breeder material [kg m^-3] (`i_blanket_type=2` (KIT HCPB))""" +"""density of breeder material [kg m^-3]""" fblbe: float = None -"""beryllium fraction of blanket by volume (if `i_blanket_type=2`, is Be fraction of breeding zone)""" +"""beryllium fraction of blanket by volume""" fblbreed: float = None -"""breeder fraction of blanket breeding zone by volume (`i_blanket_type=2` (KIT HCPB))""" +"""breeder fraction of blanket breeding zone by volume""" fblhebmi: float = None -"""helium fraction of inboard blanket box manifold by volume (`i_blanket_type=2` (KIT HCPB))""" +"""helium fraction of inboard blanket box manifold by volume""" fblhebmo: float = None -"""helium fraction of outboard blanket box manifold by volume (`i_blanket_type=2` (KIT HCPB))""" +"""helium fraction of outboard blanket box manifold by volume """ fblhebpi: float = None -"""helium fraction of inboard blanket back plate by volume (`i_blanket_type=2` (KIT HCPB))""" +"""helium fraction of inboard blanket back plate by volume """ fblhebpo: float = None -"""helium fraction of outboard blanket back plate by volume (`i_blanket_type=2` (KIT HCPB))""" +"""helium fraction of outboard blanket back plate by volume """ hcdportsize: int = None -"""switch for size of heating/current drive ports (`i_blanket_type=2` (KIT HCPB)): +"""switch for size of heating/current drive ports : - =1 'small' - =2 'large' """ nflutf: float = None -"""peak fast neutron fluence on TF coil superconductor [n m^-2] (`i_blanket_type=2` (KIT HCPB))""" +"""peak fast neutron fluence on TF coil superconductor [n m^-2] """ npdiv: int = None -"""number of divertor ports (`i_blanket_type=2` (KIT HCPB))""" +"""number of divertor ports """ nphcdin: int = None -"""number of inboard ports for heating/current drive (`i_blanket_type=2` (KIT HCPB))""" +"""number of inboard ports for heating/current drive """ nphcdout: int = None -"""number of outboard ports for heating/current drive (`i_blanket_type=2` (KIT HCPB))""" +"""number of outboard ports for heating/current drive """ tbr: float = None -"""tritium breeding ratio (`i_blanket_type=2,3` (KIT HCPB/HCLL))""" +"""tritium breeding ratio""" tritprate: float = None -"""tritium production rate [g day^-1] (`i_blanket_type=2` (KIT HCPB))""" +"""tritium production rate [g day^-1] """ wallpf: float = None -"""neutron wall load peaking factor (`i_blanket_type=2` (KIT HCPB))""" +"""neutron wall load peaking factor """ whtblbreed: float = None -"""mass of blanket - breeder part [kg] (`i_blanket_type=2` (KIT HCPB))""" +"""mass of blanket - breeder part [kg] """ m_blkt_beryllium: float = None