From d13f10598b2a0107933144d94c1da2c8ef171200 Mon Sep 17 00:00:00 2001 From: mn3981 Date: Sun, 26 Jan 2025 15:47:28 +0000 Subject: [PATCH 01/21] :sparkle: Create new den_tungsten variable in constants and implement to replace denw in fwbs variables --- process/costs_2015.py | 2 +- process/dcll.py | 4 ++-- process/hcpb.py | 4 ++-- source/fortran/constants.f90 | 3 +++ 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/process/costs_2015.py b/process/costs_2015.py index 5e35bdfa23..00d90d687c 100644 --- a/process/costs_2015.py +++ b/process/costs_2015.py @@ -346,7 +346,7 @@ def calc_fwbs_costs(self): self.s_k[24] = ( build_variables.fwarea * fwbs_variables.fw_armour_thickness - * fwbs_variables.denw + * constants.den_tungsten ) self.s_kref[24] = 29000.0e0 self.s_cost[24] = ( diff --git a/process/dcll.py b/process/dcll.py index 4a7ee062a6..1642ebcb24 100644 --- a/process/dcll.py +++ b/process/dcll.py @@ -417,7 +417,7 @@ def dcll_masses(self, output: bool): FW Armour - Tungsten - - Use denw from fwbs_variables + - Use den_tungsten form constants.f90 FW and BB Structure Coolant - Helium - See primary_coolant_properties for denisty etc. @@ -684,7 +684,7 @@ def dcll_masses(self, output: bool): ) # First wall armour mass (kg) fwbs_variables.fw_armour_mass = ( - fwbs_variables.fw_armour_vol * fwbs_variables.denw + fwbs_variables.fw_armour_vol * constants.den_tungsten ) # Total mass of blanket diff --git a/process/hcpb.py b/process/hcpb.py index 5500729350..291d377495 100644 --- a/process/hcpb.py +++ b/process/hcpb.py @@ -312,7 +312,7 @@ def component_masses(self): # First wall armour mass (kg) fwbs_variables.fw_armour_mass = ( - fwbs_variables.fw_armour_vol * fwbs_variables.denw + fwbs_variables.fw_armour_vol * constants.den_tungsten ) if fwbs_variables.breeder_f < 1.0e-10: @@ -405,7 +405,7 @@ def nuclear_heating_magnets(self, output: bool): # Calculate smeared densities of blanket sections # gaseous He coolant in armour, FW & blanket: He mass is neglected - ccfe_hcpb_module.armour_density = fwbs_variables.denw * (1.0 - vffwm) + ccfe_hcpb_module.armour_density = constants.den_tungsten * (1.0 - vffwm) ccfe_hcpb_module.fw_density = fwbs_variables.denstl * (1.0 - vffwm) ccfe_hcpb_module.blanket_density = ( fwbs_variables.whtblkt / fwbs_variables.volblkt diff --git a/source/fortran/constants.f90 b/source/fortran/constants.f90 index 95f4ea99c3..907fdc75d0 100644 --- a/source/fortran/constants.f90 +++ b/source/fortran/constants.f90 @@ -247,6 +247,9 @@ module constants ! Roughly 79.889% of the energy is carried by the proton real(dp), parameter :: dhelium_proton_energy_fraction = (alpha_mass/(proton_mass+alpha_mass)) + ! Density of Tungsten [kg/m3] + real(dp), parameter :: den_tungsten = 19250.0D0 + ! pi real(dp), parameter :: pi = 3.1415926535897932D0 From 85274ef89e7885bc2611f0747dd98a2bd5637034 Mon Sep 17 00:00:00 2001 From: mn3981 Date: Sun, 26 Jan 2025 15:52:07 +0000 Subject: [PATCH 02/21] :fire: Remove `denw` variable and its references for tungsten density from the codebase --- source/fortran/fwbs_variables.f90 | 5 ----- source/fortran/input.f90 | 5 +---- tests/integration/ref_dicts.json | 8 -------- tests/unit/test_ccfe_hcpb.py | 9 --------- tests/unit/test_dcll.py | 6 ------ 5 files changed, 1 insertion(+), 32 deletions(-) diff --git a/source/fortran/fwbs_variables.f90 b/source/fortran/fwbs_variables.f90 index e14f43e855..1f7cde88c8 100644 --- a/source/fortran/fwbs_variables.f90 +++ b/source/fortran/fwbs_variables.f90 @@ -31,10 +31,6 @@ module fwbs_variables !! density of steel [kg m^-3] !#TODO: should this be in constants. Is currently an input. Should be a list of preapproved options? - real(dp) :: denw - !! density of tungsten [kg m^-3] - !#TODO: same as above with steel? - real(dp) :: denwc !! density of tungsten carbide [kg m^-3] @@ -673,7 +669,6 @@ subroutine init_fwbs_variables coolmass = 0.0D0 vvmass = 0.0D0 denstl = 7800.0D0 - denw = 19250.0D0 denwc = 15630.0D0 dewmkg = 0.0D0 emult = 1.269D0 diff --git a/source/fortran/input.f90 b/source/fortran/input.f90 index b4f4695920..b376410a2f 100644 --- a/source/fortran/input.f90 +++ b/source/fortran/input.f90 @@ -270,7 +270,7 @@ subroutine parse_input_file(in_file,out_file,show_changes) pitch, iblanket, blktmodel, afwi, fblli2o, nphcdin, breeder_multiplier, & fw_armour_thickness, roughness, fwclfr, breedmat, fblli, fblvd, & iblanket_thickness, vfcblkt, breeder_f, fbllipb, fhcd, vfshld, fblhebmi, & - denw, f_neut_shield, fw_th_conductivity, nblktmodti, fw_wall, afwo, & + f_neut_shield, fw_th_conductivity, nblktmodti, fw_wall, afwo, & fvolsi, etahtp, nblktmodpo, fwpressure, emult, fwoutlet, nblktmodpi, & fblhebpi, fblss, inlet_temp, outlet_temp, fblbreed, qnuc, blpressure, & blpressure_liq, n_liq_recirc, pnuc_fw_ratio_dcll, f_nuc_pow_bz_struct, & @@ -2112,9 +2112,6 @@ subroutine parse_input_file(in_file,out_file,show_changes) case ('denstl') call parse_real_variable('denstl', denstl, 5.0D3, 1.0D4, & 'Density of steel (kg/m3)') - case ('denw') - call parse_real_variable('denw', denw, 1.0D4, 5.0D4, & - 'Density of tungsten (kg/m3)') case ('emult') call parse_real_variable('emult', emult, 1.0D0, 2.0D0, & 'Energy multip. in blanket and shield') diff --git a/tests/integration/ref_dicts.json b/tests/integration/ref_dicts.json index ea27099b35..6b99952a28 100644 --- a/tests/integration/ref_dicts.json +++ b/tests/integration/ref_dicts.json @@ -1630,7 +1630,6 @@ "densbreed": 0.0, "densin": 0.0, "denstl": 7800.0, - "denw": 19250.0, "denwc": 15630.0, "dewmkg": 0.0, "dflsa": null, @@ -9283,7 +9282,6 @@ "densbreed": "density of breeder material (kg/m3) (`iblanket=2` (KIT HCPB))", "densin": "density at plate (on separatrix) (10**20 /m3)", "denstl": "density of steel (kg/m3)", - "denw": "density of tungsten (kg/m3)", "denwc": "density of tungsten carbide (kg/m3)", "dewmkg": "total mass of vacuum vessel + cryostat (kg) (calculated if blktmodel>0)", "dflsa": "", @@ -12195,10 +12193,6 @@ "lb": 5000.0, "ub": 10000.0 }, - "denw": { - "lb": 10000.0, - "ub": 50000.0 - }, "dhecoil": { "lb": 0.0, "ub": 0.1 @@ -18022,7 +18016,6 @@ "coolmass", "vvmass", "denstl", - "denw", "denwc", "dewmkg", "emult", @@ -20163,7 +20156,6 @@ "delld": "real_variable", "dene": "real_variable", "denstl": "real_variable", - "denw": "real_variable", "dhecoil": "real_variable", "dintrt": "real_variable", "discount_rate": "real_variable", diff --git a/tests/unit/test_ccfe_hcpb.py b/tests/unit/test_ccfe_hcpb.py index 9d458869a7..c5f64c522f 100644 --- a/tests/unit/test_ccfe_hcpb.py +++ b/tests/unit/test_ccfe_hcpb.py @@ -69,8 +69,6 @@ class NuclearHeatingMagnetsParam(NamedTuple): ptfnuc: Any = None - denw: Any = None - vffwi: Any = None vffwo: Any = None @@ -151,7 +149,6 @@ class NuclearHeatingMagnetsParam(NamedTuple): vdewin=1159.4792053672361, fw_armour_thickness=0.0050000000000000001, ptfnuc=0, - denw=19250, vffwi=0, vffwo=0, fusion_power=1986.0623241661431, @@ -201,7 +198,6 @@ class NuclearHeatingMagnetsParam(NamedTuple): vdewin=1161.1450715665972, fw_armour_thickness=0.0050000000000000001, ptfnuc=0.044184461825198453, - denw=19250, vffwi=0.31415926535897931, vffwo=0.31415926535897931, fusion_power=1985.4423932312809, @@ -304,8 +300,6 @@ def test_nuclear_heating_magnets(nuclearheatingmagnetsparam, monkeypatch, ccfe_h monkeypatch.setattr(fwbs_variables, "ptfnuc", nuclearheatingmagnetsparam.ptfnuc) - monkeypatch.setattr(fwbs_variables, "denw", nuclearheatingmagnetsparam.denw) - monkeypatch.setattr(fwbs_variables, "vffwi", nuclearheatingmagnetsparam.vffwi) monkeypatch.setattr(fwbs_variables, "vffwo", nuclearheatingmagnetsparam.vffwo) @@ -1444,7 +1438,6 @@ class ComponentMassesParam(NamedTuple): densbreed: Any = None fblbreed: Any = None iblanket: Any = None - denw: Any = None vffwi: Any = None vffwo: Any = None volfw: Any = None @@ -1536,7 +1529,6 @@ class ComponentMassesParam(NamedTuple): densbreed=0, fblbreed=0.154, iblanket=1, - denw=19250, vffwi=0, vffwo=0, volfw=0, @@ -1661,7 +1653,6 @@ def test_component_masses(componentmassesparam, monkeypatch, ccfe_hcpb): monkeypatch.setattr(fwbs_variables, "densbreed", componentmassesparam.densbreed) monkeypatch.setattr(fwbs_variables, "fblbreed", componentmassesparam.fblbreed) monkeypatch.setattr(fwbs_variables, "iblanket", componentmassesparam.iblanket) - monkeypatch.setattr(fwbs_variables, "denw", componentmassesparam.denw) monkeypatch.setattr(fwbs_variables, "vffwi", componentmassesparam.vffwi) monkeypatch.setattr(fwbs_variables, "vffwo", componentmassesparam.vffwo) monkeypatch.setattr(fwbs_variables, "volfw", componentmassesparam.volfw) diff --git a/tests/unit/test_dcll.py b/tests/unit/test_dcll.py index f8cd74bd00..1e2dd668af 100644 --- a/tests/unit/test_dcll.py +++ b/tests/unit/test_dcll.py @@ -324,8 +324,6 @@ class DcllMassesParam(NamedTuple): denstl: Any = None - denw: Any = None - den_liq: Any = None ifci: Any = None @@ -541,7 +539,6 @@ class DcllMassesParam(NamedTuple): volfw=0, armour_fw_bl_mass=0, denstl=7800, - denw=19250, den_liq=9753.2497999999996, ifci=1, den_ceramic=3210, @@ -661,7 +658,6 @@ class DcllMassesParam(NamedTuple): volfw=28.820872142117942, armour_fw_bl_mass=10982927.3383231, denstl=7800, - denw=19250, den_liq=9753.2497999999996, ifci=1, den_ceramic=3210, @@ -839,8 +835,6 @@ def test_dcll_masses(dcllmassesparam, monkeypatch, dcll): monkeypatch.setattr(fwbs_variables, "denstl", dcllmassesparam.denstl) - monkeypatch.setattr(fwbs_variables, "denw", dcllmassesparam.denw) - monkeypatch.setattr(fwbs_variables, "den_liq", dcllmassesparam.den_liq) monkeypatch.setattr(fwbs_variables, "ifci", dcllmassesparam.ifci) From 8a983eedb788be7ceb9bb32637698fde49ebcf8b Mon Sep 17 00:00:00 2001 From: mn3981 Date: Sun, 26 Jan 2025 15:57:45 +0000 Subject: [PATCH 03/21] =?UTF-8?q?=F0=9F=94=84=20Rename=20`iblanket`=20to?= =?UTF-8?q?=20`i=5Fblanket=5Ftype`=20for=20consistency=20across=20multiple?= =?UTF-8?q?=20files?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../proc-pages/eng-models/fw-blanket.md | 6 +- process/blanket_library.py | 2 +- process/caller.py | 10 +-- process/costs.py | 8 +-- process/dcll.py | 2 +- process/hcpb.py | 6 +- process/init.py | 5 +- process/output.py | 10 +-- process/power.py | 26 ++++---- process/utilities/errorlist.json | 4 +- source/fortran/constraint_equations.f90 | 4 +- source/fortran/constraint_variables.f90 | 4 +- source/fortran/dcll.f90 | 2 +- source/fortran/fwbs_variables.f90 | 64 +++++++++--------- source/fortran/input.f90 | 16 ++--- source/fortran/numerics.f90 | 2 +- tests/integration/ref_dicts.json | 66 +++++++++---------- .../input_files/st_regression.IN.DAT | 56 ++++++++-------- tests/unit/test_ccfe_hcpb.py | 8 ++- tests/unit/test_costs_1990.py | 8 +-- 20 files changed, 158 insertions(+), 151 deletions(-) diff --git a/documentation/proc-pages/eng-models/fw-blanket.md b/documentation/proc-pages/eng-models/fw-blanket.md index 80e8481354..2d6000fdd3 100644 --- a/documentation/proc-pages/eng-models/fw-blanket.md +++ b/documentation/proc-pages/eng-models/fw-blanket.md @@ -37,7 +37,7 @@ The models used for the thermoydraulics of the first wall, the profile of deposition of the neutron energy, tritium breeding, and conversion of heat to electricity have been revised extensively. -`iblanket` -- This switch selects between different types of blanket. +`i_blanket_type` -- This switch selects between different types of blanket. - `== 1` -- CCFE HCPB (helium-cooled pebble bed) model. The energy deposition in the armour and first wall, blanket and shield are calculated @@ -190,8 +190,8 @@ The Hartmann number is also calculated (using the magnetic feild strength in the | `inlet_temp_liq` | K | 68 | idualcool=1,2 | 570 | Inlet temperatute of liquid metal breeder/coolant | | `outlet_temp_liq` | K | 69 | idualcool=1,2 | 720 | Outlet temperatute of liquid metal breeder/coolant | | `n_liq_recirc` | --- | 71 | idualcool=1 | 10 | Number of liquid metal breeder recirculations per day | -| `f_nuc_pow_bz_struct` | --- | 73 | iblanket=5 | 0.34 | FW nuclear power as fraction of total | -| `f_nuc_pow_bz_liq` | --- | 74 | iblanket=5 | 0.66 | Fraction of BZ power cooled by primary coolant | +| `f_nuc_pow_bz_struct` | --- | 73 | i_blanket_type=5 | 0.34 | FW nuclear power as fraction of total | +| `f_nuc_pow_bz_liq` | --- | 74 | i_blanket_type=5 | 0.66 | Fraction of BZ power cooled by primary coolant | #### Flow Channel Inserts for Liquid Metal Breeder diff --git a/process/blanket_library.py b/process/blanket_library.py index 953b854c40..b87102db17 100644 --- a/process/blanket_library.py +++ b/process/blanket_library.py @@ -628,7 +628,7 @@ def thermo_hydraulic_model_pressure_drop_calculations(self, output: bool): npblkti_liq = 0 npblkto_liq = 0 - if fwbs_variables.iblanket == 5: + if fwbs_variables.i_blanket_type == 5: # Unless DCLL then we will use BZ blanket_library.bldepti = build_variables.blbuith blanket_library.bldepto = build_variables.blbuoth diff --git a/process/caller.py b/process/caller.py index 138112a23f..b0fac5fac1 100644 --- a/process/caller.py +++ b/process/caller.py @@ -282,11 +282,11 @@ def _call_models_once(self, xc: np.ndarray) -> None: 4 | KIT HCLL model 5 | DCLL model """ - if ft.fwbs_variables.iblanket == 1: + if ft.fwbs_variables.i_blanket_type == 1: # CCFE HCPB model self.models.ccfe_hcpb.run(output=False) - # iblanket = 2, KIT HCPB removed - elif ft.fwbs_variables.iblanket == 3: + # i_blanket_type = 2, KIT HCPB removed + elif ft.fwbs_variables.i_blanket_type == 3: # CCFE HCPB model with Tritium Breeding Ratio calculation self.models.ccfe_hcpb.run(output=False) ft.fwbs_variables.tbr = self.models.ccfe_hcpb.tbr_shimwell( @@ -295,8 +295,8 @@ def _call_models_once(self, xc: np.ndarray) -> None: ft.fwbs_variables.iblanket_thickness, output=False, ) - # iblanket = 4, KIT HCLL removed - elif ft.fwbs_variables.iblanket == 5: + # i_blanket_type = 4, KIT HCLL removed + elif ft.fwbs_variables.i_blanket_type == 5: # DCLL model self.models.dcll.run(output=False) diff --git a/process/costs.py b/process/costs.py index 0ecdd4f835..cee3073491 100644 --- a/process/costs.py +++ b/process/costs.py @@ -292,7 +292,7 @@ def output(self): po.oshead(self.outfile, "Reactor Systems") po.ocosts(self.outfile, "(c2211)", "First wall cost (M$)", self.c2211) if ife_variables.ife != 1: - if fwbs_variables.iblanket == 4: + if fwbs_variables.i_blanket_type == 4: po.ocosts( self.outfile, "(c22121)", @@ -1198,17 +1198,17 @@ def acc2212(self): cmlsa = [0.5000e0, 0.7500e0, 0.8750e0, 1.0000e0] if ife_variables.ife != 1: - # iblanket=4 is used for KIT HCLL model. iblanket<4 are all + # i_blanket_type=4 is used for KIT HCLL model. i_blanket_type<4 are all # HCPB (CCFE, KIT and CCFE + Shimwell TBR calculation). - if fwbs_variables.iblanket == 4: + if fwbs_variables.i_blanket_type == 4: # Liquid blanket (LiPb + Li) self.c22121 = 1.0e-6 * fwbs_variables.wtbllipb * cost_variables.ucbllipb self.c22122 = 1.0e-6 * fwbs_variables.whtblli * cost_variables.ucblli else: # Solid blanket (Li2O + Be) self.c22121 = 1.0e-6 * fwbs_variables.whtblbe * cost_variables.ucblbe - if fwbs_variables.iblanket == 2: + if fwbs_variables.i_blanket_type == 2: # KIT model self.c22122 = ( 1.0e-6 * fwbs_variables.whtblbreed * cost_variables.ucblbreed diff --git a/process/dcll.py b/process/dcll.py index 1642ebcb24..42a90c02df 100644 --- a/process/dcll.py +++ b/process/dcll.py @@ -36,7 +36,7 @@ class DCLL: IN.DAT info for DCLL: Select DCLL model - iblanket = 5 * DCLL + i_blanket_type = 5 * DCLL Liquid Metal Breeder Material = PbLi i_bb_liq = 0 * Liquid Metal Breeder Material = PbLi diff --git a/process/hcpb.py b/process/hcpb.py index 291d377495..f5f6148833 100644 --- a/process/hcpb.py +++ b/process/hcpb.py @@ -212,8 +212,8 @@ def component_masses(self): it only appears to contain code relevant to hcpb. """ # CCFE HCPB modal calculates the coolant mass, - # have added an if staement using the iblanket switch for this. - # N.B. iblanket=1 for CCFE HCPB and iblanket=3 for the same with TBR using Shimwell. + # have added an if staement using the i_blanket_type switch for this. + # N.B. i_blanket_type=1 for CCFE HCPB and i_blanket_type=3 for the same with TBR using Shimwell. # Start adding components of the coolant mass: # Divertor coolant volume (m3) @@ -261,7 +261,7 @@ def component_masses(self): # shield, FW and FW armour. # KIT HCPB calculates the mass of the blanket (including seprate masses for each material) # and the void fraction for the blanket. - # N.B. iblanket=1 for CCFE HCPB and iblanket=3 for the same with TBR using Shimwell. + # N.B. i_blanket_type=1 for CCFE HCPB and i_blanket_type=3 for the same with TBR using Shimwell. # Component masses diff --git a/process/init.py b/process/init.py index a809f3aa7d..0b3c71a697 100644 --- a/process/init.py +++ b/process/init.py @@ -1165,7 +1165,8 @@ def check_process(): # CCFE HCPB Model if fortran.stellarator_variables.istell == 0 and ( - fortran.fwbs_variables.iblanket == 1 or fortran.fwbs_variables.iblanket == 3 + fortran.fwbs_variables.i_blanket_type == 1 + or fortran.fwbs_variables.i_blanket_type == 3 ): fsum = ( fortran.fwbs_variables.breeder_multiplier @@ -1175,7 +1176,7 @@ def check_process(): if fsum >= 1.0: raise ProcessValidationError( "Blanket material fractions do not sum to 1.0", - iblanket=fortran.fwbs_variables.iblanket, + i_blanket_type=fortran.fwbs_variables.i_blanket_type, breeder_multiplier=fortran.fwbs_variables.breeder_multiplier, vfcblkt=fortran.fwbs_variables.vfcblkt, vfpblkt=fortran.fwbs_variables.vfpblkt, diff --git a/process/output.py b/process/output.py index 272d5a03c6..8ac5e1bf8c 100644 --- a/process/output.py +++ b/process/output.py @@ -89,11 +89,11 @@ def write(models, _outfile): # 3 | CCFE HCPB model with Tritium Breeding Ratio calculation # 4 | KIT HCLL model # 5 | DCLL model - if ft.fwbs_variables.iblanket == 1: + if ft.fwbs_variables.i_blanket_type == 1: # CCFE HCPB model models.ccfe_hcpb.run(output=True) - # iblanket = 2, KIT HCPB removed - elif ft.fwbs_variables.iblanket == 3: + # i_blanket_type = 2, KIT HCPB removed + elif ft.fwbs_variables.i_blanket_type == 3: # CCFE HCPB model with Tritium Breeding Ratio calculation models.ccfe_hcpb.run(output=True) ft.fwbs_variables.tbr = models.ccfe_hcpb.tbr_shimwell( @@ -102,8 +102,8 @@ def write(models, _outfile): ft.fwbs_variables.iblanket_thickness, output=True, ) - # iblanket = 4, KIT HCLL removed - elif ft.fwbs_variables.iblanket == 5: + # i_blanket_type = 4, KIT HCLL removed + elif ft.fwbs_variables.i_blanket_type == 5: # DCLL model models.dcll.run(output=True) diff --git a/process/power.py b/process/power.py index 6dd504f92f..d5b5a7a86c 100644 --- a/process/power.py +++ b/process/power.py @@ -2334,9 +2334,9 @@ def plant_thermal_efficiency(self, etath): if fwbs_variables.secondary_cycle == 0: # CCFE HCPB Model (with or without TBR) if ( - (fwbs_variables.iblanket == 1) - or (fwbs_variables.iblanket == 3) - or fwbs_variables.iblanket == 2 + (fwbs_variables.i_blanket_type == 1) + or (fwbs_variables.i_blanket_type == 3) + or fwbs_variables.i_blanket_type == 2 ): # HCPB, efficiency taken from M. Kovari 2016 # "PROCESS": A systems code for fusion power plants - Part 2: Engineering @@ -2344,12 +2344,14 @@ def plant_thermal_efficiency(self, etath): # Feedheat & reheat cycle assumed etath = 0.411e0 else: - logger.log(f"{'iblanket does not have a value in range 1-3.'}") + logger.log(f"{'i_blanket_type does not have a value in range 1-3.'}") # Etath from reference. Div power to primary elif fwbs_variables.secondary_cycle == 1: # CCFE HCPB Model (with or without TBR) - if (fwbs_variables.iblanket == 1) or (fwbs_variables.iblanket == 3): + if (fwbs_variables.i_blanket_type == 1) or ( + fwbs_variables.i_blanket_type == 3 + ): # HCPB, efficiency taken from M. Kovari 2016 # "PROCESS": A systems code for fusion power plants - Part 2: Engineering # https://www.sciencedirect.com/science/article/pii/S0920379616300072 @@ -2357,10 +2359,10 @@ def plant_thermal_efficiency(self, etath): etath = 0.411e0 - self.delta_eta # KIT HCPB model - elif fwbs_variables.iblanket == 2: + elif fwbs_variables.i_blanket_type == 2: etath = 0.411e0 - self.delta_eta else: - logger.log(f"{'iblanket does not have a value in range 1-3.'}") + logger.log(f"{'i_blanket_type does not have a value in range 1-3.'}") # User input used, etath not changed elif fwbs_variables.secondary_cycle == 2: @@ -2370,7 +2372,9 @@ def plant_thermal_efficiency(self, etath): # Steam Rankine cycle to be used elif fwbs_variables.secondary_cycle == 3: # CCFE HCPB Model (with or without TBR) - if (fwbs_variables.iblanket == 1) or (fwbs_variables.iblanket == 3): + if (fwbs_variables.i_blanket_type == 1) or ( + fwbs_variables.i_blanket_type == 3 + ): # If coolant is helium, the steam cycle is assumed to be superheated # and a different correlation is used. The turbine inlet temperature # is assumed to be 20 degrees below the primary coolant outlet @@ -2396,8 +2400,8 @@ def plant_thermal_efficiency(self, etath): ) # KIT HCPB Model - elif fwbs_variables.iblanket == 2: - # Same as fwbs_variables.iblanket = 1 + elif fwbs_variables.i_blanket_type == 2: + # Same as fwbs_variables.i_blanket_type = 1 heat_transport_variables.tturb = fwbs_variables.outlet_temp - 20.0e0 if (heat_transport_variables.tturb < 657.0e0) or ( heat_transport_variables.tturb > 915.0e0 @@ -2412,7 +2416,7 @@ def plant_thermal_efficiency(self, etath): - self.delta_eta ) else: - logger.log(f"{'iblanket does not have a value in range 1-3.'}") + logger.log(f"{'i_blanket_type does not have a value in range 1-3.'}") # Supercritical CO2 cycle to be used elif fwbs_variables.secondary_cycle == 4: diff --git a/process/utilities/errorlist.json b/process/utilities/errorlist.json index 8c8d066782..7f7dbd38a2 100644 --- a/process/utilities/errorlist.json +++ b/process/utilities/errorlist.json @@ -873,7 +873,7 @@ { "no": 173, "level": 3, - "message": "CONSTRAINTS: Do not use constraint 55 if iblanket != 2" + "message": "CONSTRAINTS: Do not use constraint 55 if i_blanket_type != 2" }, { "no": 174, @@ -1088,7 +1088,7 @@ { "no": 216, "level": 3, - "message": "CONSTRAINTS: Do not use tritium breeding ratio constraint 52 if iblanket=1" + "message": "CONSTRAINTS: Do not use tritium breeding ratio constraint 52 if i_blanket_type=1" }, { "no": 217, diff --git a/source/fortran/constraint_equations.f90 b/source/fortran/constraint_equations.f90 index 3ab65fdea9..587b063c7d 100755 --- a/source/fortran/constraint_equations.f90 +++ b/source/fortran/constraint_equations.f90 @@ -2192,8 +2192,8 @@ subroutine constraint_eqn_052(tmp_cc, tmp_con, tmp_err, tmp_symbol, tmp_units) !! and hence also optional here. !! Logic change during pre-factoring: err, symbol, units will be assigned only if present. !! ftbr : input real : f-value for minimum tritium breeding ratio - !! tbr : input real : tritium breeding ratio (iblanket=2,3 (KIT HCPB/HCLL)) - !! tbrmin : input real : minimum tritium breeding ratio (If iblanket=1, tbrmin=minimum 5-year time-averaged tritium breeding ratio) + !! tbr : input real : tritium breeding ratio (i_blanket_type=2,3 (KIT HCPB/HCLL)) + !! tbrmin : input real : minimum tritium breeding ratio (If i_blanket_type=1, tbrmin=minimum 5-year time-averaged tritium breeding ratio) use constraint_variables, only: ftbr, tbrmin use fwbs_variables, only: tbr implicit none diff --git a/source/fortran/constraint_variables.f90 b/source/fortran/constraint_variables.f90 index 5292ff4936..27421f922f 100644 --- a/source/fortran/constraint_variables.f90 +++ b/source/fortran/constraint_variables.f90 @@ -209,7 +209,7 @@ module constraint_variables !! (`constraint equation 12`, `iteration variable 15`) real(dp) :: fvvhe - !! f-value for vacuum vessel He concentration limit (`iblanket = 2`) + !! f-value for vacuum vessel He concentration limit (`i_blanket_type = 2`) !! (`constraint equation 55`, `iteration variable 96`) real(dp) :: fwalld @@ -274,7 +274,7 @@ module constraint_variables real(dp) :: vvhealw !! allowed maximum helium concentration in vacuum vessel at end of plant life (appm) - !! (`iblanket =2`) (`constraint equation 55`) + !! (`i_blanket_type =2`) (`constraint equation 55`) real(dp) :: walalw !! allowable neutron wall-load (MW/m2) (`constraint equation 8`) diff --git a/source/fortran/dcll.f90 b/source/fortran/dcll.f90 index 33deacdffc..6245005681 100644 --- a/source/fortran/dcll.f90 +++ b/source/fortran/dcll.f90 @@ -22,7 +22,7 @@ module dcll_module !! IN.DAT info for DCLL: !! !! Select DCLL model - !! iblanket = 5 * DCLL + !! i_blanket_type = 5 * DCLL !! !! Liquid Metal Breeder Material = PbLi !! i_bb_liq = 0 * Liquid Metal Breeder Material = PbLi diff --git a/source/fortran/fwbs_variables.f90 b/source/fortran/fwbs_variables.f90 index 1f7cde88c8..2e9f87ebb2 100644 --- a/source/fortran/fwbs_variables.f90 +++ b/source/fortran/fwbs_variables.f90 @@ -36,7 +36,7 @@ module fwbs_variables real(dp) :: dewmkg !! total mass of vacuum vessel + cryostat [kg] (calculated if blktmodel>0) - !# TODO: blktmodel needs consolidating with iblanket + !# TODO: blktmodel needs consolidating with i_blanket_type real(dp) :: emult !! energy multiplication in blanket and shield @@ -78,7 +78,7 @@ module fwbs_variables real(dp) :: fw_armour_vol !! first wall armour volume [m^3] - integer :: iblanket + integer :: i_blanket_type !! switch for blanket model: !! !! - =1 CCFE HCPB model @@ -146,7 +146,7 @@ module fwbs_variables real(dp) :: armour_fw_bl_mass !! Total mass of armour, first wall and blanket [kg] - ! CCFE HCPB Blanket Model (with or without TBR calculation) iblanket=1,3 + ! CCFE HCPB Blanket Model (with or without TBR calculation) i_blanket_type=1,3 ! ---------- real(dp) :: breeder_f @@ -156,16 +156,16 @@ module fwbs_variables !! combined breeder/multipler fraction of blanket by volume real(dp) :: vfcblkt - !! He coolant fraction of blanket by volume (`iblanket= 1,3` (CCFE HCPB)) + !! He coolant fraction of blanket by volume (`i_blanket_type= 1,3` (CCFE HCPB)) real(dp) :: vfpblkt - !! He purge gas fraction of blanket by volume (`iblanket= 1,3` (CCFE HCPB)) + !! He purge gas fraction of blanket by volume (`i_blanket_type= 1,3` (CCFE HCPB)) real(dp) :: whtblli4sio4 - !! mass of lithium orthosilicate in blanket [kg] (`iblanket=1,3` (CCFE HCPB)) + !! mass of lithium orthosilicate in blanket [kg] (`i_blanket_type=1,3` (CCFE HCPB)) real(dp) :: whtbltibe12 - !! mass of titanium beryllide in blanket [kg] (`iblanket=1,3` (CCFE HCPB)) + !! mass of titanium beryllide in blanket [kg] (`i_blanket_type=1,3` (CCFE HCPB)) real(dp) :: neut_flux_cp !! Centrepost TF fast neutron flux (E > 0.1 MeV) [m^(-2).^(-1)] @@ -189,76 +189,76 @@ module fwbs_variables real(dp) :: fblss_ccfe, fblli2sio4, fbltibe12 !! Fractions of blanket by volume: steel, lithium orthosilicate, titanium beryllide - ! KIT HCPB blanket model (iblanket = 2) + ! KIT HCPB blanket model (i_blanket_type = 2) ! ---------- integer :: breedmat - !! breeder material switch (iblanket=2 (KIT HCPB)): + !! breeder material switch (i_blanket_type=2 (KIT HCPB)): !! !! - =1 Lithium orthosilicate !! - =2 Lithium methatitanate !! - =3 Lithium zirconate real(dp) :: densbreed - !! density of breeder material [kg m^-3] (`iblanket=2` (KIT HCPB)) + !! density of breeder material [kg m^-3] (`i_blanket_type=2` (KIT HCPB)) real(dp) :: fblbe - !! beryllium fraction of blanket by volume (if `iblanket=2`, is Be fraction of breeding zone) + !! beryllium fraction of blanket by volume (if `i_blanket_type=2`, is Be fraction of breeding zone) real(dp) :: fblbreed - !! breeder fraction of blanket breeding zone by volume (`iblanket=2` (KIT HCPB)) + !! breeder fraction of blanket breeding zone by volume (`i_blanket_type=2` (KIT HCPB)) real(dp) :: fblhebmi - !! helium fraction of inboard blanket box manifold by volume (`iblanket=2` (KIT HCPB)) + !! helium fraction of inboard blanket box manifold by volume (`i_blanket_type=2` (KIT HCPB)) real(dp) :: fblhebmo - !! helium fraction of outboard blanket box manifold by volume (`iblanket=2` (KIT HCPB)) + !! helium fraction of outboard blanket box manifold by volume (`i_blanket_type=2` (KIT HCPB)) real(dp) :: fblhebpi - !! helium fraction of inboard blanket back plate by volume (`iblanket=2` (KIT HCPB)) + !! helium fraction of inboard blanket back plate by volume (`i_blanket_type=2` (KIT HCPB)) real(dp) :: fblhebpo - !! helium fraction of outboard blanket back plate by volume (`iblanket=2` (KIT HCPB)) + !! helium fraction of outboard blanket back plate by volume (`i_blanket_type=2` (KIT HCPB)) integer :: hcdportsize - !! switch for size of heating/current drive ports (`iblanket=2` (KIT HCPB)): + !! switch for size of heating/current drive ports (`i_blanket_type=2` (KIT HCPB)): !! !! - =1 'small' !! - =2 'large' !#TODO: switch name and also large and small not descriptive enough real(dp) :: nflutf - !! peak fast neutron fluence on TF coil superconductor [n m^-2] (`iblanket=2` (KIT HCPB)) + !! peak fast neutron fluence on TF coil superconductor [n m^-2] (`i_blanket_type=2` (KIT HCPB)) integer :: npdiv - !! number of divertor ports (`iblanket=2` (KIT HCPB)) + !! number of divertor ports (`i_blanket_type=2` (KIT HCPB)) integer :: nphcdin - !! number of inboard ports for heating/current drive (`iblanket=2` (KIT HCPB)) + !! number of inboard ports for heating/current drive (`i_blanket_type=2` (KIT HCPB)) integer :: nphcdout - !! number of outboard ports for heating/current drive (`iblanket=2` (KIT HCPB)) + !! number of outboard ports for heating/current drive (`i_blanket_type=2` (KIT HCPB)) real(dp) :: tbr - !! tritium breeding ratio (`iblanket=2,3` (KIT HCPB/HCLL)) + !! tritium breeding ratio (`i_blanket_type=2,3` (KIT HCPB/HCLL)) real(dp) :: tritprate - !! tritium production rate [g day^-1] (`iblanket=2` (KIT HCPB)) + !! tritium production rate [g day^-1] (`i_blanket_type=2` (KIT HCPB)) real(dp) :: wallpf - !! neutron wall load peaking factor (`iblanket=2` (KIT HCPB)) + !! neutron wall load peaking factor (`i_blanket_type=2` (KIT HCPB)) real(dp) :: whtblbreed - !! mass of blanket - breeder part [kg] (`iblanket=2` (KIT HCPB)) + !! mass of blanket - breeder part [kg] (`i_blanket_type=2` (KIT HCPB)) real(dp) :: whtblbe !! mass of blanket - beryllium part [kg] - ! CCFE HCPB model with Tritium Breeding Ratio calculation (iblanket=3) + ! CCFE HCPB model with Tritium Breeding Ratio calculation (i_blanket_type=3) ! --------------- integer :: iblanket_thickness - !! Blanket thickness switch (Do not set dr_blkt_inboard, dr_blkt_outboard, dr_fw_inboard or dr_fw_outboard when `iblanket=3`): + !! Blanket thickness switch (Do not set dr_blkt_inboard, dr_blkt_outboard, dr_fw_inboard or dr_fw_outboard when `i_blanket_type=3`): !! !! - =1 thin 0.53 m inboard, 0.91 m outboard !! - =2 medium 0.64 m inboard, 1.11 m outboard @@ -412,7 +412,7 @@ module fwbs_variables real(dp) :: ptfnucpm3 !! nuclear heating in the TF coil (MW/m3) (`blktmodel>0`) - !#TODO: check usage of old blktmodel. Update to iblanket + !#TODO: check usage of old blktmodel. Update to i_blanket_type real(dp) :: r_cryostat_inboard !! cryostat radius [m] @@ -492,11 +492,11 @@ module fwbs_variables !! coolant void fraction in blanket. integer :: blktmodel - !! switch for blanket/tritium breeding model (see iblanket): + !! switch for blanket/tritium breeding model (see i_blanket_type): !! !! - =0 original simple model !! - =1 KIT model based on a helium-cooled pebble-bed blanket (HCPB) reference design - !#TODO: this needs investigating and removing after any required functionality is in iblanket + !#TODO: this needs investigating and removing after any required functionality is in i_blanket_type real(dp) :: declblkt !! neutron power deposition decay length of blanket structural material [m] (stellarators only) @@ -519,7 +519,7 @@ module fwbs_variables !! "PROCESS": A systems code for fusion power plants - Part 2: Engineering !! https://www.sciencedirect.com/science/article/pii/S0920379616300072 !! Feedheat & reheat cycle assumed - !#TODO: this needs to be merged into iblanket and then removed. + !#TODO: this needs to be merged into i_blanket_type and then removed. real(dp) :: etaiso !! isentropic efficiency of FW and blanket coolant pumps @@ -683,7 +683,7 @@ subroutine init_fwbs_variables fw_armour_mass = 0.0D0 fw_armour_thickness = 0.005D0 fw_armour_vol = 0.0D0 - iblanket = 1 + i_blanket_type = 1 i_blkt_inboard = 1 inuclear = 0 qnuc = 0.0D0 diff --git a/source/fortran/input.f90 b/source/fortran/input.f90 index b376410a2f..7b3b7be791 100644 --- a/source/fortran/input.f90 +++ b/source/fortran/input.f90 @@ -267,7 +267,7 @@ subroutine parse_input_file(in_file,out_file,show_changes) zeffdiv, hldivlim, rlenmax, divfix, c3div, & hldiv, i_hldiv use fwbs_variables, only: fblhebpo, vfblkt, fdiv, fvolso, fwcoolant, & - pitch, iblanket, blktmodel, afwi, fblli2o, nphcdin, breeder_multiplier, & + pitch, i_blanket_type, blktmodel, afwi, fblli2o, nphcdin, breeder_multiplier, & fw_armour_thickness, roughness, fwclfr, breedmat, fblli, fblvd, & iblanket_thickness, vfcblkt, breeder_f, fbllipb, fhcd, vfshld, fblhebmi, & f_neut_shield, fw_th_conductivity, nblktmodti, fw_wall, afwo, & @@ -1280,7 +1280,7 @@ subroutine parse_input_file(in_file,out_file,show_changes) call parse_real_variable('blbuoth', blbuoth, 0.0D0, 2.0D0, & 'Outboard blanket breeding unit thickness (m)') case ('dr_blkt_inboard') - if (iblanket == 3) then + if (i_blanket_type == 3) then !CCFE HCPB model with Tritium Breeding Ratio calculation write(outfile,*) '**********' write(outfile,*) 'ERROR. BLNKITH input is not required for CCFE HCPB model with Tritium Breeding Ratio calculation -' @@ -1296,7 +1296,7 @@ subroutine parse_input_file(in_file,out_file,show_changes) end if end if case ('dr_blkt_outboard') - if (iblanket == 3) then + if (i_blanket_type == 3) then !CCFE HCPB model with Tritium Breeding Ratio calculation write(outfile,*) '**********' write(outfile,*) 'ERROR. dr_blkt_outboard input is not required for CCFE HCPB model with Tritium Breeding Ratio calculation -' @@ -2180,19 +2180,19 @@ subroutine parse_input_file(in_file,out_file,show_changes) case ('hcdportsize') call parse_int_variable('hcdportsize', hcdportsize, 1, 2, & 'H/CD port size') - case ('iblanket') - call parse_int_variable('iblanket', iblanket, 1, 5, 'Switch for blanket model') - if ((iblanket == 2).or.(iblanket == 4)) then + case ('i_blanket_type') + call parse_int_variable('i_blanket_type', i_blanket_type, 1, 5, 'Switch for blanket model') + if ((i_blanket_type == 2).or.(i_blanket_type == 4)) then write(outfile,*) ' ' write(outfile,*) '**********' - write(outfile,*) 'iblanket = 2/4, KIT HCPB/HCLL model has been removed -' + write(outfile,*) 'i_blanket_type = 2/4, KIT HCPB/HCLL model has been removed -' write(outfile,*) 'please select a different blanket model.' write(outfile,*) '**********' write(outfile,*) ' ' obsolete_var = .true. endif - if (iblanket == 3) then + if (i_blanket_type == 3) then dr_fw_inboard = 0.03D0 dr_fw_outboard = 0.03D0 fw_armour_thickness = 0.003D0 diff --git a/source/fortran/numerics.f90 b/source/fortran/numerics.f90 index ed437e58f4..576eef6d16 100755 --- a/source/fortran/numerics.f90 +++ b/source/fortran/numerics.f90 @@ -155,7 +155,7 @@ module numerics !!
  • (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 iblanket =2 (itv 96,93,94) + !!
  • (55) Vacuum vessel helium concentration upper limit i_blanket_type =2 (itv 96,93,94) !!
  • (56) Pseparatrix/Rmajor upper limit (itv 97,1,3) !!
  • (57) NOT USED !!
  • (58) NOT USED diff --git a/tests/integration/ref_dicts.json b/tests/integration/ref_dicts.json index 6b99952a28..8d3a700e37 100644 --- a/tests/integration/ref_dicts.json +++ b/tests/integration/ref_dicts.json @@ -2336,7 +2336,7 @@ "iastra": null, "iavail": 2.0, "ibkt_life": 0.0, - "iblanket": 1.0, + "i_blanket_type": 1.0, "iblanket_thickness": 2.0, "i_blkt_inboard": 1.0, "i_bootstrap_current": 3.0, @@ -8902,7 +8902,7 @@ "bliizp": "inboard blanket integrated zone power / neutron", "blimzp": "inboard blanket mean zone power density / neutron", "blkcst": "blanket direct cost (M$)", - "blktmodel": "switch for blanket/tritium breeding model (see iblanket):\n
      \n
    • =0 original simple model
    • \n
    • =1 KIT model based on a helium-cooled pebble-bed blanket (HCPB) reference design
    • \n
    ", + "blktmodel": "switch for blanket/tritium breeding model (see i_blanket_type):\n
      \n
    • =0 original simple model
    • \n
    • =1 KIT model based on a helium-cooled pebble-bed blanket (HCPB) reference design
    • \n
    ", "blkttype": "Switch for blanket type:\n
      \n
    • =1 WCLL;
    • \n
    • =2 HCLL; efficiency taken from M. Kovari 2016
    • \n
    • =3 HCPB; efficiency taken from M. Kovari 2016
    • \n
    ", "bllengi": "Inboard/outboard blanket segment poloidal length (m)", "bllengo": "Inboard/outboard blanket segment poloidal length (m)", @@ -8945,7 +8945,7 @@ "breeder": "Breeder type (allowed values are Orthosilicate, Metatitanate or Zirconate)", "breeder_f": "Volume ratio: Li4SiO4/(Be12Ti+Li4SiO4) (`iteration variable 108`)", "breeder_multiplier": "combined breeder/multipler fraction of blanket by volume", - "breedmat": "breeder material switch (iblanket=2 (KIT HCPB)):\n
      \n
    • =1 Lithium orthosilicate
    • \n
    • =2 Lithium methatitanate
    • \n
    • =3 Lithium zirconate
    • \n
    ", + "breedmat": "breeder material switch (i_blanket_type=2 (KIT HCPB)):\n
      \n
    • =1 Lithium orthosilicate
    • \n
    • =2 Lithium methatitanate
    • \n
    • =3 Lithium zirconate
    • \n
    ", "bscf_iter89": "bootstrap current fraction, ITER 1989 model", "bscf_nevins": "bootstrap current fraction, Nevins et al model", "bscf_sauter": "bootstrap current fraction, Sauter et al model", @@ -9279,7 +9279,7 @@ "denhe": "", "nd_fuel_ions": "fuel ion density (/m3)", "denpbli": "", - "densbreed": "density of breeder material (kg/m3) (`iblanket=2` (KIT HCPB))", + "densbreed": "density of breeder material (kg/m3) (`i_blanket_type=2` (KIT HCPB))", "densin": "density at plate (on separatrix) (10**20 /m3)", "denstl": "density of steel (kg/m3)", "denwc": "density of tungsten carbide (kg/m3)", @@ -9486,12 +9486,12 @@ "fbeta_poloidal": "f-value for poloidal beta (`constraint equation 48`, `iteration variable 79`)", "fbeta_max": "f-value for beta limit (`constraint equation 24`, `iteration variable 36`)", "fbeta_min": "f-value for (lower) beta limit (`constraint equation 84`, `iteration variable 173`)", - "fblbe": "beryllium fraction of blanket by volume (if `iblanket=2`, is Be fraction of breeding zone)", - "fblbreed": "breeder fraction of blanket breeding zone by volume (`iblanket=2` (KIT HCPB))", - "fblhebmi": "helium fraction of inboard blanket box manifold by volume (`iblanket=2` (KIT HCPB))", - "fblhebmo": "helium fraction of outboard blanket box manifold by volume (`iblanket=2` (KIT HCPB))", - "fblhebpi": "helium fraction of inboard blanket back plate by volume (`iblanket=2` (KIT HCPB))", - "fblhebpo": "helium fraction of outboard blanket back plate by volume (`iblanket=2` (KIT HCPB))", + "fblbe": "beryllium fraction of blanket by volume (if `i_blanket_type=2`, is Be fraction of breeding zone)", + "fblbreed": "breeder fraction of blanket breeding zone by volume (`i_blanket_type=2` (KIT HCPB))", + "fblhebmi": "helium fraction of inboard blanket box manifold by volume (`i_blanket_type=2` (KIT HCPB))", + "fblhebmo": "helium fraction of outboard blanket box manifold by volume (`i_blanket_type=2` (KIT HCPB))", + "fblhebpi": "helium fraction of inboard blanket back plate by volume (`i_blanket_type=2` (KIT HCPB))", + "fblhebpo": "helium fraction of outboard blanket back plate by volume (`i_blanket_type=2` (KIT HCPB))", "fblli": "lithium fraction of blanket by volume (stellarator only)", "fblli2o": "lithium oxide fraction of blanket by volume (stellarator only)", "fblli2sio4": "Fractions of blanket by volume: steel, lithium orthosilicate, titanium beryllide", @@ -9653,7 +9653,7 @@ "fvs": "f-value for flux-swing (V-s) requirement (STEADY STATE)\n (`constraint equation 12`, `iteration variable 15`)", "fvsbrnni": "fraction of the plasma current produced by non-inductive means (`iteration variable 44`)", "fvssu": "F-value for `constraint equation 51`", - "fvvhe": "f-value for vacuum vessel He concentration limit (`iblanket = 2`)\n (`constraint equation 55`, `iteration variable 96`)", + "fvvhe": "f-value for vacuum vessel He concentration limit (`i_blanket_type = 2`)\n (`constraint equation 55`, `iteration variable 96`)", "fw_armour_mass": "first wall armour mass (kg)", "fw_armour_thickness": "first wall armour thickness (m)", "fw_armour_u_nuc_heating": "Unit heating of FW and armour in FW armour (W/kg per W of fusion power)", @@ -9738,7 +9738,7 @@ "hcd_building_h": "HCD building length, width, height (m)", "hcd_building_l": "HCD building length, width, height (m)", "hcd_building_w": "HCD building length, width, height (m)", - "hcdportsize": "switch for size of heating/current drive ports (`iblanket=2` (KIT HCPB)):\n
      \n
    • =1 'small'
    • \n
    • =2 'large'
    • \n
    ", + "hcdportsize": "switch for size of heating/current drive ports (`i_blanket_type=2` (KIT HCPB)):\n
      \n
    • =1 'small'
    • \n
    • =2 'large'
    • \n
    ", "dz_pf_cryostat": "Clearance between uppermost PF coil and cryostat lid (m)", "hcwt": "hot cell wall thickness (m)", "heat_sink_h": "heat sinks length, width, height (m)", @@ -9810,8 +9810,8 @@ "iastra": "", "iavail": "Switch for plant availability model:\n
      \n
    • =0 use input value for cfactr
    • \n
    • =1 calculate cfactr using Taylor and Ward 1999 model
    • \n
    • =2 calculate cfactr using new (2015) model
    • \n
    ", "ibkt_life": "Switch for fw/blanket lifetime calculation in availability module:\n
      \n
    • =0 use neutron fluence model
    • \n
    • =1 use fusion power model (DEMO only)
    • \n
    ", - "iblanket": "switch for blanket model:\n
      \n
    • =1 CCFE HCPB model
    • \n
    • =2 KIT HCPB model
    • \n
    • =3 CCFE HCPB model with Tritium Breeding Ratio calculation
    • \n
    • =4 KIT HCLL model
    • \n
    ", - "iblanket_thickness": "Blanket thickness switch (Do not set dr_blkt_inboard, dr_blkt_outboard, dr_fw_inboard or dr_fw_outboard when `iblanket=3`):\n
      \n
    • =1 thin 0.53 m inboard, 0.91 m outboard
    • \n
    • =2 medium 0.64 m inboard, 1.11 m outboard
    • \n
    • =3 thick 0.75 m inboard, 1.30 m outboard
    • \n
    ", + "i_blanket_type": "switch for blanket model:\n
      \n
    • =1 CCFE HCPB model
    • \n
    • =2 KIT HCPB model
    • \n
    • =3 CCFE HCPB model with Tritium Breeding Ratio calculation
    • \n
    • =4 KIT HCLL model
    • \n
    ", + "iblanket_thickness": "Blanket thickness switch (Do not set dr_blkt_inboard, dr_blkt_outboard, dr_fw_inboard or dr_fw_outboard when `i_blanket_type=3`):\n
      \n
    • =1 thin 0.53 m inboard, 0.91 m outboard
    • \n
    • =2 medium 0.64 m inboard, 1.11 m outboard
    • \n
    • =3 thick 0.75 m inboard, 1.30 m outboard
    • \n
    ", "i_blkt_inboard": "switch for inboard blanket:\n
      \n
    • =0 No inboard blanket (dr_blkt_inboard=0.0)
    • \n
    • =1 Inboard blanket present
    • \n
    ", "i_bootstrap_current": "switch for bootstrap current scaling\n
      \n
    • =1 ITER 1989 bootstrap scaling (high R/a only)
    • \n
    • =2 for Nevins et al general scaling
    • \n
    • =3 for Wilson et al numerical scaling
    • \n
    • =4 for Sauter et al scaling
    • \n
    ", "icase": "power plant type", @@ -9954,7 +9954,7 @@ "ki": "", "kron": "", "ksic": "power fraction for outboard double-null scrape-off plasma", - "lablcc": "lablcc(ipeqns) : labels describing constraint equations (corresponding itvs)
      \n
      \n
    • ( 1) Beta (consistency equation) (itv 5)\n
    • ( 2) Global power balance (consistency equation) (itv 10,1,2,3,4,6,11)\n
    • ( 3) Ion power balance DEPRECATED (itv 10,1,2,3,4,6,11)\n
    • ( 4) Electron power balance DEPRECATED (itv 10,1,2,3,4,6,11)\n
    • ( 5) Density upper limit (itv 9,1,2,3,4,5,6)\n
    • ( 6) (Epsilon x beta poloidal) upper limit (itv 8,1,2,3,4,6)\n
    • ( 7) Beam ion density (NBI) (consistency equation) (itv 7)\n
    • ( 8) Neutron wall load upper limit (itv 14,1,2,3,4,6)\n
    • ( 9) Fusion power upper limit (itv 26,1,2,3,4,6)\n
    • (10) Toroidal field 1/R (consistency equation) (itv 12,1,2,3,13 )\n
    • (11) Radial build (consistency equation) (itv 3,1,13,16,29,42,61)\n
    • (12) Volt second lower limit (STEADY STATE) (itv 15,1,2,3)\n
    • (13) Burn time lower limit (PULSE) (itv 21,1,16,17,29,42,44,61)\n (itv 19,1,2,3,6)\n
    • (14) Neutral beam decay lengths to plasma centre (NBI) (consistency equation)\n
    • (15) LH power threshold limit (itv 103)\n
    • (16) Net electric power lower limit (itv 25,1,2,3)\n
    • (17) Radiation fraction upper limit (itv 28)\n
    • (18) Divertor heat load upper limit (itv 27)\n
    • (19) MVA upper limit (itv 30)\n
    • (20) Neutral beam tangency radius upper limit (NBI) (itv 33,31,3,13)\n
    • (21) Plasma minor radius lower limit (itv 32)\n
    • (22) Divertor collisionality upper limit (itv 34,43)\n
    • (23) Conducting shell to plasma minor radius ratio upper limit\n (itv 104,1,74)\n
    • (24) Beta upper limit (itv 36,1,2,3,4,6,18)\n
    • (25) Peak toroidal field upper limit (itv 35,3,13,29)\n
    • (26) Central solenoid EOF current density upper limit (ipfres=0)\n (itv 38,37,41,12)\n
    • (27) Central solenoid BOP current density upper limit (ipfres=0)\n (itv 39,37,41,12)\n
    • (28) Fusion gain Q lower limit (itv 45,47,40)\n
    • (29) Inboard radial build consistency (itv 3,1,13,16,29,42,61)\n
    • (30) Injection power upper limit (itv 46,47,11)\n
    • (31) TF coil case stress upper limit (SCTF) (itv 48,56,57,58,59,60,24)\n
    • (32) TF coil conduit stress upper limit (SCTF) (itv 49,56,57,58,59,60,24)\n
    • (33) I_op / I_critical (TF coil) (SCTF) (itv 50,56,57,58,59,60,24)\n
    • (34) Dump voltage upper limit (SCTF) (itv 51,52,56,57,58,59,60,24)\n
    • (35) J_winding pack/J_protection upper limit (SCTF) (itv 53,56,57,58,59,60,24)\n
    • (36) TF coil temperature margin lower limit (SCTF) (itv 54,55,56,57,58,59,60,24)\n
    • (37) Current drive gamma upper limit (itv 40,47)\n
    • (38) First wall coolant temperature rise upper limit (itv 62)\n
    • (39) First wall peak temperature upper limit (itv 63)\n
    • (40) Start-up injection power lower limit (PULSE) (itv 64)\n
    • (41) Plasma current ramp-up time lower limit (PULSE) (itv 66,65)\n
    • (42) Cycle time lower limit (PULSE) (itv 17,67,65)\n
    • (43) Average centrepost temperature\n (TART) (consistency equation) (itv 13,20,69,70)\n
    • (44) Peak centrepost temperature upper limit (TART) (itv 68,69,70)\n
    • (45) Edge safety factor lower limit (TART) (itv 71,1,2,3)\n
    • (46) Equation for Ip/Irod upper limit (TART) (itv 72,2,60)\n
    • (47) NOT USED\n
    • (48) Poloidal beta upper limit (itv 79,2,3,18)\n
    • (49) NOT USED\n
    • (50) IFE repetition rate upper limit (IFE)\n
    • (51) Startup volt-seconds consistency (PULSE) (itv 16,29,3,1)\n
    • (52) Tritium breeding ratio lower limit (itv 89,90,91)\n
    • (53) Neutron fluence on TF coil upper limit (itv 92,93,94)\n
    • (54) Peak TF coil nuclear heating upper limit (itv 95,93,94)\n
    • (55) Vacuum vessel helium concentration upper limit iblanket =2 (itv 96,93,94)\n
    • (56) Pseparatrix/Rmajor upper limit (itv 97,1,3)\n
    • (57) NOT USED\n
    • (58) NOT USED\n
    • (59) Neutral beam shine-through fraction upper limit (NBI) (itv 105,6,19,4 )\n
    • (60) Central solenoid temperature margin lower limit (SCTF) (itv 106)\n
    • (61) Minimum availability value (itv 107)\n
    • (62) f_alpha_energy_confinement the ratio of particle to energy confinement times (itv 110)\n
    • (63) The number of ITER-like vacuum pumps niterpump < tfno (itv 111)\n
    • (64) Zeff less than or equal to zeffmax (itv 112)\n
    • (65) Dump time set by VV loads (itv 56, 113)\n
    • (66) Limit on rate of change of energy in poloidal field\n (Use iteration variable 65(t_current_ramp_up), 115)\n
    • (67) Simple Radiation Wall load limit (itv 116, 4,6)\n
    • (68) Psep * Bt / qAR upper limit (itv 117)\n
    • (69) ensure separatrix power = the value from Kallenbach divertor (itv 118)\n
    • (70) ensure that teomp = separatrix temperature in the pedestal profile,\n (itv 119 (tesep))\n
    • (71) ensure that neomp = separatrix density (nesep) x neratio\n
    • (72) central solenoid shear stress limit (Tresca yield criterion) (itv 123 foh_stress)\n
    • (73) Psep >= Plh + Paux (itv 137 (fplhsep))\n
    • (74) TFC quench < tmax_croco (itv 141 (fcqt))\n
    • (75) TFC current/copper area < Maximum (itv 143 f_coppera_m2)\n
    • (76) Eich critical separatrix density\n
    • (77) TF coil current per turn upper limit\n
    • (78) Reinke criterion impurity fraction lower limit (itv 147 freinke)\n
    • (79) Peak CS field upper limit (itv 149 fbmaxcs)\n
    • (80) Divertor power lower limit pdivt (itv 153 fpdivlim)\n
    • (81) Ne(0) > ne(ped) constraint (itv 154 fne0)\n
    • (82) toroidalgap > tftort constraint (itv 171 ftoroidalgap)\n
    • (83) Radial build consistency for stellarators (itv 172 f_avspace)\n
    • (84) Lower limit for beta (itv 173 fbeta_min)\n
    • (85) Constraint for CP lifetime\n
    • (86) Constraint for TF coil turn dimension\n
    • (87) Constraint for cryogenic power\n
    • (88) Constraint for TF coil strain absolute value\n
    • (89) Constraint for CS coil quench protection\n
    • (90) Checking if the design point is ECRH ignitable (itv 164 fecrh_ignition)
    \n\n\n\n", + "lablcc": "lablcc(ipeqns) : labels describing constraint equations (corresponding itvs)
      \n
      \n
    • ( 1) Beta (consistency equation) (itv 5)\n
    • ( 2) Global power balance (consistency equation) (itv 10,1,2,3,4,6,11)\n
    • ( 3) Ion power balance DEPRECATED (itv 10,1,2,3,4,6,11)\n
    • ( 4) Electron power balance DEPRECATED (itv 10,1,2,3,4,6,11)\n
    • ( 5) Density upper limit (itv 9,1,2,3,4,5,6)\n
    • ( 6) (Epsilon x beta poloidal) upper limit (itv 8,1,2,3,4,6)\n
    • ( 7) Beam ion density (NBI) (consistency equation) (itv 7)\n
    • ( 8) Neutron wall load upper limit (itv 14,1,2,3,4,6)\n
    • ( 9) Fusion power upper limit (itv 26,1,2,3,4,6)\n
    • (10) Toroidal field 1/R (consistency equation) (itv 12,1,2,3,13 )\n
    • (11) Radial build (consistency equation) (itv 3,1,13,16,29,42,61)\n
    • (12) Volt second lower limit (STEADY STATE) (itv 15,1,2,3)\n
    • (13) Burn time lower limit (PULSE) (itv 21,1,16,17,29,42,44,61)\n (itv 19,1,2,3,6)\n
    • (14) Neutral beam decay lengths to plasma centre (NBI) (consistency equation)\n
    • (15) LH power threshold limit (itv 103)\n
    • (16) Net electric power lower limit (itv 25,1,2,3)\n
    • (17) Radiation fraction upper limit (itv 28)\n
    • (18) Divertor heat load upper limit (itv 27)\n
    • (19) MVA upper limit (itv 30)\n
    • (20) Neutral beam tangency radius upper limit (NBI) (itv 33,31,3,13)\n
    • (21) Plasma minor radius lower limit (itv 32)\n
    • (22) Divertor collisionality upper limit (itv 34,43)\n
    • (23) Conducting shell to plasma minor radius ratio upper limit\n (itv 104,1,74)\n
    • (24) Beta upper limit (itv 36,1,2,3,4,6,18)\n
    • (25) Peak toroidal field upper limit (itv 35,3,13,29)\n
    • (26) Central solenoid EOF current density upper limit (ipfres=0)\n (itv 38,37,41,12)\n
    • (27) Central solenoid BOP current density upper limit (ipfres=0)\n (itv 39,37,41,12)\n
    • (28) Fusion gain Q lower limit (itv 45,47,40)\n
    • (29) Inboard radial build consistency (itv 3,1,13,16,29,42,61)\n
    • (30) Injection power upper limit (itv 46,47,11)\n
    • (31) TF coil case stress upper limit (SCTF) (itv 48,56,57,58,59,60,24)\n
    • (32) TF coil conduit stress upper limit (SCTF) (itv 49,56,57,58,59,60,24)\n
    • (33) I_op / I_critical (TF coil) (SCTF) (itv 50,56,57,58,59,60,24)\n
    • (34) Dump voltage upper limit (SCTF) (itv 51,52,56,57,58,59,60,24)\n
    • (35) J_winding pack/J_protection upper limit (SCTF) (itv 53,56,57,58,59,60,24)\n
    • (36) TF coil temperature margin lower limit (SCTF) (itv 54,55,56,57,58,59,60,24)\n
    • (37) Current drive gamma upper limit (itv 40,47)\n
    • (38) First wall coolant temperature rise upper limit (itv 62)\n
    • (39) First wall peak temperature upper limit (itv 63)\n
    • (40) Start-up injection power lower limit (PULSE) (itv 64)\n
    • (41) Plasma current ramp-up time lower limit (PULSE) (itv 66,65)\n
    • (42) Cycle time lower limit (PULSE) (itv 17,67,65)\n
    • (43) Average centrepost temperature\n (TART) (consistency equation) (itv 13,20,69,70)\n
    • (44) Peak centrepost temperature upper limit (TART) (itv 68,69,70)\n
    • (45) Edge safety factor lower limit (TART) (itv 71,1,2,3)\n
    • (46) Equation for Ip/Irod upper limit (TART) (itv 72,2,60)\n
    • (47) NOT USED\n
    • (48) Poloidal beta upper limit (itv 79,2,3,18)\n
    • (49) NOT USED\n
    • (50) IFE repetition rate upper limit (IFE)\n
    • (51) Startup volt-seconds consistency (PULSE) (itv 16,29,3,1)\n
    • (52) Tritium breeding ratio lower limit (itv 89,90,91)\n
    • (53) Neutron fluence on TF coil upper limit (itv 92,93,94)\n
    • (54) Peak TF coil nuclear heating upper limit (itv 95,93,94)\n
    • (55) Vacuum vessel helium concentration upper limit i_blanket_type =2 (itv 96,93,94)\n
    • (56) Pseparatrix/Rmajor upper limit (itv 97,1,3)\n
    • (57) NOT USED\n
    • (58) NOT USED\n
    • (59) Neutral beam shine-through fraction upper limit (NBI) (itv 105,6,19,4 )\n
    • (60) Central solenoid temperature margin lower limit (SCTF) (itv 106)\n
    • (61) Minimum availability value (itv 107)\n
    • (62) f_alpha_energy_confinement the ratio of particle to energy confinement times (itv 110)\n
    • (63) The number of ITER-like vacuum pumps niterpump < tfno (itv 111)\n
    • (64) Zeff less than or equal to zeffmax (itv 112)\n
    • (65) Dump time set by VV loads (itv 56, 113)\n
    • (66) Limit on rate of change of energy in poloidal field\n (Use iteration variable 65(t_current_ramp_up), 115)\n
    • (67) Simple Radiation Wall load limit (itv 116, 4,6)\n
    • (68) Psep * Bt / qAR upper limit (itv 117)\n
    • (69) ensure separatrix power = the value from Kallenbach divertor (itv 118)\n
    • (70) ensure that teomp = separatrix temperature in the pedestal profile,\n (itv 119 (tesep))\n
    • (71) ensure that neomp = separatrix density (nesep) x neratio\n
    • (72) central solenoid shear stress limit (Tresca yield criterion) (itv 123 foh_stress)\n
    • (73) Psep >= Plh + Paux (itv 137 (fplhsep))\n
    • (74) TFC quench < tmax_croco (itv 141 (fcqt))\n
    • (75) TFC current/copper area < Maximum (itv 143 f_coppera_m2)\n
    • (76) Eich critical separatrix density\n
    • (77) TF coil current per turn upper limit\n
    • (78) Reinke criterion impurity fraction lower limit (itv 147 freinke)\n
    • (79) Peak CS field upper limit (itv 149 fbmaxcs)\n
    • (80) Divertor power lower limit pdivt (itv 153 fpdivlim)\n
    • (81) Ne(0) > ne(ped) constraint (itv 154 fne0)\n
    • (82) toroidalgap > tftort constraint (itv 171 ftoroidalgap)\n
    • (83) Radial build consistency for stellarators (itv 172 f_avspace)\n
    • (84) Lower limit for beta (itv 173 fbeta_min)\n
    • (85) Constraint for CP lifetime\n
    • (86) Constraint for TF coil turn dimension\n
    • (87) Constraint for cryogenic power\n
    • (88) Constraint for TF coil strain absolute value\n
    • (89) Constraint for CS coil quench protection\n
    • (90) Checking if the design point is ECRH ignitable (itv 164 fecrh_ignition)
    \n\n\n\n", "lablmm": "lablmm(ipnfoms) : labels describing figures of merit:
      \n
      \n
    • ( 1) major radius\n
    • ( 2) not used\n
    • ( 3) neutron wall load\n
    • ( 4) P_tf + P_pf\n
    • ( 5) fusion gain Q\n
    • ( 6) cost of electricity\n
    • ( 7) capital cost (direct cost if ireactor=0,\n constructed cost otherwise)\n
    • ( 8) aspect ratio\n
    • ( 9) divertor heat load\n
    • (10) toroidal field\n
    • (11) total injected power\n
    • (12) hydrogen plant capital cost OBSOLETE\n
    • (13) hydrogen production rate OBSOLETE\n
    • (14) pulse length\n
    • (15) plant availability factor (N.B. requires\n iavail=1 to be set)\n
    • (16) linear combination of major radius (minimised) and pulse length (maximised)\n note: FoM should be minimised only!\n
    • (17) net electrical output\n
    • (18) Null Figure of Merit\n
    • (19) linear combination of big Q and pulse length (maximised)\n note: FoM should be minimised only!
    \n\n\n", "lablxc": "lablxc(ipnvars) : labels describing iteration variables
      \n
      \n
    • ( 1) aspect\n
    • ( 2) bt\n
    • ( 3) rmajor\n
    • ( 4) te\n
    • ( 5) beta\n
    • ( 6) dene\n
    • ( 7) f_nd_beam_electron\n
    • ( 8) fbeta_poloidal_eps (f-value for equation 6)\n
    • ( 9) fdene (f-value for equation 5)\n
    • (10) hfact\n
    • (11) pheat\n
    • (12) oacdcp\n
    • (13) dr_tf_inboard (NOT RECOMMENDED)\n
    • (14) fwalld (f-value for equation 8)\n
    • (15) fvs (f-value for equation 12)\n
    • (16) dr_cs\n
    • (17) tdwell\n
    • (18) q\n
    • (19) beam_energy\n
    • (20) tcpav\n
    • (21) ftburn (f-value for equation 13)\n
    • (22) NOT USED\n
    • (23) fcoolcp\n
    • (24) NOT USED\n
    • (25) fpnetel (f-value for equation 16)\n
    • (26) ffuspow (f-value for equation 9)\n
    • (27) fhldiv (f-value for equation 18)\n
    • (28) fradpwr (f-value for equation 17), total radiation fraction\n
    • (29) dr_bore\n
    • (30) fmva (f-value for equation 19)\n
    • (31) gapomin\n
    • (32) frminor (f-value for equation 21)\n
    • (33) fportsz (f-value for equation 20)\n
    • (34) fdivcol (f-value for equation 22)\n
    • (35) fpeakb (f-value for equation 25)\n
    • (36) fbeta_max (f-value for equation 24)\n
    • (37) coheof\n
    • (38) fjohc (f-value for equation 26)\n
    • (39) fjohc0 (f-value for equation 27)\n
    • (40) fgamcd (f-value for equation 37)\n
    • (41) fcohbop\n
    • (42) dr_cs_tf_gap\n
    • (43) NOT USED\n
    • (44) fvsbrnni\n
    • (45) fqval (f-value for equation 28)\n
    • (46) fpinj (f-value for equation 30)\n
    • (47) feffcd\n
    • (48) fstrcase (f-value for equation 31)\n
    • (49) fstrcond (f-value for equation 32)\n
    • (50) fiooic (f-value for equation 33)\n
    • (51) fvdump (f-value for equation 34)\n
    • (52) vdalw\n
    • (53) fjprot (f-value for equation 35)\n
    • (54) ftmargtf (f-value for equation 36)\n
    • (55) NOT USED\n
    • (56) tdmptf\n
    • (57) thkcas\n
    • (58) thwcndut\n
    • (59) fcutfsu\n
    • (60) cpttf\n
    • (61) dr_shld_vv_gap_inboard\n
    • (62) fdtmp (f-value for equation 38)\n
    • (63) ftpeak (f-value for equation 39)\n
    • (64) fauxmn (f-value for equation 40)\n
    • (65) tohs\n
    • (66) ftohs (f-value for equation 41)\n
    • (67) ftcycl (f-value for equation 42)\n
    • (68) fptemp (f-value for equation 44)\n
    • (69) rcool\n
    • (70) vcool\n
    • (71) fq (f-value for equation 45)\n
    • (72) fipir (f-value for equation 46)\n
    • (73) dr_fw_plasma_gap_inboard\n
    • (74) dr_fw_plasma_gap_outboard\n
    • (75) tfootfi\n
    • (76) NOT USED\n
    • (77) NOT USED\n
    • (78) NOT USED\n
    • (79) fbeta_poloidal (f-value for equation 48)\n
    • (80) NOT USED\n
    • (81) edrive\n
    • (82) drveff\n
    • (83) tgain\n
    • (84) chrad\n
    • (85) pdrive\n
    • (86) frrmax (f-value for equation 50)\n
    • (87) NOT USED\n
    • (88) NOT USED\n
    • (89) ftbr (f-value for equation 52)\n
    • (90) blbuith\n
    • (91) blbuoth\n
    • (92) fflutf (f-value for equation 53)\n
    • (93) dr_shld_inboard\n
    • (94) dr_shld_outboard\n
    • (95) fptfnuc (f-value for equation 54)\n
    • (96) fvvhe (f-value for equation 55)\n
    • (97) fpsepr (f-value for equation 56)\n
    • (98) li6enrich\n
    • (99) NOT USED\n
    • (100) NOT USED\n
    • (101) NOT USED\n
    • (102) fimpvar\n
    • (103) flhthresh (f-value for equation 15)\n
    • (104)fr_conducting_wall (f-value for equation 23)\n
    • (105) fnbshinef (f-value for equation 59)\n
    • (106) ftmargoh (f-value for equation 60)\n
    • (107) favail (f-value for equation 61)\n
    • (108) breeder_f: Volume of Li4SiO4 / (Volume of Be12Ti + Li4SiO4)\n
    • (109) f_nd_alpha_electron: thermal alpha density / electron density\n
    • (110) falpha_energy_confinement: Lower limit on f_alpha_energy_confinement the ratio of alpha\n
    • (111) fniterpump: f-value for constraint that number\n
    • (112) fzeffmax: f-value for max Zeff (f-value for equation 64)\n
    • (113) ftaucq: f-value for minimum quench time (f-value for equation 65)\n
    • (114) fw_channel_length: Length of a single first wall channel\n
    • (115) fpoloidalpower: f-value for max rate of change of\n
    • (116) fradwall: f-value for radiation wall load limit (eq. 67)\n
    • (117) fpsepbqar: f-value for Psep*Bt/qar upper limit (eq. 68)\n
    • (118) fpsep: f-value to ensure separatrix power is less than\n
    • (119) tesep: separatrix temperature calculated by the Kallenbach divertor model\n
    • (120) ttarget: Plasma temperature adjacent to divertor sheath [eV]\n
    • (121) neratio: ratio of mean SOL density at OMP to separatrix density at OMP\n
    • (122) oh_steel_frac : streel fraction of Central Solenoid\n
    • (123) foh_stress : f-value for CS coil Tresca yield criterion (f-value for eq. 72)\n
    • (124) qtargettotal : Power density on target including surface recombination [W/m2]\n
    • (125) fimp(3) : Beryllium density fraction relative to electron density\n
    • (126) fimp(4) : Carbon density fraction relative to electron density\n
    • (127) fimp(5) : Nitrogen fraction relative to electron density\n
    • (128) fimp(6) : Oxygen density fraction relative to electron density\n
    • (129) fimp(7) : Neon density fraction relative to electron density\n
    • (130) fimp(8) : Silicon density fraction relative to electron density\n
    • (131) fimp(9) : Argon density fraction relative to electron density\n
    • (132) fimp(10) : Iron density fraction relative to electron density\n
    • (133) fimp(11) : Nickel density fraction relative to electron density\n
    • (134) fimp(12) : Krypton density fraction relative to electron density\n
    • (135) fimp(13) : Xenon density fraction relative to electron density\n
    • (136) fimp(14) : Tungsten density fraction relative to electron density\n
    • (137) fplhsep (f-value for equation 73)\n
    • (138) rebco_thickness : thickness of REBCO layer in tape (m)\n
    • (139) copper_thick : thickness of copper layer in tape (m)\n
    • (140) dr_tf_wp : radial thickness of TFC winding pack (m)\n
    • (141) fcqt : TF coil quench temperature < tmax_croco (f-value for equation 74)\n
    • (142) nesep : electron density at separatrix [m-3]\n
    • (143) f_copperA_m2 : TF coil current / copper area < Maximum value\n
    • (144) fnesep : Eich critical electron density at separatrix\n
    • (145) fgwped : fraction of Greenwald density to set as pedestal-top density\n
    • (146) fcpttf : F-value for TF coil current per turn limit (constraint equation 77)\n
    • (147) freinke : F-value for Reinke detachment criterion (constraint equation 78)\n
    • (148) fzactual : fraction of impurity at SOL with Reinke detachment criterion\n
    • (149) fbmaxcs : F-value for max peak CS field (con. 79, itvar 149)\n
    • (152) fbmaxcs : Ratio of separatrix density to Greenwald density\n
    • (153) fpdivlim : F-value for minimum pdivt (con. 80)\n
    • (154) fne0 : F-value for ne(0) > ne(ped) (con. 81)\n
    • (155) pfusife : IFE input fusion power (MW) (ifedrv=3 only)\n
    • (156) rrin : Input IFE repetition rate (Hz) (ifedrv=3 only)\n
    • (157) fvssu : F-value for available to required start up flux (con. 51)\n
    • (158) croco_thick : Thickness of CroCo copper tube (m)\n
    • (159) ftoroidalgap : F-value for toroidalgap > tftort constraint (con. 82)\n
    • (160) f_avspace (f-value for equation 83)\n
    • (161) fbeta_min (f-value for equation 84)\n
    • (162) r_cp_top : Top outer radius of the centropost (ST only) (m)\n
    • (163) f_t_turn_tf : f-value for TF coils WP trurn squared dimension constraint\n
    • (164) f_crypmw : f-value for cryogenic plant power\n
    • (165) fstr_wp : f-value for TF coil strain absolute value\n
    • (166) f_copperaoh_m2 : CS coil current /copper area < Maximum value\n
    • (167) fecrh_ignition: f-value for equation 90\n
    • (168) EMPTY : Description\n
    • (169) EMPTY : Description\n
    • (170) EMPTY : Description\n
    • (171) EMPTY : Description\n
    • (172) EMPTY : Description\n
    • (173) EMPTY : Description\n
    • (174) EMPTY : Description\n
    • (175) EMPTY : Description\n\n\n\n", "lablxc": "lablxc(ipnvars) : labels describing iteration variables
        \n
        \n
      • ( 1) aspect\n
      • ( 2) bt\n
      • ( 3) rmajor\n
      • ( 4) te\n
      • ( 5) beta\n
      • ( 6) dene\n
      • ( 7) f_nd_beam_electron\n
      • ( 8) fbeta_poloidal_eps (f-value for equation 6)\n
      • ( 9) fdene (f-value for equation 5)\n
      • (10) hfact\n
      • (11) pheat\n
      • (12) oacdcp\n
      • (13) dr_tf_inboard (NOT RECOMMENDED)\n
      • (14) fwalld (f-value for equation 8)\n
      • (15) fvs (f-value for equation 12)\n
      • (16) dr_cs\n
      • (17) t_between_pulse\n
      • (18) q\n
      • (19) beam_energy\n
      • (20) tcpav\n
      • (21) ft_burn (f-value for equation 13)\n
      • (22) NOT USED\n
      • (23) fcoolcp\n
      • (24) NOT USED\n
      • (25) fpnetel (f-value for equation 16)\n
      • (26) ffuspow (f-value for equation 9)\n
      • (27) fhldiv (f-value for equation 18)\n
      • (28) fradpwr (f-value for equation 17), total radiation fraction\n
      • (29) dr_bore\n
      • (30) fmva (f-value for equation 19)\n
      • (31) gapomin\n
      • (32) frminor (f-value for equation 21)\n
      • (33) fportsz (f-value for equation 20)\n
      • (34) fdivcol (f-value for equation 22)\n
      • (35) fpeakb (f-value for equation 25)\n
      • (36) fbeta_max (f-value for equation 24)\n
      • (37) coheof\n
      • (38) fjohc (f-value for equation 26)\n
      • (39) fjohc0 (f-value for equation 27)\n
      • (40) fgamcd (f-value for equation 37)\n
      • (41) fcohbop\n
      • (42) dr_cs_tf_gap\n
      • (43) NOT USED\n
      • (44) fvsbrnni\n
      • (45) fqval (f-value for equation 28)\n
      • (46) fpinj (f-value for equation 30)\n
      • (47) feffcd\n
      • (48) fstrcase (f-value for equation 31)\n
      • (49) fstrcond (f-value for equation 32)\n
      • (50) fiooic (f-value for equation 33)\n
      • (51) fvdump (f-value for equation 34)\n
      • (52) vdalw\n
      • (53) fjprot (f-value for equation 35)\n
      • (54) ftmargtf (f-value for equation 36)\n
      • (55) NOT USED\n
      • (56) tdmptf\n
      • (57) thkcas\n
      • (58) thwcndut\n
      • (59) fcutfsu\n
      • (60) cpttf\n
      • (61) dr_shld_vv_gap_inboard\n
      • (62) fdtmp (f-value for equation 38)\n
      • (63) ftpeak (f-value for equation 39)\n
      • (64) fauxmn (f-value for equation 40)\n
      • (65) t_current_ramp_up\n
      • (66) ft_current_ramp_up (f-value for equation 41)\n
      • (67) ftcycl (f-value for equation 42)\n
      • (68) fptemp (f-value for equation 44)\n
      • (69) rcool\n
      • (70) vcool\n
      • (71) fq (f-value for equation 45)\n
      • (72) fipir (f-value for equation 46)\n
      • (73) dr_fw_plasma_gap_inboard\n
      • (74) dr_fw_plasma_gap_outboard\n
      • (75) tfootfi\n
      • (76) NOT USED\n
      • (77) NOT USED\n
      • (78) NOT USED\n
      • (79) fbetap (f-value for equation 48)\n
      • (80) NOT USED\n
      • (81) edrive\n
      • (82) drveff\n
      • (83) tgain\n
      • (84) chrad\n
      • (85) pdrive\n
      • (86) frrmax (f-value for equation 50)\n
      • (87) NOT USED\n
      • (88) NOT USED\n
      • (89) ftbr (f-value for equation 52)\n
      • (90) blbuith\n
      • (91) blbuoth\n
      • (92) fflutf (f-value for equation 53)\n
      • (93) dr_shld_inboard\n
      • (94) dr_shld_outboard\n
      • (95) fptfnuc (f-value for equation 54)\n
      • (96) fvvhe (f-value for equation 55)\n
      • (97) fpsepr (f-value for equation 56)\n
      • (98) li6enrich\n
      • (99) NOT USED\n
      • (100) NOT USED\n
      • (101) NOT USED\n
      • (102) fimpvar\n
      • (103) flhthresh (f-value for equation 15)\n
      • (104)fr_conducting_wall (f-value for equation 23)\n
      • (105) fnbshinef (f-value for equation 59)\n
      • (106) ftmargoh (f-value for equation 60)\n
      • (107) favail (f-value for equation 61)\n
      • (108) breeder_f: Volume of Li4SiO4 / (Volume of Be12Ti + Li4SiO4)\n
      • (109) f_nd_alpha_electron: thermal alpha density / electron density\n
      • (110) falpha_energy_confinement: Lower limit on f_alpha_energy_confinement the ratio of alpha\n
      • (111) fniterpump: f-value for constraint that number\n
      • (112) fzeffmax: f-value for max Zeff (f-value for equation 64)\n
      • (113) ftaucq: f-value for minimum quench time (f-value for equation 65)\n
      • (114) fw_channel_length: Length of a single first wall channel\n
      • (115) fpoloidalpower: f-value for max rate of change of\n
      • (116) fradwall: f-value for radiation wall load limit (eq. 67)\n
      • (117) fpsepbqar: f-value for Psep*Bt/qar upper limit (eq. 68)\n
      • (118) fpsep: f-value to ensure separatrix power is less than\n
      • (119) tesep: separatrix temperature calculated by the Kallenbach divertor model\n
      • (120) ttarget: Plasma temperature adjacent to divertor sheath [eV]\n
      • (121) neratio: ratio of mean SOL density at OMP to separatrix density at OMP\n
      • (122) oh_steel_frac : streel fraction of Central Solenoid\n
      • (123) foh_stress : f-value for CS coil Tresca yield criterion (f-value for eq. 72)\n
      • (124) qtargettotal : Power density on target including surface recombination [W/m2]\n
      • (125) fimp(3) : Beryllium density fraction relative to electron density\n
      • (126) fimp(4) : Carbon density fraction relative to electron density\n
      • (127) fimp(5) : Nitrogen fraction relative to electron density\n
      • (128) fimp(6) : Oxygen density fraction relative to electron density\n
      • (129) fimp(7) : Neon density fraction relative to electron density\n
      • (130) fimp(8) : Silicon density fraction relative to electron density\n
      • (131) fimp(9) : Argon density fraction relative to electron density\n
      • (132) fimp(10) : Iron density fraction relative to electron density\n
      • (133) fimp(11) : Nickel density fraction relative to electron density\n
      • (134) fimp(12) : Krypton density fraction relative to electron density\n
      • (135) fimp(13) : Xenon density fraction relative to electron density\n
      • (136) fimp(14) : Tungsten density fraction relative to electron density\n
      • (137) fplhsep (f-value for equation 73)\n
      • (138) rebco_thickness : thickness of REBCO layer in tape (m)\n
      • (139) copper_thick : thickness of copper layer in tape (m)\n
      • (140) dr_tf_wp : radial thickness of TFC winding pack (m)\n
      • (141) fcqt : TF coil quench temperature < tmax_croco (f-value for equation 74)\n
      • (142) nesep : electron density at separatrix [m-3]\n
      • (143) f_copperA_m2 : TF coil current / copper area < Maximum value\n
      • (144) fnesep : Eich critical electron density at separatrix\n
      • (145) fgwped : fraction of Greenwald density to set as pedestal-top density\n
      • (146) fcpttf : F-value for TF coil current per turn limit (constraint equation 77)\n
      • (147) freinke : F-value for Reinke detachment criterion (constraint equation 78)\n
      • (148) fzactual : fraction of impurity at SOL with Reinke detachment criterion\n
      • (149) fbmaxcs : F-value for max peak CS field (con. 79, itvar 149)\n
      • (152) fbmaxcs : Ratio of separatrix density to Greenwald density\n
      • (153) fpdivlim : F-value for minimum pdivt (con. 80)\n
      • (154) fne0 : F-value for ne(0) > ne(ped) (con. 81)\n
      • (155) pfusife : IFE input fusion power (MW) (ifedrv=3 only)\n
      • (156) rrin : Input IFE repetition rate (Hz) (ifedrv=3 only)\n
      • (157) fvssu : F-value for available to required start up flux (con. 51)\n
      • (158) croco_thick : Thickness of CroCo copper tube (m)\n
      • (159) ftoroidalgap : F-value for toroidalgap > tftort constraint (con. 82)\n
      • (160) f_avspace (f-value for equation 83)\n
      • (161) fbeta_min (f-value for equation 84)\n
      • (162) r_cp_top : Top outer radius of the centropost (ST only) (m)\n
      • (163) f_t_turn_tf : f-value for TF coils WP trurn squared dimension constraint\n
      • (164) f_crypmw : f-value for cryogenic plant power\n
      • (165) fstr_wp : f-value for TF coil strain absolute value\n
      • (166) f_copperaoh_m2 : CS coil current /copper area < Maximum value\n
      • (167) fecrh_ignition: f-value for equation 90\n
      • (168) EMPTY : Description\n
      • (169) EMPTY : Description\n
      • (170) EMPTY : Description\n
      • (171) EMPTY : Description\n
      • (172) EMPTY : Description\n
      • (173) EMPTY : Description\n
      • (174) EMPTY : Description\n
      • (175) EMPTY : Description\n\n\n\n", @@ -10151,7 +10151,7 @@ "nfev2": "nfev2 : number of calls to FCNVMC1 (VMCON function caller) made", "nfinit": "", "nfixmx": "maximum number of fixed current PF coils", - "nflutf": "peak fast neutron fluence on TF coil superconductor (n/m2) (`iblanket=2` (KIT HCPB))", + "nflutf": "peak fast neutron fluence on TF coil superconductor (n/m2) (`i_blanket_type=2` (KIT HCPB))", "nflutfi": "Fast neutron fluence on IB TF coil [n/cm2]", "nflutfmax": "max fast neutron fluence on TF coil (n/m2) (`blktmodel>0`) (`constraint equation 53`)\n Also used for demontable magnets (itart = 1) and superconducting coils (i_tf_sup = 1)\n To set the CP lifetime (`constraint equation 85`)", "nflutfo": "Fast neutron fluence on OB TF coil [n/cm2]", @@ -10179,11 +10179,11 @@ "np1j": "", "npblkti": "Inboard/outboard total num of pipes", "npblkto": "Inboard/outboard total num of pipes", - "npdiv": "number of divertor ports (`iblanket=2` (KIT HCPB))", + "npdiv": "number of divertor ports (`i_blanket_type=2` (KIT HCPB))", "npfwi": "Inboard/utboard total number of pipes", "npfwo": "Inboard/utboard total number of pipes", - "nphcdin": "number of inboard ports for heating/current drive (`iblanket=2` (KIT HCPB))", - "nphcdout": "number of outboard ports for heating/current drive (`iblanket=2` (KIT HCPB))", + "nphcdin": "number of inboard ports for heating/current drive (`i_blanket_type=2` (KIT HCPB))", + "nphcdout": "number of outboard ports for heating/current drive (`i_blanket_type=2` (KIT HCPB))", "nphx": "number of primary heat exchangers", "nplot": "Plot data file unit identifier", "npp": "", @@ -10738,7 +10738,7 @@ "tbeamin": "permitted neutral beam e-decay lengths to plasma centre", "tbeta": "temperature profile index beta (`ipedestal=1,2`)", "tbktrepl": "time taken to replace blanket (y) (`iavail=1`)", - "tbr": "tritium breeding ratio (`iblanket=2,3` (KIT HCPB/HCLL))", + "tbr": "tritium breeding ratio (`i_blanket_type=2,3` (KIT HCPB/HCLL))", "tbratio": "Tritium breeding ratio [--]", "tbrmin": "minimum tritium breeding ratio (`constraint equation 52`)", "t_burn_min": "minimum burn time (s) (KE - no longer itv., see issue #706)", @@ -10870,7 +10870,7 @@ "triang": "plasma separatrix triangularity (calculated if `i_plasma_geometry = 1, 3-5 or 7`)", "triang95": "plasma triangularity at 95% surface (calculated if `i_plasma_geometry = 0-2, 6, 8 or 9`)", "trithtmw": "power required for tritium processing (MW)", - "tritprate": "tritium production rate (g/day) (`iblanket=2` (KIT HCPB))", + "tritprate": "tritium production rate (g/day) (`i_blanket_type=2` (KIT HCPB))", "triv": "volume of tritium, fuel handling and health physics buildings (m3)", "tsep": "temperature at the separatrix (eV)", "ttarget": "Plasma temperature adjacent to divertor sheath [eV] (`iteration variable 120`)\n Rem : 5 eV is the current limit for tungsten sputtering from argon impurity", @@ -11020,7 +11020,7 @@ "vfblkt": "coolant void fraction in blanket (`blktmodel=0`), (calculated if `blktmodel > 0`)", "vfblkti": "Inboard/outboard void fraction of blanket", "vfblkto": "Inboard/outboard void fraction of blanket", - "vfcblkt": "He coolant fraction of blanket by volume (`iblanket= 1,3` (CCFE HCPB))", + "vfcblkt": "He coolant fraction of blanket by volume (`i_blanket_type= 1,3` (CCFE HCPB))", "vffwi": "Inboard/outboard FW coolant void fraction", "vffwo": "Inboard/outboard FW coolant void fraction", "vfi": "", @@ -11030,7 +11030,7 @@ "vforce": "vertical tension on inboard leg/coil (N)", "vforce_inboard_tot": "Total inboard vertical tension (all coils) [N]", "vforce_outboard": "Vertical tension on outboard leg/coil (N)", - "vfpblkt": "He purge gas fraction of blanket by volume (`iblanket= 1,3` (CCFE HCPB))", + "vfpblkt": "He purge gas fraction of blanket by volume (`i_blanket_type= 1,3` (CCFE HCPB))", "vfshld": "coolant void fraction in shield", "vftf": "coolant fraction of TFC 'cable' (`i_tf_sup=1`), or of TFC leg (`i_tf_ssup=0`)", "vgap_xpoint_divertor": "vertical gap between x-point and divertor (m) (if = 0, it is calculated)", @@ -11121,8 +11121,8 @@ "vtfskv": "voltage across a TF coil during quench (kV)", "vv_density": "Vacuum vessel density [kg/m3]", "dr_shld_blkt_gap": "gap between vacuum vessel and blanket (m)", - "vvhealw": "allowed maximum helium concentration in vacuum vessel at end of plant life (appm)\n (`iblanket =2`) (`constraint equation 55`)", - "vvhemax": "maximum helium concentration in vacuum vessel at end of plant life (appm)\n (`iblanket=2` (KIT HCPB))", + "vvhealw": "allowed maximum helium concentration in vacuum vessel at end of plant life (appm)\n (`i_blanket_type =2`) (`constraint equation 55`)", + "vvhemax": "maximum helium concentration in vacuum vessel at end of plant life (appm)\n (`i_blanket_type=2` (KIT HCPB))", "vvhemaxi": "maximum final He. conc in IB VV [appm]", "vvhemaxo": "maximum final He. conc in OB VV [appm]", "vvhemini": "minimum final He. conc in IB VV [appm]", @@ -11132,7 +11132,7 @@ "wa": "", "walalw": "allowable neutron wall-load (MW/m2) (`constraint equation 8`)", "wallmw": "average neutron wall load (MW/m2)", - "wallpf": "neutron wall load peaking factor (`iblanket=2` (KIT HCPB))", + "wallpf": "neutron wall load peaking factor (`i_blanket_type=2` (KIT HCPB))", "warm_shop_h": "warm shop length, width, height (m)", "warm_shop_l": "warm shop length, width, height (m)", "warm_shop_w": "warm shop length, width, height (m)", @@ -11151,12 +11151,12 @@ "wgt2": "hot cell crane capacity (kg) (calculated if 0 is input)", "whole_site_area": "area of entire plant site (m2); default 1.0E6 m2 (i.e. 1 km2)", "whtblbe": "mass of blanket - beryllium part (kg)", - "whtblbreed": "mass of blanket - breeder part (kg) (`iblanket=2` (KIT HCPB))", + "whtblbreed": "mass of blanket - breeder part (kg) (`i_blanket_type=2` (KIT HCPB))", "whtblkt": "mass of blanket (kg)", "whtblli": "mass of blanket - lithium part (kg)", - "whtblli4sio4": "mass of lithium orthosilicate in blanket (kg) (`iblanket=1,3` (CCFE HCPB))", + "whtblli4sio4": "mass of lithium orthosilicate in blanket (kg) (`i_blanket_type=1,3` (CCFE HCPB))", "whtblss": "mass of blanket - steel part (kg)", - "whtbltibe12": "mass of titanium beryllide in blanket (kg) (`iblanket=1,3` (CCFE HCPB))", + "whtbltibe12": "mass of titanium beryllide in blanket (kg) (`i_blanket_type=1,3` (CCFE HCPB))", "whtblvd": "mass of blanket - vanadium part (kg)", "whtcas": "mass per coil of external case (kg)", "whtcon": "TF coil conductor mass per coil (kg/coil).\n For `itart=1`, coil is return limb plus centrepost/n_tf", @@ -11420,7 +11420,7 @@ "name": "Peak TF coil nuclear heating upper limit" }, "55": { - "name": "Vacuum vessel helium concentration upper limit iblanket" + "name": "Vacuum vessel helium concentration upper limit i_blanket_type" }, "56": { "name": "Pseparatrix" @@ -13309,7 +13309,7 @@ "lb": 0, "ub": 2 }, - "iblanket": { + "i_blanket_type": { "lb": 1, "ub": 4 }, @@ -18030,7 +18030,7 @@ "fw_armour_mass", "fw_armour_thickness", "fw_armour_vol", - "iblanket", + "i_blanket_type", "i_blkt_inboard", "inuclear", "qnuc", @@ -20438,7 +20438,7 @@ "i_tf_wp_geom": "int_variable", "iavail": "int_variable", "ibkt_life": "int_variable", - "iblanket": "int_variable", + "i_blanket_type": "int_variable", "iblanket_thickness": "int_variable", "i_blkt_inboard": "int_variable", "i_bootstrap_current": "int_variable", diff --git a/tests/regression/input_files/st_regression.IN.DAT b/tests/regression/input_files/st_regression.IN.DAT index 6f9b8892d7..259414920a 100644 --- a/tests/regression/input_files/st_regression.IN.DAT +++ b/tests/regression/input_files/st_regression.IN.DAT @@ -2366,7 +2366,7 @@ fwcoolant = helium *~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Blanket ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~* *‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ -iblanket = 1 +i_blanket_type = 1 * DESCRIPTION: Switch for blanket model: * =1 CCFE HCPB model * =2 KIT HCPB model @@ -2378,7 +2378,7 @@ iblanket = 1 * JUSTIFICATION: Assuming DCLL blanket *iblanket_thickness = -* DESCRIPTION: Blanket thickness switch (Do not set dr_blkt_inboard, dr_blkt_outboard, dr_fw_inboard or dr_fw_outboard when `iblanket=3`): +* DESCRIPTION: Blanket thickness switch (Do not set dr_blkt_inboard, dr_blkt_outboard, dr_fw_inboard or dr_fw_outboard when `i_blanket_type=3`): *=1 thin 0.53 m inboard, 0.91 m outboard *=2 medium 0.64 m inboard, 1.11 m outboard *=3 thick 0.75 m inboard, 1.30 m outboard @@ -2432,7 +2432,7 @@ 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 iblanket=1, tbrmin=minimum 5-year time-averaged tritium breeding ratio), tbr calculated in situ +* 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) @@ -2443,11 +2443,11 @@ i_blkt_inboard = 0 *icc = 55 * DESCRIPTION: Constraint equation for helium concentration in vacuum vessel upper limit (iblnaket = 2 only (KIT HCPB)) * JUSTIFICATION: Turned off, do not care He concentration. -* VARIABLES: iblanket,vvhealw (allowed maximum helium concentration in vacuum vessel at end of plant life (appm) (iblanket =2)), vvhemax calculated in situ +* VARIABLES: i_blanket_type,vvhealw (allowed maximum helium concentration in vacuum vessel at end of plant life (appm) (i_blanket_type =2)), vvhemax calculated in situ *vvhealw = * DESCRIPTION: Allowed maximum helium concentration in vacuum vessel at end of plant life (appm) -*(`iblanket =2`) (`constraint equation 55`) +*(`i_blanket_type =2`) (`constraint equation 55`) * JUSTIFICATION: Not using icc = 55 *~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -2464,7 +2464,7 @@ inuclear = 0 *~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *-----------* -* CCFE HCPB * * Set iblanket = 1 * +* CCFE HCPB * * Set i_blanket_type = 1 * *-----------* *breeder_multiplier = @@ -2480,19 +2480,19 @@ inuclear = 0 * JUSTIFICATION: Not using HCPB model *vfcblkt = -* DESCRIPTION: He coolant fraction of blanket by volume (`iblanket= 1,3` (CCFE HCPB)) +* DESCRIPTION: He coolant fraction of blanket by volume (`i_blanket_type= 1,3` (CCFE HCPB)) * JUSTIFICATION: Not set as not using HCPB *vfpblkt = -* DESCRIPTION: He purge gas fraction of blanket by volume (`iblanket= 1,3` (CCFE HCPB)) +* DESCRIPTION: He purge gas fraction of blanket by volume (`i_blanket_type= 1,3` (CCFE HCPB)) * JUSTIFICATION: Not set as not using HCPB *vfshld = * DESCRIPTION: Coolant void fraction in shield (HCPB only) -* JUSTIFICATION: Not set as not using iblanket =1/3 +* JUSTIFICATION: Not set as not using i_blanket_type =1/3 *vfblkt = -* DESCRIPTION: Coolant void fraction in blanket (iblanket = 1), (default = 0.25) +* DESCRIPTION: Coolant void fraction in blanket (i_blanket_type = 1), (default = 0.25) * JUSTIFICATION: Not yet set *t_in_bb = @@ -2512,49 +2512,49 @@ inuclear = 0 * JUSTIFICATION: Not yet set *----------* -* KIT HCPB * * Set iblanket = 2 * +* KIT HCPB * * Set i_blanket_type = 2 * *----------* *hcdportsize = -* DESCRIPTION: switch for size of heating/current drive ports (`iblanket=2` (KIT HCPB)): +* DESCRIPTION: switch for size of heating/current drive ports (`i_blanket_type=2` (KIT HCPB)): * =1 'small' * =2 'large' -* JUSTIFICATION: Not using iblanket = 2 +* JUSTIFICATION: Not using i_blanket_type = 2 *fblbe = -* DESCRIPTION: Beryllium fraction of blanket by volume (if `iblanket=2`, is Be fraction of breeding zone) -* JUSTIFICATION: Not set. Not using iblanket = 2 +* DESCRIPTION: Beryllium fraction of blanket by volume (if `i_blanket_type=2`, is Be fraction of breeding zone) +* JUSTIFICATION: Not set. Not using i_blanket_type = 2 *fblhebmi = -* DESCRIPTION: Helium fraction of inboard blanket box manifold by volume (`iblanket=2` (KIT HCPB)) -* JUSTIFICATION: Not set. Not using iblanket = 2 +* DESCRIPTION: Helium fraction of inboard blanket box manifold by volume (`i_blanket_type=2` (KIT HCPB)) +* JUSTIFICATION: Not set. Not using i_blanket_type = 2 *fblhebmi = -* DESCRIPTION: Helium fraction of inboard blanket box manifold by volume (`iblanket=2` (KIT HCPB)) -* JUSTIFICATION: Not set. Not using iblanket = 2 +* DESCRIPTION: Helium fraction of inboard blanket box manifold by volume (`i_blanket_type=2` (KIT HCPB)) +* JUSTIFICATION: Not set. Not using i_blanket_type = 2 *fblhebmo = -* DESCRIPTION: Helium fraction of outboard blanket box manifold by volume (`iblanket=2` (KIT HCPB)) -* JUSTIFICATION: Not set. Not using iblanket = 2 +* DESCRIPTION: Helium fraction of outboard blanket box manifold by volume (`i_blanket_type=2` (KIT HCPB)) +* JUSTIFICATION: Not set. Not using i_blanket_type = 2 *fblhebpi = -* DESCRIPTION: Helium fraction of inboard blanket back plate by volume (`iblanket=2` (KIT HCPB)) -* JUSTIFICATION: Not set. Not using iblanket = 2 +* DESCRIPTION: Helium fraction of inboard blanket back plate by volume (`i_blanket_type=2` (KIT HCPB)) +* JUSTIFICATION: Not set. Not using i_blanket_type = 2 *fblhebpo = -* DESCRIPTION: Helium fraction of outboard blanket back plate by volume (`iblanket=2` (KIT HCPB)) -* JUSTIFICATION: Not set. Not using iblanket = 2 +* DESCRIPTION: Helium fraction of outboard blanket back plate by volume (`i_blanket_type=2` (KIT HCPB)) +* JUSTIFICATION: Not set. Not using i_blanket_type = 2 *fblbreed = -* DESCRIPTION: Breeder fraction of blanket breeding zone by volume (`iblanket=2` (KIT HCPB)) -* JUSTIFICATION: Not used as iblanket is not 2 +* DESCRIPTION: Breeder fraction of blanket breeding zone by volume (`i_blanket_type=2` (KIT HCPB)) +* JUSTIFICATION: Not used as i_blanket_type is not 2 *fblss = * DESCRIPTION: KIT blanket model: steel fraction of breeding zone * JUSTIFICATION: Not using kit blanket, not set *------* -* DCLL * * Set iblanket = 5 * +* DCLL * * Set i_blanket_type = 5 * *------* *i_bb_liq = diff --git a/tests/unit/test_ccfe_hcpb.py b/tests/unit/test_ccfe_hcpb.py index c5f64c522f..4c9219f2cf 100644 --- a/tests/unit/test_ccfe_hcpb.py +++ b/tests/unit/test_ccfe_hcpb.py @@ -1437,7 +1437,7 @@ class ComponentMassesParam(NamedTuple): whtblbreed: Any = None densbreed: Any = None fblbreed: Any = None - iblanket: Any = None + i_blanket_type: Any = None vffwi: Any = None vffwo: Any = None volfw: Any = None @@ -1528,7 +1528,7 @@ class ComponentMassesParam(NamedTuple): whtblbreed=0, densbreed=0, fblbreed=0.154, - iblanket=1, + i_blanket_type=1, vffwi=0, vffwo=0, volfw=0, @@ -1652,7 +1652,9 @@ def test_component_masses(componentmassesparam, monkeypatch, ccfe_hcpb): monkeypatch.setattr(fwbs_variables, "whtblbreed", componentmassesparam.whtblbreed) monkeypatch.setattr(fwbs_variables, "densbreed", componentmassesparam.densbreed) monkeypatch.setattr(fwbs_variables, "fblbreed", componentmassesparam.fblbreed) - monkeypatch.setattr(fwbs_variables, "iblanket", componentmassesparam.iblanket) + monkeypatch.setattr( + fwbs_variables, "i_blanket_type", componentmassesparam.i_blanket_type + ) monkeypatch.setattr(fwbs_variables, "vffwi", componentmassesparam.vffwi) monkeypatch.setattr(fwbs_variables, "vffwo", componentmassesparam.vffwo) monkeypatch.setattr(fwbs_variables, "volfw", componentmassesparam.volfw) diff --git a/tests/unit/test_costs_1990.py b/tests/unit/test_costs_1990.py index 292aa77b28..34f656c086 100644 --- a/tests/unit/test_costs_1990.py +++ b/tests/unit/test_costs_1990.py @@ -1136,7 +1136,7 @@ class Acc2212Param(NamedTuple): fkind: Any = None - iblanket: Any = None + i_blanket_type: Any = None whtblli: Any = None @@ -1208,7 +1208,7 @@ class Acc2212Param(NamedTuple): ifueltyp=1, lsa=2, fkind=1, - iblanket=1, + i_blanket_type=1, whtblli=0, wtblli2o=1258110.2710352642, whtblbreed=0, @@ -1262,7 +1262,7 @@ class Acc2212Param(NamedTuple): ifueltyp=1, lsa=2, fkind=1, - iblanket=1, + i_blanket_type=1, whtblli=0, wtblli2o=1260437.468838267, whtblbreed=0, @@ -1341,7 +1341,7 @@ def test_acc2212(acc2212param, monkeypatch, costs): monkeypatch.setattr(cost_variables, "fkind", acc2212param.fkind) - monkeypatch.setattr(fwbs_variables, "iblanket", acc2212param.iblanket) + monkeypatch.setattr(fwbs_variables, "i_blanket_type", acc2212param.i_blanket_type) monkeypatch.setattr(fwbs_variables, "whtblli", acc2212param.whtblli) From 09d488d2b8dde041ab0b76b4b8ba747c00077435 Mon Sep 17 00:00:00 2001 From: mn3981 Date: Sun, 26 Jan 2025 16:03:02 +0000 Subject: [PATCH 04/21] =?UTF-8?q?=F0=9F=94=84=20Rename=20`fwinlet`=20to=20?= =?UTF-8?q?`temp=5Ffw=5Fcoolant=5Fin`=20for=20clarity=20and=20consistency?= =?UTF-8?q?=20across=20the=20codebase?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../proc-pages/eng-models/fw-blanket.md | 2 +- process/blanket_library.py | 30 +++++++++++-------- process/fw.py | 4 +-- source/fortran/fwbs_variables.f90 | 4 +-- source/fortran/input.f90 | 6 ++-- tests/integration/ref_dicts.json | 10 +++---- .../input_files/st_regression.IN.DAT | 2 +- tests/unit/test_blanket_library.py | 10 ++++--- tests/unit/test_fw.py | 10 ++++--- 9 files changed, 43 insertions(+), 35 deletions(-) diff --git a/documentation/proc-pages/eng-models/fw-blanket.md b/documentation/proc-pages/eng-models/fw-blanket.md index 2d6000fdd3..fab13c4d96 100644 --- a/documentation/proc-pages/eng-models/fw-blanket.md +++ b/documentation/proc-pages/eng-models/fw-blanket.md @@ -86,7 +86,7 @@ Summary of key variables and switches: | Coolant | :-----------: | ------------------------ | -------------------------- | | primary coolant switch | `fwcoolant` | `coolwh` | --- | | secondary coolant switch | --- | --- | `i_bb_liq` | -| inlet temp (K) | `fwinlet` | `inlet_temp` | `inlet_temp_liq` | +| inlet temp (K) | `temp_fw_coolant_in` | `inlet_temp` | `inlet_temp_liq` | | outlet temp (K) | `fwoutlet` | `outlet_temp` | `outlet_temp_liq` | | pressure (Pa) | `fwpressure` | `blpressure` | `blpressure_liq` | diff --git a/process/blanket_library.py b/process/blanket_library.py index b87102db17..69cb1ce780 100644 --- a/process/blanket_library.py +++ b/process/blanket_library.py @@ -454,7 +454,9 @@ def primary_coolant_properties(self, output: bool): # If FW and BB have same coolant... if fwbs_variables.ipump == 0: # Use FW inlet temp and BB outlet temp - mid_temp = (fwbs_variables.fwinlet + fwbs_variables.outlet_temp) * 0.5 + mid_temp = ( + fwbs_variables.temp_fw_coolant_in + fwbs_variables.outlet_temp + ) * 0.5 # FW/BB fw_bb_fluid_properties = FluidProperties.of( f2py_compatible_to_string(fwbs_variables.fwcoolant), @@ -474,7 +476,9 @@ def primary_coolant_properties(self, output: bool): # If FW and BB have different coolants... else: # FW - mid_temp_fw = (fwbs_variables.fwinlet + fwbs_variables.fwoutlet) * 0.5 + mid_temp_fw = ( + fwbs_variables.temp_fw_coolant_in + fwbs_variables.fwoutlet + ) * 0.5 fw_fluid_properties = FluidProperties.of( f2py_compatible_to_string(fwbs_variables.fwcoolant), temperature=mid_temp_fw, @@ -551,8 +555,8 @@ def primary_coolant_properties(self, output: bool): po.ovarre( self.outfile, "Inlet Temperature (Celcius)", - "(fwinlet)", - fwbs_variables.fwinlet, + "(temp_fw_coolant_in)", + fwbs_variables.temp_fw_coolant_in, "OP ", ) @@ -1526,7 +1530,7 @@ def thermo_hydraulic_model(self, output: bool): primary coolant switch fwcoolant coolwh --- secondary coolant switch --- --- i_bb_liq - inlet temp (K) fwinlet inlet_temp inlet_temp_liq + inlet temp (K) temp_fw_coolant_in inlet_temp inlet_temp_liq outlet temp (K) fwoutlet outlet_temp outlet_temp_liq pressure (Pa) fwpressure blpressure blpressure_liq """ @@ -1619,14 +1623,14 @@ def thermo_hydraulic_model(self, output: bool): if fwbs_variables.i_blkt_inboard == 1: fwoutleti = (f_nuc_fwi * fwbs_variables.outlet_temp) + ( 1 - f_nuc_fwi - ) * fwbs_variables.fwinlet + ) * fwbs_variables.temp_fw_coolant_in inlet_tempi = fwoutleti else: fwoutleti = fwbs_variables.fwoutlet fwoutleto = (f_nuc_fwo * fwbs_variables.outlet_temp) + ( 1 - f_nuc_fwo - ) * fwbs_variables.fwinlet + ) * fwbs_variables.temp_fw_coolant_in inlet_tempo = fwoutleto elif fwbs_variables.ipump == 1: @@ -1690,13 +1694,13 @@ def thermo_hydraulic_model(self, output: bool): blanket_library.mffwi = ( 1.0e6 * (blanket_library.pnucfwi + fwbs_variables.psurffwi) - / (fwbs_variables.cp_fw * (fwoutleti - fwbs_variables.fwinlet)) + / (fwbs_variables.cp_fw * (fwoutleti - fwbs_variables.temp_fw_coolant_in)) ) # Total mass flow rate to remove outboard FW power (kg/s) blanket_library.mffwo = ( 1.0e6 * (blanket_library.pnucfwo + fwbs_variables.psurffwo) - / (fwbs_variables.cp_fw * (fwoutleto - fwbs_variables.fwinlet)) + / (fwbs_variables.cp_fw * (fwoutleto - fwbs_variables.temp_fw_coolant_in)) ) # If the blanket is dual-coolant... @@ -1833,7 +1837,7 @@ def thermo_hydraulic_model(self, output: bool): primary_pumping_variables.htpmw_fw_blkt = self.pumppower( output=output, icoolpump=1, - temp_in=fwbs_variables.fwinlet.item(), + temp_in=fwbs_variables.temp_fw_coolant_in.item(), temp_out=fwbs_variables.outlet_temp.item(), pressure=fwbs_variables.fwpressure.item(), pdrop=deltap_fw_blkt, @@ -1869,7 +1873,7 @@ def thermo_hydraulic_model(self, output: bool): heat_transport_variables.htpmw_fw = self.pumppower( output=output, icoolpump=1, - temp_in=fwbs_variables.fwinlet.item(), + temp_in=fwbs_variables.temp_fw_coolant_in.item(), temp_out=fwbs_variables.fwoutlet.item(), pressure=fwbs_variables.fwpressure.item(), pdrop=deltap_fw.item(), @@ -1973,8 +1977,8 @@ def thermo_hydraulic_model(self, output: bool): po.ovarrf( self.outfile, "Inlet temperature of first wall coolant (K)", - "(fwinlet)", - fwbs_variables.fwinlet, + "(temp_fw_coolant_in)", + fwbs_variables.temp_fw_coolant_in, ) po.ovarrf( self.outfile, diff --git a/process/fw.py b/process/fw.py index 8f05d52827..89800f8f58 100644 --- a/process/fw.py +++ b/process/fw.py @@ -76,7 +76,7 @@ def fw_temp( # Calculate inlet coolant fluid properties (fixed pressure) ib_fluid_properties = FluidProperties.of( f2py_compatible_to_string(fwbs_variables.fwcoolant), - temperature=fwbs_variables.fwinlet.item(), + temperature=fwbs_variables.temp_fw_coolant_in.item(), pressure=fwbs_variables.fwpressure.item(), ) @@ -106,7 +106,7 @@ def fw_temp( fwbs_variables.fw_channel_length * load / cfmean - / (fwbs_variables.fwoutlet - fwbs_variables.fwinlet) + / (fwbs_variables.fwoutlet - fwbs_variables.temp_fw_coolant_in) ) # Coolant mass flux in a single channel (kg/m2/s) diff --git a/source/fortran/fwbs_variables.f90 b/source/fortran/fwbs_variables.f90 index 2e9f87ebb2..bba7a00adf 100644 --- a/source/fortran/fwbs_variables.f90 +++ b/source/fortran/fwbs_variables.f90 @@ -324,7 +324,7 @@ module fwbs_variables real(dp) :: pitch !! pitch of first wall cooling channels [m] - real(dp) :: fwinlet + real(dp) :: temp_fw_coolant_in !! inlet temperature of first wall coolant [K] real(dp) :: fwoutlet @@ -743,7 +743,7 @@ subroutine init_fwbs_variables fw_wall = 0.003D0 afw = 0.006D0 pitch = 0.02D0 - fwinlet = 573.0D0 + temp_fw_coolant_in = 573.0D0 fwoutlet = 823.0D0 fwpressure = 15.5D6 tpeak = 873.0D0 diff --git a/source/fortran/input.f90 b/source/fortran/input.f90 index 7b3b7be791..298c6931e5 100644 --- a/source/fortran/input.f90 +++ b/source/fortran/input.f90 @@ -276,7 +276,7 @@ subroutine parse_input_file(in_file,out_file,show_changes) blpressure_liq, n_liq_recirc, pnuc_fw_ratio_dcll, f_nuc_pow_bz_struct, & declblkt, fblhebmo, blkttype, afw, inuclear, declshld, hcdportsize, & npdiv, peaking_factor, primary_pumping, dr_pf_cryostat, secondary_cycle, secondary_cycle_liq, & - denstl, declfw, nphcdout, i_blkt_inboard, vfpblkt, fwinlet, wallpf, fblbe, & + denstl, declfw, nphcdout, i_blkt_inboard, vfpblkt, temp_fw_coolant_in, wallpf, fblbe, & fhole, fwbsshape, coolp, tfwmatmax, irefprop, fw_channel_length, & li6enrich, etaiso, nblktmodto, fvoldw, i_shield_mat, i_bb_liq, & icooldual, ifci, inlet_temp_liq, outlet_temp_liq, bz_channel_conduct_liq, ipump, ims, & @@ -1930,8 +1930,8 @@ subroutine parse_input_file(in_file,out_file,show_changes) case ('pitch') call parse_real_variable('pitch', pitch, 0.5D-3, 0.1D0, & 'pitch of first wall cooling channels (m)') - case ('fwinlet') - call parse_real_variable('fwinlet', fwinlet, 300.0d0, 1500.0D0, & + case ('temp_fw_coolant_in') + call parse_real_variable('temp_fw_coolant_in', temp_fw_coolant_in, 300.0d0, 1500.0D0, & 'inlet temperature of first wall coolant (K)') case ('fwoutlet') call parse_real_variable('fwoutlet', fwoutlet, 300.0d0, 1500.0D0, & diff --git a/tests/integration/ref_dicts.json b/tests/integration/ref_dicts.json index 8d3a700e37..996cae3567 100644 --- a/tests/integration/ref_dicts.json +++ b/tests/integration/ref_dicts.json @@ -2102,7 +2102,7 @@ ], "fwiizp": 0.0, "fwimzp": 0.0, - "fwinlet": 573.0, + "temp_fw_coolant_in": 573.0, "dr_fw_inboard": 0.0, "fwlife": 0.0, "fwmass": 0.0, @@ -9682,7 +9682,7 @@ "fwihkw": "inboard first wall total heat output (kW)", "fwiizp": "inboard first wall integrated zone power / neutron", "fwimzp": "inboard first wall mean zone power density/neutron", - "fwinlet": "inlet temperature of first wall coolant (K)", + "temp_fw_coolant_in": "inlet temperature of first wall coolant (K)", "dr_fw_inboard": "inboard first wall thickness, initial estimate as calculated (m)", "fwlife": "first wall full-power year lifetime (y)", "fwmass": "first wall mass (kg)", @@ -13041,7 +13041,7 @@ "lb": 0.0, "ub": 10.0 }, - "fwinlet": { + "temp_fw_coolant_in": { "lb": 300.0, "ub": 1500.0 }, @@ -18086,7 +18086,7 @@ "fw_wall", "afw", "pitch", - "fwinlet", + "temp_fw_coolant_in", "fwoutlet", "fwpressure", "tpeak", @@ -20369,7 +20369,7 @@ "fwdr": "real_variable", "fwdzl": "real_variable", "fwdzu": "real_variable", - "fwinlet": "real_variable", + "temp_fw_coolant_in": "real_variable", "dr_fw_inboard": "real_variable", "fwmatf": "real_array", "dr_fw_outboard": "real_variable", diff --git a/tests/regression/input_files/st_regression.IN.DAT b/tests/regression/input_files/st_regression.IN.DAT index 259414920a..3fa447fbd0 100644 --- a/tests/regression/input_files/st_regression.IN.DAT +++ b/tests/regression/input_files/st_regression.IN.DAT @@ -2325,7 +2325,7 @@ etaiso = 0.9 * DESCRIPTION: Pitch of first wall cooling channels [m] (default = 0.02) * JUSTIFICATION: -*fwinlet = +*temp_fw_coolant_in = * DESCRIPTION: Inlet temperature of first wall coolant [K] (default = 573.0) * JUSTIFICATION: Not yet set. diff --git a/tests/unit/test_blanket_library.py b/tests/unit/test_blanket_library.py index 36f3563763..8c14fce395 100644 --- a/tests/unit/test_blanket_library.py +++ b/tests/unit/test_blanket_library.py @@ -29,7 +29,7 @@ def blanket_library_fixture(): class PrimaryCoolantPropertiesParam(NamedTuple): fwcoolant: Any = None - fwinlet: Any = None + temp_fw_coolant_in: Any = None fwoutlet: Any = None @@ -85,7 +85,7 @@ class PrimaryCoolantPropertiesParam(NamedTuple): ( PrimaryCoolantPropertiesParam( fwcoolant="helium", - fwinlet=573, + temp_fw_coolant_in=573, fwoutlet=773, fwpressure=8000000, rhof_fw=0, @@ -113,7 +113,7 @@ class PrimaryCoolantPropertiesParam(NamedTuple): ), PrimaryCoolantPropertiesParam( fwcoolant="helium", - fwinlet=573, + temp_fw_coolant_in=573, fwoutlet=773, fwpressure=8000000, rhof_fw=5.6389735407435868, @@ -163,7 +163,9 @@ def test_primary_coolant_properties( # ) monkeypatch.setattr( - fwbs_variables, "fwinlet", primarycoolantpropertiesparam.fwinlet + fwbs_variables, + "temp_fw_coolant_in", + primarycoolantpropertiesparam.temp_fw_coolant_in, ) monkeypatch.setattr( diff --git a/tests/unit/test_fw.py b/tests/unit/test_fw.py index c302c7b2eb..fcf168951b 100644 --- a/tests/unit/test_fw.py +++ b/tests/unit/test_fw.py @@ -21,7 +21,7 @@ class FwTempParam(NamedTuple): fwcoolant: Any = None - fwinlet: Any = None + temp_fw_coolant_in: Any = None fwpressure: Any = None @@ -64,7 +64,7 @@ class FwTempParam(NamedTuple): FwTempParam( fw_th_conductivity=28.34, fwcoolant="helium", - fwinlet=573, + temp_fw_coolant_in=573, fwpressure=8000000, fwoutlet=773, pitch=0.005000000000000001, @@ -86,7 +86,7 @@ class FwTempParam(NamedTuple): FwTempParam( fw_th_conductivity=28.34, fwcoolant="helium", - fwinlet=573, + temp_fw_coolant_in=573, fwpressure=8000000, fwoutlet=773, pitch=0.005000000000000001, @@ -127,7 +127,9 @@ def test_fw_temp(fwtempparam, monkeypatch, fw): # but helium is the default # monkeypatch.setattr(fwbs_variables, "fwcoolant", fwtempparam.fwcoolant) - monkeypatch.setattr(fwbs_variables, "fwinlet", fwtempparam.fwinlet) + monkeypatch.setattr( + fwbs_variables, "temp_fw_coolant_in", fwtempparam.temp_fw_coolant_in + ) monkeypatch.setattr(fwbs_variables, "fwpressure", fwtempparam.fwpressure) From ddadfa1eb87aa9344ff179f4204ca461e83332a6 Mon Sep 17 00:00:00 2001 From: mn3981 Date: Sun, 26 Jan 2025 16:04:44 +0000 Subject: [PATCH 05/21] =?UTF-8?q?=F0=9F=94=84=20Rename=20`fwoutlet`=20to?= =?UTF-8?q?=20`temp=5Ffw=5Fcoolant=5Fout`=20for=20clarity=20and=20consiste?= =?UTF-8?q?ncy=20across=20the=20codebase?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../proc-pages/eng-models/fw-blanket.md | 2 +- process/blanket_library.py | 20 +++++++++---------- process/fw.py | 12 +++++------ source/fortran/fwbs_variables.f90 | 4 ++-- source/fortran/input.f90 | 6 +++--- tests/integration/ref_dicts.json | 10 +++++----- .../input_files/st_regression.IN.DAT | 2 +- tests/unit/test_blanket_library.py | 10 ++++++---- tests/unit/test_fw.py | 10 ++++++---- 9 files changed, 40 insertions(+), 36 deletions(-) diff --git a/documentation/proc-pages/eng-models/fw-blanket.md b/documentation/proc-pages/eng-models/fw-blanket.md index fab13c4d96..0ef9516fd5 100644 --- a/documentation/proc-pages/eng-models/fw-blanket.md +++ b/documentation/proc-pages/eng-models/fw-blanket.md @@ -87,7 +87,7 @@ Summary of key variables and switches: | primary coolant switch | `fwcoolant` | `coolwh` | --- | | secondary coolant switch | --- | --- | `i_bb_liq` | | inlet temp (K) | `temp_fw_coolant_in` | `inlet_temp` | `inlet_temp_liq` | -| outlet temp (K) | `fwoutlet` | `outlet_temp` | `outlet_temp_liq` | +| outlet temp (K) | `temp_fw_coolant_out` | `outlet_temp` | `outlet_temp_liq` | | pressure (Pa) | `fwpressure` | `blpressure` | `blpressure_liq` | The default thermo-hydraulic model assumes that a solid breeder is in use, with both the first wall and the breeding blanket using helium as a coolant. diff --git a/process/blanket_library.py b/process/blanket_library.py index 69cb1ce780..d2a4218b53 100644 --- a/process/blanket_library.py +++ b/process/blanket_library.py @@ -477,7 +477,7 @@ def primary_coolant_properties(self, output: bool): else: # FW mid_temp_fw = ( - fwbs_variables.temp_fw_coolant_in + fwbs_variables.fwoutlet + fwbs_variables.temp_fw_coolant_in + fwbs_variables.temp_fw_coolant_out ) * 0.5 fw_fluid_properties = FluidProperties.of( f2py_compatible_to_string(fwbs_variables.fwcoolant), @@ -572,8 +572,8 @@ def primary_coolant_properties(self, output: bool): po.ovarre( self.outfile, "Outlet Temperature (Celcius)", - "(fwoutlet)", - fwbs_variables.fwoutlet, + "(temp_fw_coolant_out)", + fwbs_variables.temp_fw_coolant_out, "OP ", ) @@ -1531,7 +1531,7 @@ def thermo_hydraulic_model(self, output: bool): primary coolant switch fwcoolant coolwh --- secondary coolant switch --- --- i_bb_liq inlet temp (K) temp_fw_coolant_in inlet_temp inlet_temp_liq - outlet temp (K) fwoutlet outlet_temp outlet_temp_liq + outlet temp (K) temp_fw_coolant_out outlet_temp outlet_temp_liq pressure (Pa) fwpressure blpressure blpressure_liq """ ###################################################### @@ -1626,7 +1626,7 @@ def thermo_hydraulic_model(self, output: bool): ) * fwbs_variables.temp_fw_coolant_in inlet_tempi = fwoutleti else: - fwoutleti = fwbs_variables.fwoutlet + fwoutleti = fwbs_variables.temp_fw_coolant_out fwoutleto = (f_nuc_fwo * fwbs_variables.outlet_temp) + ( 1 - f_nuc_fwo @@ -1634,9 +1634,9 @@ def thermo_hydraulic_model(self, output: bool): inlet_tempo = fwoutleto elif fwbs_variables.ipump == 1: - fwoutleti = fwbs_variables.fwoutlet + fwoutleti = fwbs_variables.temp_fw_coolant_out inlet_tempi = fwbs_variables.inlet_temp - fwoutleto = fwbs_variables.fwoutlet + fwoutleto = fwbs_variables.temp_fw_coolant_out inlet_tempo = fwbs_variables.inlet_temp # Maximum FW temperature. (27/11/2015) Issue #348 @@ -1874,7 +1874,7 @@ def thermo_hydraulic_model(self, output: bool): output=output, icoolpump=1, temp_in=fwbs_variables.temp_fw_coolant_in.item(), - temp_out=fwbs_variables.fwoutlet.item(), + temp_out=fwbs_variables.temp_fw_coolant_out.item(), pressure=fwbs_variables.fwpressure.item(), pdrop=deltap_fw.item(), mf=blanket_library.mffw, @@ -1983,8 +1983,8 @@ def thermo_hydraulic_model(self, output: bool): po.ovarrf( self.outfile, "Outlet temperature of first wall coolant (K)", - "(fwoutlet)", - fwbs_variables.fwoutlet, + "(temp_fw_coolant_out)", + fwbs_variables.temp_fw_coolant_out, ) po.ovarre( self.outfile, diff --git a/process/fw.py b/process/fw.py index 89800f8f58..39f63cdc20 100644 --- a/process/fw.py +++ b/process/fw.py @@ -83,7 +83,7 @@ def fw_temp( # Calculate outlet coolant fluid properties (fixed pressure) ob_fluid_properties = FluidProperties.of( f2py_compatible_to_string(fwbs_variables.fwcoolant), - temperature=fwbs_variables.fwoutlet.item(), + temperature=fwbs_variables.temp_fw_coolant_out.item(), pressure=fwbs_variables.fwpressure.item(), ) @@ -106,7 +106,7 @@ def fw_temp( fwbs_variables.fw_channel_length * load / cfmean - / (fwbs_variables.fwoutlet - fwbs_variables.temp_fw_coolant_in) + / (fwbs_variables.temp_fw_coolant_out - fwbs_variables.temp_fw_coolant_in) ) # Coolant mass flux in a single channel (kg/m2/s) @@ -121,7 +121,7 @@ def fw_temp( # Mean temperature of the wall material on the plasma side of the coolant 'tpeak' # is the estimate from the previous iteration of the wall surface temperature # (underneath the armour) - temp_k = (fwbs_variables.fwoutlet + fwbs_variables.tpeak) / 2 # (K) + temp_k = (fwbs_variables.temp_fw_coolant_out + fwbs_variables.tpeak) / 2 # (K) # Print debug info if temperature too low/high or NaN/Inf if np.isnan(temp_k): @@ -205,7 +205,7 @@ def fw_temp( deltat_coolant = load / (2 * np.pi * afw * hcoeff) # Peak first wall temperature (K) - tpeakfw = fwbs_variables.fwoutlet + deltat_solid + deltat_coolant + tpeakfw = fwbs_variables.temp_fw_coolant_out + deltat_solid + deltat_coolant if output: po.oheadr( @@ -271,8 +271,8 @@ def fw_temp( po.ovarre( self.outfile, "Outlet temperature of first wall coolant (K)", - "(fwoutlet)", - fwbs_variables.fwoutlet, + "(temp_fw_coolant_out)", + fwbs_variables.temp_fw_coolant_out, ) po.ovarre( self.outfile, "Heat transfer coefficient", "(hcoeff)", hcoeff, "OP " diff --git a/source/fortran/fwbs_variables.f90 b/source/fortran/fwbs_variables.f90 index bba7a00adf..89abd6c373 100644 --- a/source/fortran/fwbs_variables.f90 +++ b/source/fortran/fwbs_variables.f90 @@ -327,7 +327,7 @@ module fwbs_variables real(dp) :: temp_fw_coolant_in !! inlet temperature of first wall coolant [K] - real(dp) :: fwoutlet + real(dp) :: temp_fw_coolant_out !! outlet temperature of first wall coolant [K] real(dp) :: fwpressure @@ -744,7 +744,7 @@ subroutine init_fwbs_variables afw = 0.006D0 pitch = 0.02D0 temp_fw_coolant_in = 573.0D0 - fwoutlet = 823.0D0 + temp_fw_coolant_out = 823.0D0 fwpressure = 15.5D6 tpeak = 873.0D0 roughness = 1.0D-6 diff --git a/source/fortran/input.f90 b/source/fortran/input.f90 index 298c6931e5..5f0fca4cfa 100644 --- a/source/fortran/input.f90 +++ b/source/fortran/input.f90 @@ -271,7 +271,7 @@ subroutine parse_input_file(in_file,out_file,show_changes) fw_armour_thickness, roughness, fwclfr, breedmat, fblli, fblvd, & iblanket_thickness, vfcblkt, breeder_f, fbllipb, fhcd, vfshld, fblhebmi, & f_neut_shield, fw_th_conductivity, nblktmodti, fw_wall, afwo, & - fvolsi, etahtp, nblktmodpo, fwpressure, emult, fwoutlet, nblktmodpi, & + fvolsi, etahtp, nblktmodpo, fwpressure, emult, temp_fw_coolant_out, nblktmodpi, & fblhebpi, fblss, inlet_temp, outlet_temp, fblbreed, qnuc, blpressure, & blpressure_liq, n_liq_recirc, pnuc_fw_ratio_dcll, f_nuc_pow_bz_struct, & declblkt, fblhebmo, blkttype, afw, inuclear, declshld, hcdportsize, & @@ -1933,8 +1933,8 @@ subroutine parse_input_file(in_file,out_file,show_changes) case ('temp_fw_coolant_in') call parse_real_variable('temp_fw_coolant_in', temp_fw_coolant_in, 300.0d0, 1500.0D0, & 'inlet temperature of first wall coolant (K)') - case ('fwoutlet') - call parse_real_variable('fwoutlet', fwoutlet, 300.0d0, 1500.0D0, & + case ('temp_fw_coolant_out') + call parse_real_variable('temp_fw_coolant_out', temp_fw_coolant_out, 300.0d0, 1500.0D0, & 'outlet temperature of first wall coolant (K)') case ('fwpressure') call parse_real_variable('fwpressure', fwpressure, 1.0d5, 1.0D8, & diff --git a/tests/integration/ref_dicts.json b/tests/integration/ref_dicts.json index 996cae3567..bf8c56133a 100644 --- a/tests/integration/ref_dicts.json +++ b/tests/integration/ref_dicts.json @@ -2155,7 +2155,7 @@ "fwoizp": 0.0, "fwomzp": 0.0, "dr_fw_outboard": 0.0, - "fwoutlet": 823.0, + "temp_fw_coolant_out": 823.0, "fwpressure": 15500000.0, "fwtemp": 0.0, "fwvol": [ @@ -9695,7 +9695,7 @@ "fwoizp": "outboard first wall integrated zone power / neutron", "fwomzp": "outboard first wall mean zone power density/neutron", "dr_fw_outboard": "outboard first wall thickness, initial estimate as calculated (m)", - "fwoutlet": "outlet temperature of first wall coolant (K)", + "temp_fw_coolant_out": "outlet temperature of first wall coolant (K)", "fwpressure": "first wall coolant pressure (Pa) (`secondary_cycle>1`)", "fwtemp": "outboard first wall temperature after a LOCA (K)", "fwvol": "IFE first wall volume (m3)", @@ -13053,7 +13053,7 @@ "lb": 0.0, "ub": 10.0 }, - "fwoutlet": { + "temp_fw_coolant_out": { "lb": 300.0, "ub": 1500.0 }, @@ -18087,7 +18087,7 @@ "afw", "pitch", "temp_fw_coolant_in", - "fwoutlet", + "temp_fw_coolant_out", "fwpressure", "tpeak", "roughness", @@ -20373,7 +20373,7 @@ "dr_fw_inboard": "real_variable", "fwmatf": "real_array", "dr_fw_outboard": "real_variable", - "fwoutlet": "real_variable", + "temp_fw_coolant_out": "real_variable", "fwpressure": "real_variable", "fzactual": "real_variable", "fzeffmax": "real_variable", diff --git a/tests/regression/input_files/st_regression.IN.DAT b/tests/regression/input_files/st_regression.IN.DAT index 3fa447fbd0..f034f414b8 100644 --- a/tests/regression/input_files/st_regression.IN.DAT +++ b/tests/regression/input_files/st_regression.IN.DAT @@ -2329,7 +2329,7 @@ etaiso = 0.9 * DESCRIPTION: Inlet temperature of first wall coolant [K] (default = 573.0) * JUSTIFICATION: Not yet set. -*fwoutlet = +*temp_fw_coolant_out = * DESCRIPTION: Outlet temperature of first wall coolant (K) (default = 823.0) * JUSTIFICATION: Not yet set. diff --git a/tests/unit/test_blanket_library.py b/tests/unit/test_blanket_library.py index 8c14fce395..26d56c291f 100644 --- a/tests/unit/test_blanket_library.py +++ b/tests/unit/test_blanket_library.py @@ -31,7 +31,7 @@ class PrimaryCoolantPropertiesParam(NamedTuple): temp_fw_coolant_in: Any = None - fwoutlet: Any = None + temp_fw_coolant_out: Any = None fwpressure: Any = None @@ -86,7 +86,7 @@ class PrimaryCoolantPropertiesParam(NamedTuple): PrimaryCoolantPropertiesParam( fwcoolant="helium", temp_fw_coolant_in=573, - fwoutlet=773, + temp_fw_coolant_out=773, fwpressure=8000000, rhof_fw=0, cp_fw=0, @@ -114,7 +114,7 @@ class PrimaryCoolantPropertiesParam(NamedTuple): PrimaryCoolantPropertiesParam( fwcoolant="helium", temp_fw_coolant_in=573, - fwoutlet=773, + temp_fw_coolant_out=773, fwpressure=8000000, rhof_fw=5.6389735407435868, cp_fw=5188.5588430173211, @@ -169,7 +169,9 @@ def test_primary_coolant_properties( ) monkeypatch.setattr( - fwbs_variables, "fwoutlet", primarycoolantpropertiesparam.fwoutlet + fwbs_variables, + "temp_fw_coolant_out", + primarycoolantpropertiesparam.temp_fw_coolant_out, ) monkeypatch.setattr( diff --git a/tests/unit/test_fw.py b/tests/unit/test_fw.py index fcf168951b..98a71ac1d3 100644 --- a/tests/unit/test_fw.py +++ b/tests/unit/test_fw.py @@ -25,7 +25,7 @@ class FwTempParam(NamedTuple): fwpressure: Any = None - fwoutlet: Any = None + temp_fw_coolant_out: Any = None pitch: Any = None @@ -66,7 +66,7 @@ class FwTempParam(NamedTuple): fwcoolant="helium", temp_fw_coolant_in=573, fwpressure=8000000, - fwoutlet=773, + temp_fw_coolant_out=773, pitch=0.005000000000000001, fw_channel_length=4, tpeak=873, @@ -88,7 +88,7 @@ class FwTempParam(NamedTuple): fwcoolant="helium", temp_fw_coolant_in=573, fwpressure=8000000, - fwoutlet=773, + temp_fw_coolant_out=773, pitch=0.005000000000000001, fw_channel_length=4, tpeak=873, @@ -133,7 +133,9 @@ def test_fw_temp(fwtempparam, monkeypatch, fw): monkeypatch.setattr(fwbs_variables, "fwpressure", fwtempparam.fwpressure) - monkeypatch.setattr(fwbs_variables, "fwoutlet", fwtempparam.fwoutlet) + monkeypatch.setattr( + fwbs_variables, "temp_fw_coolant_out", fwtempparam.temp_fw_coolant_out + ) monkeypatch.setattr(fwbs_variables, "pitch", fwtempparam.pitch) From 0cfff162686a32564995231e27fa7a081346232e Mon Sep 17 00:00:00 2001 From: mn3981 Date: Sun, 26 Jan 2025 16:06:42 +0000 Subject: [PATCH 06/21] =?UTF-8?q?=F0=9F=94=84=20Rename=20`fwpressure`=20to?= =?UTF-8?q?=20`pres=5Ffw=5Fcoolant`=20for=20clarity=20and=20consistency=20?= =?UTF-8?q?across=20the=20codebase?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../proc-pages/eng-models/fw-blanket.md | 2 +- .../data/csv_output_large_tokamak_MFILE.DAT | 2 +- examples/data/large_tokamak_1_MFILE.DAT | 2 +- examples/data/large_tokamak_2_MFILE.DAT | 2 +- examples/data/large_tokamak_3_MFILE.DAT | 2 +- examples/data/large_tokamak_4_MFILE.DAT | 2 +- examples/data/scan_MFILE.DAT | 18 +++++------ process/blanket_library.py | 14 ++++----- process/dcll.py | 4 +-- process/fw.py | 4 +-- process/hcpb.py | 4 +-- source/fortran/fwbs_variables.f90 | 4 +-- source/fortran/input.f90 | 6 ++-- .../data/large_tokamak_1_MFILE.DAT | 2 +- .../data/large_tokamak_2_MFILE.DAT | 2 +- .../data/large_tokamak_3_MFILE.DAT | 2 +- .../data/large_tokamak_4_MFILE.DAT | 2 +- .../integration/data/large_tokamak_MFILE.DAT | 2 +- tests/integration/data/scan_2D_MFILE.DAT | 30 +++++++++---------- tests/integration/data/scan_MFILE.DAT | 18 +++++------ tests/integration/ref_dicts.json | 10 +++---- .../input_files/st_regression.IN.DAT | 2 +- tests/unit/data/large_tokamak_MFILE.DAT | 2 +- tests/unit/test_blanket_library.py | 8 ++--- tests/unit/test_fw.py | 8 ++--- 25 files changed, 77 insertions(+), 77 deletions(-) diff --git a/documentation/proc-pages/eng-models/fw-blanket.md b/documentation/proc-pages/eng-models/fw-blanket.md index 0ef9516fd5..f248924c9f 100644 --- a/documentation/proc-pages/eng-models/fw-blanket.md +++ b/documentation/proc-pages/eng-models/fw-blanket.md @@ -88,7 +88,7 @@ Summary of key variables and switches: | secondary coolant switch | --- | --- | `i_bb_liq` | | inlet temp (K) | `temp_fw_coolant_in` | `inlet_temp` | `inlet_temp_liq` | | outlet temp (K) | `temp_fw_coolant_out` | `outlet_temp` | `outlet_temp_liq` | -| pressure (Pa) | `fwpressure` | `blpressure` | `blpressure_liq` | +| pressure (Pa) | `pres_fw_coolant` | `blpressure` | `blpressure_liq` | The default thermo-hydraulic model assumes that a solid breeder is in use, with both the first wall and the breeding blanket using helium as a coolant. This can be changed using the switches detailed in the following subsection. diff --git a/examples/data/csv_output_large_tokamak_MFILE.DAT b/examples/data/csv_output_large_tokamak_MFILE.DAT index 9f75e96088..b7f888155b 100644 --- a/examples/data/csv_output_large_tokamak_MFILE.DAT +++ b/examples/data/csv_output_large_tokamak_MFILE.DAT @@ -983,7 +983,7 @@ Shield:_second_exponential______________________________________________ (exp_shield2)_________________ 2.5427E-01 OP Solid_angle_fraction_taken_by_on_divertor_______________________________ (fdiv)________________________ 1.1500E-01 Switch_for_plant_secondary_cycle________________________________________ (secondary_cycle)_____________ 2 - First_wall_coolant_pressure_(Pa)________________________________________ (fwpressure)__________________ 1.5500E+07 + First_wall_coolant_pressure_(Pa)________________________________________ (pres_fw_coolant)__________________ 1.5500E+07 Blanket_coolant_pressure_(Pa)___________________________________________ (blpressure)__________________ 1.5500E+07 Allowable_nominal_neutron_fluence_at_first_wall_(MW.year/m2)____________ (abktflnc)____________________ 5.0000E+00 No_of_inboard_blanket_modules_poloidally________________________________ (nblktmodpi)__________________ 7 diff --git a/examples/data/large_tokamak_1_MFILE.DAT b/examples/data/large_tokamak_1_MFILE.DAT index 40b059ade4..45a87783c2 100644 --- a/examples/data/large_tokamak_1_MFILE.DAT +++ b/examples/data/large_tokamak_1_MFILE.DAT @@ -978,7 +978,7 @@ Shield:_second_exponential______________________________________________ (exp_shield2)_________________ 2.5427E-01 OP Solid_angle_fraction_taken_by_on_divertor_______________________________ (fdiv)________________________ 1.1500E-01 Switch_for_plant_secondary_cycle________________________________________ (secondary_cycle)_____________ 2 - First_wall_coolant_pressure_(Pa)________________________________________ (fwpressure)__________________ 1.5500E+07 + First_wall_coolant_pressure_(Pa)________________________________________ (pres_fw_coolant)__________________ 1.5500E+07 Blanket_coolant_pressure_(Pa)___________________________________________ (blpressure)__________________ 1.5500E+07 Allowable_nominal_neutron_fluence_at_first_wall_(MW.year/m2)____________ (abktflnc)____________________ 5.0000E+00 No_of_inboard_blanket_modules_poloidally________________________________ (nblktmodpi)__________________ 7 diff --git a/examples/data/large_tokamak_2_MFILE.DAT b/examples/data/large_tokamak_2_MFILE.DAT index 60fac31f8a..06b73b3367 100644 --- a/examples/data/large_tokamak_2_MFILE.DAT +++ b/examples/data/large_tokamak_2_MFILE.DAT @@ -978,7 +978,7 @@ Shield:_second_exponential______________________________________________ (exp_shield2)_________________ 2.5427E-01 OP Solid_angle_fraction_taken_by_on_divertor_______________________________ (fdiv)________________________ 1.1500E-01 Switch_for_plant_secondary_cycle________________________________________ (secondary_cycle)_____________ 2 - First_wall_coolant_pressure_(Pa)________________________________________ (fwpressure)__________________ 1.5500E+07 + First_wall_coolant_pressure_(Pa)________________________________________ (pres_fw_coolant)__________________ 1.5500E+07 Blanket_coolant_pressure_(Pa)___________________________________________ (blpressure)__________________ 1.5500E+07 Allowable_nominal_neutron_fluence_at_first_wall_(MW.year/m2)____________ (abktflnc)____________________ 5.0000E+00 No_of_inboard_blanket_modules_poloidally________________________________ (nblktmodpi)__________________ 7 diff --git a/examples/data/large_tokamak_3_MFILE.DAT b/examples/data/large_tokamak_3_MFILE.DAT index 3d9ad7a0ca..c5a05f639f 100644 --- a/examples/data/large_tokamak_3_MFILE.DAT +++ b/examples/data/large_tokamak_3_MFILE.DAT @@ -978,7 +978,7 @@ Shield:_second_exponential______________________________________________ (exp_shield2)_________________ 2.5427E-01 OP Solid_angle_fraction_taken_by_on_divertor_______________________________ (fdiv)________________________ 1.1500E-01 Switch_for_plant_secondary_cycle________________________________________ (secondary_cycle)_____________ 2 - First_wall_coolant_pressure_(Pa)________________________________________ (fwpressure)__________________ 1.5500E+07 + First_wall_coolant_pressure_(Pa)________________________________________ (pres_fw_coolant)__________________ 1.5500E+07 Blanket_coolant_pressure_(Pa)___________________________________________ (blpressure)__________________ 1.5500E+07 Allowable_nominal_neutron_fluence_at_first_wall_(MW.year/m2)____________ (abktflnc)____________________ 5.0000E+00 No_of_inboard_blanket_modules_poloidally________________________________ (nblktmodpi)__________________ 7 diff --git a/examples/data/large_tokamak_4_MFILE.DAT b/examples/data/large_tokamak_4_MFILE.DAT index e8e1b49ddc..4cf53c2ad2 100644 --- a/examples/data/large_tokamak_4_MFILE.DAT +++ b/examples/data/large_tokamak_4_MFILE.DAT @@ -978,7 +978,7 @@ Shield:_second_exponential______________________________________________ (exp_shield2)_________________ 2.5427E-01 OP Solid_angle_fraction_taken_by_on_divertor_______________________________ (fdiv)________________________ 1.1500E-01 Switch_for_plant_secondary_cycle________________________________________ (secondary_cycle)_____________ 2 - First_wall_coolant_pressure_(Pa)________________________________________ (fwpressure)__________________ 1.5500E+07 + First_wall_coolant_pressure_(Pa)________________________________________ (pres_fw_coolant)__________________ 1.5500E+07 Blanket_coolant_pressure_(Pa)___________________________________________ (blpressure)__________________ 1.5500E+07 Allowable_nominal_neutron_fluence_at_first_wall_(MW.year/m2)____________ (abktflnc)____________________ 5.0000E+00 No_of_inboard_blanket_modules_poloidally________________________________ (nblktmodpi)__________________ 7 diff --git a/examples/data/scan_MFILE.DAT b/examples/data/scan_MFILE.DAT index 7f888ab8d3..25fcb025f0 100644 --- a/examples/data/scan_MFILE.DAT +++ b/examples/data/scan_MFILE.DAT @@ -807,7 +807,7 @@ Shield:_second_exponential______________________________________________ (exp_shield2)_________________ 2.5427E-01 OP Solid_angle_fraction_taken_by_on_divertor_______________________________ (fdiv)________________________ 1.1500E-01 Switch_for_plant_secondary_cycle________________________________________ (secondary_cycle)_____________ 2 - First_wall_coolant_pressure_(Pa)________________________________________ (fwpressure)__________________ 1.5500E+07 + First_wall_coolant_pressure_(Pa)________________________________________ (pres_fw_coolant)__________________ 1.5500E+07 Blanket_coolant_pressure_(Pa)___________________________________________ (blpressure)__________________ 1.5500E+07 Allowable_nominal_neutron_fluence_at_first_wall_(MW.year/m2)____________ (abktflnc)____________________ 1.5000E+01 No_of_inboard_blanket_modules_poloidally________________________________ (nblktmodpi)__________________ 7 @@ -1802,7 +1802,7 @@ Shield:_second_exponential______________________________________________ (exp_shield2)_________________ 2.5427E-01 OP Solid_angle_fraction_taken_by_on_divertor_______________________________ (fdiv)________________________ 1.1500E-01 Switch_for_plant_secondary_cycle________________________________________ (secondary_cycle)_____________ 2 - First_wall_coolant_pressure_(Pa)________________________________________ (fwpressure)__________________ 1.5500E+07 + First_wall_coolant_pressure_(Pa)________________________________________ (pres_fw_coolant)__________________ 1.5500E+07 Blanket_coolant_pressure_(Pa)___________________________________________ (blpressure)__________________ 1.5500E+07 Allowable_nominal_neutron_fluence_at_first_wall_(MW.year/m2)____________ (abktflnc)____________________ 1.5000E+01 No_of_inboard_blanket_modules_poloidally________________________________ (nblktmodpi)__________________ 7 @@ -2797,7 +2797,7 @@ Shield:_second_exponential______________________________________________ (exp_shield2)_________________ 2.5427E-01 OP Solid_angle_fraction_taken_by_on_divertor_______________________________ (fdiv)________________________ 1.1500E-01 Switch_for_plant_secondary_cycle________________________________________ (secondary_cycle)_____________ 2 - First_wall_coolant_pressure_(Pa)________________________________________ (fwpressure)__________________ 1.5500E+07 + First_wall_coolant_pressure_(Pa)________________________________________ (pres_fw_coolant)__________________ 1.5500E+07 Blanket_coolant_pressure_(Pa)___________________________________________ (blpressure)__________________ 1.5500E+07 Allowable_nominal_neutron_fluence_at_first_wall_(MW.year/m2)____________ (abktflnc)____________________ 1.5000E+01 No_of_inboard_blanket_modules_poloidally________________________________ (nblktmodpi)__________________ 7 @@ -3792,7 +3792,7 @@ Shield:_second_exponential______________________________________________ (exp_shield2)_________________ 2.5427E-01 OP Solid_angle_fraction_taken_by_on_divertor_______________________________ (fdiv)________________________ 1.1500E-01 Switch_for_plant_secondary_cycle________________________________________ (secondary_cycle)_____________ 2 - First_wall_coolant_pressure_(Pa)________________________________________ (fwpressure)__________________ 1.5500E+07 + First_wall_coolant_pressure_(Pa)________________________________________ (pres_fw_coolant)__________________ 1.5500E+07 Blanket_coolant_pressure_(Pa)___________________________________________ (blpressure)__________________ 1.5500E+07 Allowable_nominal_neutron_fluence_at_first_wall_(MW.year/m2)____________ (abktflnc)____________________ 1.5000E+01 No_of_inboard_blanket_modules_poloidally________________________________ (nblktmodpi)__________________ 7 @@ -4787,7 +4787,7 @@ Shield:_second_exponential______________________________________________ (exp_shield2)_________________ 2.5427E-01 OP Solid_angle_fraction_taken_by_on_divertor_______________________________ (fdiv)________________________ 1.1500E-01 Switch_for_plant_secondary_cycle________________________________________ (secondary_cycle)_____________ 2 - First_wall_coolant_pressure_(Pa)________________________________________ (fwpressure)__________________ 1.5500E+07 + First_wall_coolant_pressure_(Pa)________________________________________ (pres_fw_coolant)__________________ 1.5500E+07 Blanket_coolant_pressure_(Pa)___________________________________________ (blpressure)__________________ 1.5500E+07 Allowable_nominal_neutron_fluence_at_first_wall_(MW.year/m2)____________ (abktflnc)____________________ 1.5000E+01 No_of_inboard_blanket_modules_poloidally________________________________ (nblktmodpi)__________________ 7 @@ -5782,7 +5782,7 @@ Shield:_second_exponential______________________________________________ (exp_shield2)_________________ 2.5427E-01 OP Solid_angle_fraction_taken_by_on_divertor_______________________________ (fdiv)________________________ 1.1500E-01 Switch_for_plant_secondary_cycle________________________________________ (secondary_cycle)_____________ 2 - First_wall_coolant_pressure_(Pa)________________________________________ (fwpressure)__________________ 1.5500E+07 + First_wall_coolant_pressure_(Pa)________________________________________ (pres_fw_coolant)__________________ 1.5500E+07 Blanket_coolant_pressure_(Pa)___________________________________________ (blpressure)__________________ 1.5500E+07 Allowable_nominal_neutron_fluence_at_first_wall_(MW.year/m2)____________ (abktflnc)____________________ 1.5000E+01 No_of_inboard_blanket_modules_poloidally________________________________ (nblktmodpi)__________________ 7 @@ -6777,7 +6777,7 @@ Shield:_second_exponential______________________________________________ (exp_shield2)_________________ 2.5427E-01 OP Solid_angle_fraction_taken_by_on_divertor_______________________________ (fdiv)________________________ 1.1500E-01 Switch_for_plant_secondary_cycle________________________________________ (secondary_cycle)_____________ 2 - First_wall_coolant_pressure_(Pa)________________________________________ (fwpressure)__________________ 1.5500E+07 + First_wall_coolant_pressure_(Pa)________________________________________ (pres_fw_coolant)__________________ 1.5500E+07 Blanket_coolant_pressure_(Pa)___________________________________________ (blpressure)__________________ 1.5500E+07 Allowable_nominal_neutron_fluence_at_first_wall_(MW.year/m2)____________ (abktflnc)____________________ 1.5000E+01 No_of_inboard_blanket_modules_poloidally________________________________ (nblktmodpi)__________________ 7 @@ -7772,7 +7772,7 @@ Shield:_second_exponential______________________________________________ (exp_shield2)_________________ 2.5427E-01 OP Solid_angle_fraction_taken_by_on_divertor_______________________________ (fdiv)________________________ 1.1500E-01 Switch_for_plant_secondary_cycle________________________________________ (secondary_cycle)_____________ 2 - First_wall_coolant_pressure_(Pa)________________________________________ (fwpressure)__________________ 1.5500E+07 + First_wall_coolant_pressure_(Pa)________________________________________ (pres_fw_coolant)__________________ 1.5500E+07 Blanket_coolant_pressure_(Pa)___________________________________________ (blpressure)__________________ 1.5500E+07 Allowable_nominal_neutron_fluence_at_first_wall_(MW.year/m2)____________ (abktflnc)____________________ 1.5000E+01 No_of_inboard_blanket_modules_poloidally________________________________ (nblktmodpi)__________________ 7 @@ -8767,7 +8767,7 @@ Shield:_second_exponential______________________________________________ (exp_shield2)_________________ 2.5427E-01 OP Solid_angle_fraction_taken_by_on_divertor_______________________________ (fdiv)________________________ 1.1500E-01 Switch_for_plant_secondary_cycle________________________________________ (secondary_cycle)_____________ 2 - First_wall_coolant_pressure_(Pa)________________________________________ (fwpressure)__________________ 1.5500E+07 + First_wall_coolant_pressure_(Pa)________________________________________ (pres_fw_coolant)__________________ 1.5500E+07 Blanket_coolant_pressure_(Pa)___________________________________________ (blpressure)__________________ 1.5500E+07 Allowable_nominal_neutron_fluence_at_first_wall_(MW.year/m2)____________ (abktflnc)____________________ 1.5000E+01 No_of_inboard_blanket_modules_poloidally________________________________ (nblktmodpi)__________________ 7 diff --git a/process/blanket_library.py b/process/blanket_library.py index d2a4218b53..b78cfc244a 100644 --- a/process/blanket_library.py +++ b/process/blanket_library.py @@ -461,7 +461,7 @@ def primary_coolant_properties(self, output: bool): fw_bb_fluid_properties = FluidProperties.of( f2py_compatible_to_string(fwbs_variables.fwcoolant), temperature=mid_temp, - pressure=fwbs_variables.fwpressure.item(), + pressure=fwbs_variables.pres_fw_coolant.item(), ) fwbs_variables.rhof_fw = fw_bb_fluid_properties.density fwbs_variables.cp_fw = fw_bb_fluid_properties.specific_heat_const_p @@ -482,7 +482,7 @@ def primary_coolant_properties(self, output: bool): fw_fluid_properties = FluidProperties.of( f2py_compatible_to_string(fwbs_variables.fwcoolant), temperature=mid_temp_fw, - pressure=fwbs_variables.fwpressure, + pressure=fwbs_variables.pres_fw_coolant, ) fwbs_variables.rhof_fw = fw_fluid_properties.density fwbs_variables.cp_fw = fw_fluid_properties.specific_heat_const_p @@ -1532,7 +1532,7 @@ def thermo_hydraulic_model(self, output: bool): secondary coolant switch --- --- i_bb_liq inlet temp (K) temp_fw_coolant_in inlet_temp inlet_temp_liq outlet temp (K) temp_fw_coolant_out outlet_temp outlet_temp_liq - pressure (Pa) fwpressure blpressure blpressure_liq + pressure (Pa) pres_fw_coolant blpressure blpressure_liq """ ###################################################### # Pre calculations needed for thermo-hydraulic model # @@ -1839,7 +1839,7 @@ def thermo_hydraulic_model(self, output: bool): icoolpump=1, temp_in=fwbs_variables.temp_fw_coolant_in.item(), temp_out=fwbs_variables.outlet_temp.item(), - pressure=fwbs_variables.fwpressure.item(), + pressure=fwbs_variables.pres_fw_coolant.item(), pdrop=deltap_fw_blkt, mf=blanket_library.mftotal, primary_coolant_switch=f2py_compatible_to_string( @@ -1875,7 +1875,7 @@ def thermo_hydraulic_model(self, output: bool): icoolpump=1, temp_in=fwbs_variables.temp_fw_coolant_in.item(), temp_out=fwbs_variables.temp_fw_coolant_out.item(), - pressure=fwbs_variables.fwpressure.item(), + pressure=fwbs_variables.pres_fw_coolant.item(), pdrop=deltap_fw.item(), mf=blanket_library.mffw, primary_coolant_switch=f2py_compatible_to_string( @@ -1989,8 +1989,8 @@ def thermo_hydraulic_model(self, output: bool): po.ovarre( self.outfile, "First wall coolant pressure (Pa)", - "(fwpressure)", - fwbs_variables.fwpressure, + "(pres_fw_coolant)", + fwbs_variables.pres_fw_coolant, ) if fwbs_variables.ipump == 1: po.ovarre( diff --git a/process/dcll.py b/process/dcll.py index 42a90c02df..263a531446 100644 --- a/process/dcll.py +++ b/process/dcll.py @@ -395,8 +395,8 @@ def dcll_power_and_heating(self, output: bool): po.ovarre( self.outfile, "First wall coolant pressure (Pa)", - "(fwpressure)", - fwbs_variables.fwpressure, + "(pres_fw_coolant)", + fwbs_variables.pres_fw_coolant, ) po.ovarre( self.outfile, diff --git a/process/fw.py b/process/fw.py index 39f63cdc20..8c9884f217 100644 --- a/process/fw.py +++ b/process/fw.py @@ -77,14 +77,14 @@ def fw_temp( ib_fluid_properties = FluidProperties.of( f2py_compatible_to_string(fwbs_variables.fwcoolant), temperature=fwbs_variables.temp_fw_coolant_in.item(), - pressure=fwbs_variables.fwpressure.item(), + pressure=fwbs_variables.pres_fw_coolant.item(), ) # Calculate outlet coolant fluid properties (fixed pressure) ob_fluid_properties = FluidProperties.of( f2py_compatible_to_string(fwbs_variables.fwcoolant), temperature=fwbs_variables.temp_fw_coolant_out.item(), - pressure=fwbs_variables.fwpressure.item(), + pressure=fwbs_variables.pres_fw_coolant.item(), ) # Mean properties (inlet + outlet)/2 diff --git a/process/hcpb.py b/process/hcpb.py index f5f6148833..fdb6eae9a1 100644 --- a/process/hcpb.py +++ b/process/hcpb.py @@ -1466,8 +1466,8 @@ def write_output(self): po.ovarre( self.outfile, "First wall coolant pressure (Pa)", - "(fwpressure)", - fwbs_variables.fwpressure, + "(pres_fw_coolant)", + fwbs_variables.pres_fw_coolant, ) po.ovarre( self.outfile, diff --git a/source/fortran/fwbs_variables.f90 b/source/fortran/fwbs_variables.f90 index 89abd6c373..52a4837e28 100644 --- a/source/fortran/fwbs_variables.f90 +++ b/source/fortran/fwbs_variables.f90 @@ -330,7 +330,7 @@ module fwbs_variables real(dp) :: temp_fw_coolant_out !! outlet temperature of first wall coolant [K] - real(dp) :: fwpressure + real(dp) :: pres_fw_coolant !! first wall coolant pressure [Pa] (`secondary_cycle>1`) real(dp) :: tpeak @@ -745,7 +745,7 @@ subroutine init_fwbs_variables pitch = 0.02D0 temp_fw_coolant_in = 573.0D0 temp_fw_coolant_out = 823.0D0 - fwpressure = 15.5D6 + pres_fw_coolant = 15.5D6 tpeak = 873.0D0 roughness = 1.0D-6 fw_channel_length = 4.0D0 diff --git a/source/fortran/input.f90 b/source/fortran/input.f90 index 5f0fca4cfa..001e62e91c 100644 --- a/source/fortran/input.f90 +++ b/source/fortran/input.f90 @@ -271,7 +271,7 @@ subroutine parse_input_file(in_file,out_file,show_changes) fw_armour_thickness, roughness, fwclfr, breedmat, fblli, fblvd, & iblanket_thickness, vfcblkt, breeder_f, fbllipb, fhcd, vfshld, fblhebmi, & f_neut_shield, fw_th_conductivity, nblktmodti, fw_wall, afwo, & - fvolsi, etahtp, nblktmodpo, fwpressure, emult, temp_fw_coolant_out, nblktmodpi, & + fvolsi, etahtp, nblktmodpo, pres_fw_coolant, emult, temp_fw_coolant_out, nblktmodpi, & fblhebpi, fblss, inlet_temp, outlet_temp, fblbreed, qnuc, blpressure, & blpressure_liq, n_liq_recirc, pnuc_fw_ratio_dcll, f_nuc_pow_bz_struct, & declblkt, fblhebmo, blkttype, afw, inuclear, declshld, hcdportsize, & @@ -1936,8 +1936,8 @@ subroutine parse_input_file(in_file,out_file,show_changes) case ('temp_fw_coolant_out') call parse_real_variable('temp_fw_coolant_out', temp_fw_coolant_out, 300.0d0, 1500.0D0, & 'outlet temperature of first wall coolant (K)') - case ('fwpressure') - call parse_real_variable('fwpressure', fwpressure, 1.0d5, 1.0D8, & + case ('pres_fw_coolant') + call parse_real_variable('pres_fw_coolant', pres_fw_coolant, 1.0d5, 1.0D8, & 'first wall coolant pressure (Pa)') case ('fwcoolant') call parse_string_variable('fwcoolant', fwcoolant, 'first wall coolant') diff --git a/tests/integration/data/large_tokamak_1_MFILE.DAT b/tests/integration/data/large_tokamak_1_MFILE.DAT index d2aa3d84f4..9be6a2fc1c 100644 --- a/tests/integration/data/large_tokamak_1_MFILE.DAT +++ b/tests/integration/data/large_tokamak_1_MFILE.DAT @@ -977,7 +977,7 @@ Shield:_second_exponential______________________________________________ (exp_shield2)_________________ 2.5427E-01 OP Solid_angle_fraction_taken_by_on_divertor_______________________________ (fdiv)________________________ 1.1500E-01 Switch_for_plant_secondary_cycle________________________________________ (secondary_cycle)_____________ 2 - First_wall_coolant_pressure_(Pa)________________________________________ (fwpressure)__________________ 1.5500E+07 + First_wall_coolant_pressure_(Pa)________________________________________ (pres_fw_coolant)__________________ 1.5500E+07 Blanket_coolant_pressure_(Pa)___________________________________________ (blpressure)__________________ 1.5500E+07 Allowable_nominal_neutron_fluence_at_first_wall_(MW.year/m2)____________ (abktflnc)____________________ 5.0000E+00 No_of_inboard_blanket_modules_poloidally________________________________ (nblktmodpi)__________________ 7 diff --git a/tests/integration/data/large_tokamak_2_MFILE.DAT b/tests/integration/data/large_tokamak_2_MFILE.DAT index d2eba7fec3..bc678851b4 100644 --- a/tests/integration/data/large_tokamak_2_MFILE.DAT +++ b/tests/integration/data/large_tokamak_2_MFILE.DAT @@ -978,7 +978,7 @@ Shield:_second_exponential______________________________________________ (exp_shield2)_________________ 2.5427E-01 OP Solid_angle_fraction_taken_by_on_divertor_______________________________ (fdiv)________________________ 1.1500E-01 Switch_for_plant_secondary_cycle________________________________________ (secondary_cycle)_____________ 2 - First_wall_coolant_pressure_(Pa)________________________________________ (fwpressure)__________________ 1.5500E+07 + First_wall_coolant_pressure_(Pa)________________________________________ (pres_fw_coolant)__________________ 1.5500E+07 Blanket_coolant_pressure_(Pa)___________________________________________ (blpressure)__________________ 1.5500E+07 Allowable_nominal_neutron_fluence_at_first_wall_(MW.year/m2)____________ (abktflnc)____________________ 5.0000E+00 No_of_inboard_blanket_modules_poloidally________________________________ (nblktmodpi)__________________ 7 diff --git a/tests/integration/data/large_tokamak_3_MFILE.DAT b/tests/integration/data/large_tokamak_3_MFILE.DAT index 4cde49adbe..b154bd4a66 100644 --- a/tests/integration/data/large_tokamak_3_MFILE.DAT +++ b/tests/integration/data/large_tokamak_3_MFILE.DAT @@ -978,7 +978,7 @@ Shield:_second_exponential______________________________________________ (exp_shield2)_________________ 2.5427E-01 OP Solid_angle_fraction_taken_by_on_divertor_______________________________ (fdiv)________________________ 1.1500E-01 Switch_for_plant_secondary_cycle________________________________________ (secondary_cycle)_____________ 2 - First_wall_coolant_pressure_(Pa)________________________________________ (fwpressure)__________________ 1.5500E+07 + First_wall_coolant_pressure_(Pa)________________________________________ (pres_fw_coolant)__________________ 1.5500E+07 Blanket_coolant_pressure_(Pa)___________________________________________ (blpressure)__________________ 1.5500E+07 Allowable_nominal_neutron_fluence_at_first_wall_(MW.year/m2)____________ (abktflnc)____________________ 5.0000E+00 No_of_inboard_blanket_modules_poloidally________________________________ (nblktmodpi)__________________ 7 diff --git a/tests/integration/data/large_tokamak_4_MFILE.DAT b/tests/integration/data/large_tokamak_4_MFILE.DAT index f1f7af53ae..7975787ae3 100644 --- a/tests/integration/data/large_tokamak_4_MFILE.DAT +++ b/tests/integration/data/large_tokamak_4_MFILE.DAT @@ -978,7 +978,7 @@ Shield:_second_exponential______________________________________________ (exp_shield2)_________________ 2.5427E-01 OP Solid_angle_fraction_taken_by_on_divertor_______________________________ (fdiv)________________________ 1.1500E-01 Switch_for_plant_secondary_cycle________________________________________ (secondary_cycle)_____________ 2 - First_wall_coolant_pressure_(Pa)________________________________________ (fwpressure)__________________ 1.5500E+07 + First_wall_coolant_pressure_(Pa)________________________________________ (pres_fw_coolant)__________________ 1.5500E+07 Blanket_coolant_pressure_(Pa)___________________________________________ (blpressure)__________________ 1.5500E+07 Allowable_nominal_neutron_fluence_at_first_wall_(MW.year/m2)____________ (abktflnc)____________________ 5.0000E+00 No_of_inboard_blanket_modules_poloidally________________________________ (nblktmodpi)__________________ 7 diff --git a/tests/integration/data/large_tokamak_MFILE.DAT b/tests/integration/data/large_tokamak_MFILE.DAT index fe8238ad7b..8e3991d6e6 100644 --- a/tests/integration/data/large_tokamak_MFILE.DAT +++ b/tests/integration/data/large_tokamak_MFILE.DAT @@ -981,7 +981,7 @@ Shield:_second_exponential______________________________________________ (exp_shield2)_________________ 2.5427E-01 OP Solid_angle_fraction_taken_by_on_divertor_______________________________ (fdiv)________________________ 1.1500E-01 Switch_for_plant_secondary_cycle________________________________________ (secondary_cycle)_____________ 2 - First_wall_coolant_pressure_(Pa)________________________________________ (fwpressure)__________________ 1.5500E+07 + First_wall_coolant_pressure_(Pa)________________________________________ (pres_fw_coolant)__________________ 1.5500E+07 Blanket_coolant_pressure_(Pa)___________________________________________ (blpressure)__________________ 1.5500E+07 Allowable_nominal_neutron_fluence_at_first_wall_(MW.year/m2)____________ (abktflnc)____________________ 5.0000E+00 No_of_inboard_blanket_modules_poloidally________________________________ (nblktmodpi)__________________ 7 diff --git a/tests/integration/data/scan_2D_MFILE.DAT b/tests/integration/data/scan_2D_MFILE.DAT index e772741b55..cd2ebe185b 100644 --- a/tests/integration/data/scan_2D_MFILE.DAT +++ b/tests/integration/data/scan_2D_MFILE.DAT @@ -979,7 +979,7 @@ Shield:_second_exponential______________________________________________ (exp_shield2)_________________ 2.5427E-01 OP Solid_angle_fraction_taken_by_on_divertor_______________________________ (fdiv)________________________ 1.1500E-01 Switch_for_plant_secondary_cycle________________________________________ (secondary_cycle)_____________ 2 - First_wall_coolant_pressure_(Pa)________________________________________ (fwpressure)__________________ 1.5500E+07 + First_wall_coolant_pressure_(Pa)________________________________________ (pres_fw_coolant)__________________ 1.5500E+07 Blanket_coolant_pressure_(Pa)___________________________________________ (blpressure)__________________ 1.5500E+07 Allowable_nominal_neutron_fluence_at_first_wall_(MW.year/m2)____________ (abktflnc)____________________ 5.0000E+00 No_of_inboard_blanket_modules_poloidally________________________________ (nblktmodpi)__________________ 7 @@ -2142,7 +2142,7 @@ Shield:_second_exponential______________________________________________ (exp_shield2)_________________ 2.5427E-01 OP Solid_angle_fraction_taken_by_on_divertor_______________________________ (fdiv)________________________ 1.1500E-01 Switch_for_plant_secondary_cycle________________________________________ (secondary_cycle)_____________ 2 - First_wall_coolant_pressure_(Pa)________________________________________ (fwpressure)__________________ 1.5500E+07 + First_wall_coolant_pressure_(Pa)________________________________________ (pres_fw_coolant)__________________ 1.5500E+07 Blanket_coolant_pressure_(Pa)___________________________________________ (blpressure)__________________ 1.5500E+07 Allowable_nominal_neutron_fluence_at_first_wall_(MW.year/m2)____________ (abktflnc)____________________ 5.0000E+00 No_of_inboard_blanket_modules_poloidally________________________________ (nblktmodpi)__________________ 7 @@ -3305,7 +3305,7 @@ Shield:_second_exponential______________________________________________ (exp_shield2)_________________ 2.5427E-01 OP Solid_angle_fraction_taken_by_on_divertor_______________________________ (fdiv)________________________ 1.1500E-01 Switch_for_plant_secondary_cycle________________________________________ (secondary_cycle)_____________ 2 - First_wall_coolant_pressure_(Pa)________________________________________ (fwpressure)__________________ 1.5500E+07 + First_wall_coolant_pressure_(Pa)________________________________________ (pres_fw_coolant)__________________ 1.5500E+07 Blanket_coolant_pressure_(Pa)___________________________________________ (blpressure)__________________ 1.5500E+07 Allowable_nominal_neutron_fluence_at_first_wall_(MW.year/m2)____________ (abktflnc)____________________ 5.0000E+00 No_of_inboard_blanket_modules_poloidally________________________________ (nblktmodpi)__________________ 7 @@ -4468,7 +4468,7 @@ Shield:_second_exponential______________________________________________ (exp_shield2)_________________ 2.5427E-01 OP Solid_angle_fraction_taken_by_on_divertor_______________________________ (fdiv)________________________ 1.1500E-01 Switch_for_plant_secondary_cycle________________________________________ (secondary_cycle)_____________ 2 - First_wall_coolant_pressure_(Pa)________________________________________ (fwpressure)__________________ 1.5500E+07 + First_wall_coolant_pressure_(Pa)________________________________________ (pres_fw_coolant)__________________ 1.5500E+07 Blanket_coolant_pressure_(Pa)___________________________________________ (blpressure)__________________ 1.5500E+07 Allowable_nominal_neutron_fluence_at_first_wall_(MW.year/m2)____________ (abktflnc)____________________ 5.0000E+00 No_of_inboard_blanket_modules_poloidally________________________________ (nblktmodpi)__________________ 7 @@ -5631,7 +5631,7 @@ Shield:_second_exponential______________________________________________ (exp_shield2)_________________ 2.5427E-01 OP Solid_angle_fraction_taken_by_on_divertor_______________________________ (fdiv)________________________ 1.1500E-01 Switch_for_plant_secondary_cycle________________________________________ (secondary_cycle)_____________ 2 - First_wall_coolant_pressure_(Pa)________________________________________ (fwpressure)__________________ 1.5500E+07 + First_wall_coolant_pressure_(Pa)________________________________________ (pres_fw_coolant)__________________ 1.5500E+07 Blanket_coolant_pressure_(Pa)___________________________________________ (blpressure)__________________ 1.5500E+07 Allowable_nominal_neutron_fluence_at_first_wall_(MW.year/m2)____________ (abktflnc)____________________ 5.0000E+00 No_of_inboard_blanket_modules_poloidally________________________________ (nblktmodpi)__________________ 7 @@ -6794,7 +6794,7 @@ Shield:_second_exponential______________________________________________ (exp_shield2)_________________ 2.5427E-01 OP Solid_angle_fraction_taken_by_on_divertor_______________________________ (fdiv)________________________ 1.1500E-01 Switch_for_plant_secondary_cycle________________________________________ (secondary_cycle)_____________ 2 - First_wall_coolant_pressure_(Pa)________________________________________ (fwpressure)__________________ 1.5500E+07 + First_wall_coolant_pressure_(Pa)________________________________________ (pres_fw_coolant)__________________ 1.5500E+07 Blanket_coolant_pressure_(Pa)___________________________________________ (blpressure)__________________ 1.5500E+07 Allowable_nominal_neutron_fluence_at_first_wall_(MW.year/m2)____________ (abktflnc)____________________ 5.0000E+00 No_of_inboard_blanket_modules_poloidally________________________________ (nblktmodpi)__________________ 7 @@ -7957,7 +7957,7 @@ Shield:_second_exponential______________________________________________ (exp_shield2)_________________ 2.5427E-01 OP Solid_angle_fraction_taken_by_on_divertor_______________________________ (fdiv)________________________ 1.1500E-01 Switch_for_plant_secondary_cycle________________________________________ (secondary_cycle)_____________ 2 - First_wall_coolant_pressure_(Pa)________________________________________ (fwpressure)__________________ 1.5500E+07 + First_wall_coolant_pressure_(Pa)________________________________________ (pres_fw_coolant)__________________ 1.5500E+07 Blanket_coolant_pressure_(Pa)___________________________________________ (blpressure)__________________ 1.5500E+07 Allowable_nominal_neutron_fluence_at_first_wall_(MW.year/m2)____________ (abktflnc)____________________ 5.0000E+00 No_of_inboard_blanket_modules_poloidally________________________________ (nblktmodpi)__________________ 7 @@ -9120,7 +9120,7 @@ Shield:_second_exponential______________________________________________ (exp_shield2)_________________ 2.5427E-01 OP Solid_angle_fraction_taken_by_on_divertor_______________________________ (fdiv)________________________ 1.1500E-01 Switch_for_plant_secondary_cycle________________________________________ (secondary_cycle)_____________ 2 - First_wall_coolant_pressure_(Pa)________________________________________ (fwpressure)__________________ 1.5500E+07 + First_wall_coolant_pressure_(Pa)________________________________________ (pres_fw_coolant)__________________ 1.5500E+07 Blanket_coolant_pressure_(Pa)___________________________________________ (blpressure)__________________ 1.5500E+07 Allowable_nominal_neutron_fluence_at_first_wall_(MW.year/m2)____________ (abktflnc)____________________ 5.0000E+00 No_of_inboard_blanket_modules_poloidally________________________________ (nblktmodpi)__________________ 7 @@ -10283,7 +10283,7 @@ Shield:_second_exponential______________________________________________ (exp_shield2)_________________ 2.5427E-01 OP Solid_angle_fraction_taken_by_on_divertor_______________________________ (fdiv)________________________ 1.1500E-01 Switch_for_plant_secondary_cycle________________________________________ (secondary_cycle)_____________ 2 - First_wall_coolant_pressure_(Pa)________________________________________ (fwpressure)__________________ 1.5500E+07 + First_wall_coolant_pressure_(Pa)________________________________________ (pres_fw_coolant)__________________ 1.5500E+07 Blanket_coolant_pressure_(Pa)___________________________________________ (blpressure)__________________ 1.5500E+07 Allowable_nominal_neutron_fluence_at_first_wall_(MW.year/m2)____________ (abktflnc)____________________ 5.0000E+00 No_of_inboard_blanket_modules_poloidally________________________________ (nblktmodpi)__________________ 7 @@ -11446,7 +11446,7 @@ Shield:_second_exponential______________________________________________ (exp_shield2)_________________ 2.5427E-01 OP Solid_angle_fraction_taken_by_on_divertor_______________________________ (fdiv)________________________ 1.1500E-01 Switch_for_plant_secondary_cycle________________________________________ (secondary_cycle)_____________ 2 - First_wall_coolant_pressure_(Pa)________________________________________ (fwpressure)__________________ 1.5500E+07 + First_wall_coolant_pressure_(Pa)________________________________________ (pres_fw_coolant)__________________ 1.5500E+07 Blanket_coolant_pressure_(Pa)___________________________________________ (blpressure)__________________ 1.5500E+07 Allowable_nominal_neutron_fluence_at_first_wall_(MW.year/m2)____________ (abktflnc)____________________ 5.0000E+00 No_of_inboard_blanket_modules_poloidally________________________________ (nblktmodpi)__________________ 7 @@ -12609,7 +12609,7 @@ Shield:_second_exponential______________________________________________ (exp_shield2)_________________ 2.5427E-01 OP Solid_angle_fraction_taken_by_on_divertor_______________________________ (fdiv)________________________ 1.1500E-01 Switch_for_plant_secondary_cycle________________________________________ (secondary_cycle)_____________ 2 - First_wall_coolant_pressure_(Pa)________________________________________ (fwpressure)__________________ 1.5500E+07 + First_wall_coolant_pressure_(Pa)________________________________________ (pres_fw_coolant)__________________ 1.5500E+07 Blanket_coolant_pressure_(Pa)___________________________________________ (blpressure)__________________ 1.5500E+07 Allowable_nominal_neutron_fluence_at_first_wall_(MW.year/m2)____________ (abktflnc)____________________ 5.0000E+00 No_of_inboard_blanket_modules_poloidally________________________________ (nblktmodpi)__________________ 7 @@ -13772,7 +13772,7 @@ Shield:_second_exponential______________________________________________ (exp_shield2)_________________ 2.5427E-01 OP Solid_angle_fraction_taken_by_on_divertor_______________________________ (fdiv)________________________ 1.1500E-01 Switch_for_plant_secondary_cycle________________________________________ (secondary_cycle)_____________ 2 - First_wall_coolant_pressure_(Pa)________________________________________ (fwpressure)__________________ 1.5500E+07 + First_wall_coolant_pressure_(Pa)________________________________________ (pres_fw_coolant)__________________ 1.5500E+07 Blanket_coolant_pressure_(Pa)___________________________________________ (blpressure)__________________ 1.5500E+07 Allowable_nominal_neutron_fluence_at_first_wall_(MW.year/m2)____________ (abktflnc)____________________ 5.0000E+00 No_of_inboard_blanket_modules_poloidally________________________________ (nblktmodpi)__________________ 7 @@ -14935,7 +14935,7 @@ Shield:_second_exponential______________________________________________ (exp_shield2)_________________ 2.5427E-01 OP Solid_angle_fraction_taken_by_on_divertor_______________________________ (fdiv)________________________ 1.1500E-01 Switch_for_plant_secondary_cycle________________________________________ (secondary_cycle)_____________ 2 - First_wall_coolant_pressure_(Pa)________________________________________ (fwpressure)__________________ 1.5500E+07 + First_wall_coolant_pressure_(Pa)________________________________________ (pres_fw_coolant)__________________ 1.5500E+07 Blanket_coolant_pressure_(Pa)___________________________________________ (blpressure)__________________ 1.5500E+07 Allowable_nominal_neutron_fluence_at_first_wall_(MW.year/m2)____________ (abktflnc)____________________ 5.0000E+00 No_of_inboard_blanket_modules_poloidally________________________________ (nblktmodpi)__________________ 7 @@ -16098,7 +16098,7 @@ Shield:_second_exponential______________________________________________ (exp_shield2)_________________ 2.5427E-01 OP Solid_angle_fraction_taken_by_on_divertor_______________________________ (fdiv)________________________ 1.1500E-01 Switch_for_plant_secondary_cycle________________________________________ (secondary_cycle)_____________ 2 - First_wall_coolant_pressure_(Pa)________________________________________ (fwpressure)__________________ 1.5500E+07 + First_wall_coolant_pressure_(Pa)________________________________________ (pres_fw_coolant)__________________ 1.5500E+07 Blanket_coolant_pressure_(Pa)___________________________________________ (blpressure)__________________ 1.5500E+07 Allowable_nominal_neutron_fluence_at_first_wall_(MW.year/m2)____________ (abktflnc)____________________ 5.0000E+00 No_of_inboard_blanket_modules_poloidally________________________________ (nblktmodpi)__________________ 7 @@ -17261,7 +17261,7 @@ Shield:_second_exponential______________________________________________ (exp_shield2)_________________ 2.5427E-01 OP Solid_angle_fraction_taken_by_on_divertor_______________________________ (fdiv)________________________ 1.1500E-01 Switch_for_plant_secondary_cycle________________________________________ (secondary_cycle)_____________ 2 - First_wall_coolant_pressure_(Pa)________________________________________ (fwpressure)__________________ 1.5500E+07 + First_wall_coolant_pressure_(Pa)________________________________________ (pres_fw_coolant)__________________ 1.5500E+07 Blanket_coolant_pressure_(Pa)___________________________________________ (blpressure)__________________ 1.5500E+07 Allowable_nominal_neutron_fluence_at_first_wall_(MW.year/m2)____________ (abktflnc)____________________ 5.0000E+00 No_of_inboard_blanket_modules_poloidally________________________________ (nblktmodpi)__________________ 7 diff --git a/tests/integration/data/scan_MFILE.DAT b/tests/integration/data/scan_MFILE.DAT index 900fdb9b8b..77817cde7d 100644 --- a/tests/integration/data/scan_MFILE.DAT +++ b/tests/integration/data/scan_MFILE.DAT @@ -807,7 +807,7 @@ Shield:_second_exponential______________________________________________ (exp_shield2)_________________ 2.5427E-01 OP Solid_angle_fraction_taken_by_on_divertor_______________________________ (fdiv)________________________ 1.1500E-01 Switch_for_plant_secondary_cycle________________________________________ (secondary_cycle)_____________ 2 - First_wall_coolant_pressure_(Pa)________________________________________ (fwpressure)__________________ 1.5500E+07 + First_wall_coolant_pressure_(Pa)________________________________________ (pres_fw_coolant)__________________ 1.5500E+07 Blanket_coolant_pressure_(Pa)___________________________________________ (blpressure)__________________ 1.5500E+07 Allowable_nominal_neutron_fluence_at_first_wall_(MW.year/m2)____________ (abktflnc)____________________ 1.5000E+01 No_of_inboard_blanket_modules_poloidally________________________________ (nblktmodpi)__________________ 7 @@ -1802,7 +1802,7 @@ Shield:_second_exponential______________________________________________ (exp_shield2)_________________ 2.5427E-01 OP Solid_angle_fraction_taken_by_on_divertor_______________________________ (fdiv)________________________ 1.1500E-01 Switch_for_plant_secondary_cycle________________________________________ (secondary_cycle)_____________ 2 - First_wall_coolant_pressure_(Pa)________________________________________ (fwpressure)__________________ 1.5500E+07 + First_wall_coolant_pressure_(Pa)________________________________________ (pres_fw_coolant)__________________ 1.5500E+07 Blanket_coolant_pressure_(Pa)___________________________________________ (blpressure)__________________ 1.5500E+07 Allowable_nominal_neutron_fluence_at_first_wall_(MW.year/m2)____________ (abktflnc)____________________ 1.5000E+01 No_of_inboard_blanket_modules_poloidally________________________________ (nblktmodpi)__________________ 7 @@ -2797,7 +2797,7 @@ Shield:_second_exponential______________________________________________ (exp_shield2)_________________ 2.5427E-01 OP Solid_angle_fraction_taken_by_on_divertor_______________________________ (fdiv)________________________ 1.1500E-01 Switch_for_plant_secondary_cycle________________________________________ (secondary_cycle)_____________ 2 - First_wall_coolant_pressure_(Pa)________________________________________ (fwpressure)__________________ 1.5500E+07 + First_wall_coolant_pressure_(Pa)________________________________________ (pres_fw_coolant)__________________ 1.5500E+07 Blanket_coolant_pressure_(Pa)___________________________________________ (blpressure)__________________ 1.5500E+07 Allowable_nominal_neutron_fluence_at_first_wall_(MW.year/m2)____________ (abktflnc)____________________ 1.5000E+01 No_of_inboard_blanket_modules_poloidally________________________________ (nblktmodpi)__________________ 7 @@ -3792,7 +3792,7 @@ Shield:_second_exponential______________________________________________ (exp_shield2)_________________ 2.5427E-01 OP Solid_angle_fraction_taken_by_on_divertor_______________________________ (fdiv)________________________ 1.1500E-01 Switch_for_plant_secondary_cycle________________________________________ (secondary_cycle)_____________ 2 - First_wall_coolant_pressure_(Pa)________________________________________ (fwpressure)__________________ 1.5500E+07 + First_wall_coolant_pressure_(Pa)________________________________________ (pres_fw_coolant)__________________ 1.5500E+07 Blanket_coolant_pressure_(Pa)___________________________________________ (blpressure)__________________ 1.5500E+07 Allowable_nominal_neutron_fluence_at_first_wall_(MW.year/m2)____________ (abktflnc)____________________ 1.5000E+01 No_of_inboard_blanket_modules_poloidally________________________________ (nblktmodpi)__________________ 7 @@ -4787,7 +4787,7 @@ Shield:_second_exponential______________________________________________ (exp_shield2)_________________ 2.5427E-01 OP Solid_angle_fraction_taken_by_on_divertor_______________________________ (fdiv)________________________ 1.1500E-01 Switch_for_plant_secondary_cycle________________________________________ (secondary_cycle)_____________ 2 - First_wall_coolant_pressure_(Pa)________________________________________ (fwpressure)__________________ 1.5500E+07 + First_wall_coolant_pressure_(Pa)________________________________________ (pres_fw_coolant)__________________ 1.5500E+07 Blanket_coolant_pressure_(Pa)___________________________________________ (blpressure)__________________ 1.5500E+07 Allowable_nominal_neutron_fluence_at_first_wall_(MW.year/m2)____________ (abktflnc)____________________ 1.5000E+01 No_of_inboard_blanket_modules_poloidally________________________________ (nblktmodpi)__________________ 7 @@ -5782,7 +5782,7 @@ Shield:_second_exponential______________________________________________ (exp_shield2)_________________ 2.5427E-01 OP Solid_angle_fraction_taken_by_on_divertor_______________________________ (fdiv)________________________ 1.1500E-01 Switch_for_plant_secondary_cycle________________________________________ (secondary_cycle)_____________ 2 - First_wall_coolant_pressure_(Pa)________________________________________ (fwpressure)__________________ 1.5500E+07 + First_wall_coolant_pressure_(Pa)________________________________________ (pres_fw_coolant)__________________ 1.5500E+07 Blanket_coolant_pressure_(Pa)___________________________________________ (blpressure)__________________ 1.5500E+07 Allowable_nominal_neutron_fluence_at_first_wall_(MW.year/m2)____________ (abktflnc)____________________ 1.5000E+01 No_of_inboard_blanket_modules_poloidally________________________________ (nblktmodpi)__________________ 7 @@ -6777,7 +6777,7 @@ Shield:_second_exponential______________________________________________ (exp_shield2)_________________ 2.5427E-01 OP Solid_angle_fraction_taken_by_on_divertor_______________________________ (fdiv)________________________ 1.1500E-01 Switch_for_plant_secondary_cycle________________________________________ (secondary_cycle)_____________ 2 - First_wall_coolant_pressure_(Pa)________________________________________ (fwpressure)__________________ 1.5500E+07 + First_wall_coolant_pressure_(Pa)________________________________________ (pres_fw_coolant)__________________ 1.5500E+07 Blanket_coolant_pressure_(Pa)___________________________________________ (blpressure)__________________ 1.5500E+07 Allowable_nominal_neutron_fluence_at_first_wall_(MW.year/m2)____________ (abktflnc)____________________ 1.5000E+01 No_of_inboard_blanket_modules_poloidally________________________________ (nblktmodpi)__________________ 7 @@ -7772,7 +7772,7 @@ Shield:_second_exponential______________________________________________ (exp_shield2)_________________ 2.5427E-01 OP Solid_angle_fraction_taken_by_on_divertor_______________________________ (fdiv)________________________ 1.1500E-01 Switch_for_plant_secondary_cycle________________________________________ (secondary_cycle)_____________ 2 - First_wall_coolant_pressure_(Pa)________________________________________ (fwpressure)__________________ 1.5500E+07 + First_wall_coolant_pressure_(Pa)________________________________________ (pres_fw_coolant)__________________ 1.5500E+07 Blanket_coolant_pressure_(Pa)___________________________________________ (blpressure)__________________ 1.5500E+07 Allowable_nominal_neutron_fluence_at_first_wall_(MW.year/m2)____________ (abktflnc)____________________ 1.5000E+01 No_of_inboard_blanket_modules_poloidally________________________________ (nblktmodpi)__________________ 7 @@ -8767,7 +8767,7 @@ Shield:_second_exponential______________________________________________ (exp_shield2)_________________ 2.5427E-01 OP Solid_angle_fraction_taken_by_on_divertor_______________________________ (fdiv)________________________ 1.1500E-01 Switch_for_plant_secondary_cycle________________________________________ (secondary_cycle)_____________ 2 - First_wall_coolant_pressure_(Pa)________________________________________ (fwpressure)__________________ 1.5500E+07 + First_wall_coolant_pressure_(Pa)________________________________________ (pres_fw_coolant)__________________ 1.5500E+07 Blanket_coolant_pressure_(Pa)___________________________________________ (blpressure)__________________ 1.5500E+07 Allowable_nominal_neutron_fluence_at_first_wall_(MW.year/m2)____________ (abktflnc)____________________ 1.5000E+01 No_of_inboard_blanket_modules_poloidally________________________________ (nblktmodpi)__________________ 7 diff --git a/tests/integration/ref_dicts.json b/tests/integration/ref_dicts.json index bf8c56133a..9310871dc1 100644 --- a/tests/integration/ref_dicts.json +++ b/tests/integration/ref_dicts.json @@ -2156,7 +2156,7 @@ "fwomzp": 0.0, "dr_fw_outboard": 0.0, "temp_fw_coolant_out": 823.0, - "fwpressure": 15500000.0, + "pres_fw_coolant": 15500000.0, "fwtemp": 0.0, "fwvol": [ 0.0, @@ -9696,7 +9696,7 @@ "fwomzp": "outboard first wall mean zone power density/neutron", "dr_fw_outboard": "outboard first wall thickness, initial estimate as calculated (m)", "temp_fw_coolant_out": "outlet temperature of first wall coolant (K)", - "fwpressure": "first wall coolant pressure (Pa) (`secondary_cycle>1`)", + "pres_fw_coolant": "first wall coolant pressure (Pa) (`secondary_cycle>1`)", "fwtemp": "outboard first wall temperature after a LOCA (K)", "fwvol": "IFE first wall volume (m3)", "fzactual": "Actual impurity fraction of divertor impurity (impvardiv) in the SoL (taking\n impurity_enrichment into account) (`iteration variable 148`)", @@ -13057,7 +13057,7 @@ "lb": 300.0, "ub": 1500.0 }, - "fwpressure": { + "pres_fw_coolant": { "lb": 100000.0, "ub": 100000000.0 }, @@ -18088,7 +18088,7 @@ "pitch", "temp_fw_coolant_in", "temp_fw_coolant_out", - "fwpressure", + "pres_fw_coolant", "tpeak", "roughness", "fw_channel_length", @@ -20374,7 +20374,7 @@ "fwmatf": "real_array", "dr_fw_outboard": "real_variable", "temp_fw_coolant_out": "real_variable", - "fwpressure": "real_variable", + "pres_fw_coolant": "real_variable", "fzactual": "real_variable", "fzeffmax": "real_variable", "gainve": "real_array", diff --git a/tests/regression/input_files/st_regression.IN.DAT b/tests/regression/input_files/st_regression.IN.DAT index f034f414b8..086a479c1d 100644 --- a/tests/regression/input_files/st_regression.IN.DAT +++ b/tests/regression/input_files/st_regression.IN.DAT @@ -2333,7 +2333,7 @@ etaiso = 0.9 * DESCRIPTION: Outlet temperature of first wall coolant (K) (default = 823.0) * JUSTIFICATION: Not yet set. -*fwpressure = +*pres_fw_coolant = * DESCRIPTION: First wall coolant pressure [Pa] (`secondary_cycle>1`) (default = 15.5D6) * JUSTIFICATION: Not yet set. diff --git a/tests/unit/data/large_tokamak_MFILE.DAT b/tests/unit/data/large_tokamak_MFILE.DAT index d6407457eb..7b06c6fff0 100644 --- a/tests/unit/data/large_tokamak_MFILE.DAT +++ b/tests/unit/data/large_tokamak_MFILE.DAT @@ -981,7 +981,7 @@ Shield:_second_exponential______________________________________________ (exp_shield2)_________________ 2.5427E-01 OP Solid_angle_fraction_taken_by_on_divertor_______________________________ (fdiv)________________________ 1.1500E-01 Switch_for_plant_secondary_cycle________________________________________ (secondary_cycle)_____________ 2 - First_wall_coolant_pressure_(Pa)________________________________________ (fwpressure)__________________ 1.5500E+07 + First_wall_coolant_pressure_(Pa)________________________________________ (pres_fw_coolant)__________________ 1.5500E+07 Blanket_coolant_pressure_(Pa)___________________________________________ (blpressure)__________________ 1.5500E+07 Allowable_nominal_neutron_fluence_at_first_wall_(MW.year/m2)____________ (abktflnc)____________________ 5.0000E+00 No_of_inboard_blanket_modules_poloidally________________________________ (nblktmodpi)__________________ 7 diff --git a/tests/unit/test_blanket_library.py b/tests/unit/test_blanket_library.py index 26d56c291f..cdc1382108 100644 --- a/tests/unit/test_blanket_library.py +++ b/tests/unit/test_blanket_library.py @@ -33,7 +33,7 @@ class PrimaryCoolantPropertiesParam(NamedTuple): temp_fw_coolant_out: Any = None - fwpressure: Any = None + pres_fw_coolant: Any = None rhof_fw: Any = None @@ -87,7 +87,7 @@ class PrimaryCoolantPropertiesParam(NamedTuple): fwcoolant="helium", temp_fw_coolant_in=573, temp_fw_coolant_out=773, - fwpressure=8000000, + pres_fw_coolant=8000000, rhof_fw=0, cp_fw=0, cv_fw=0, @@ -115,7 +115,7 @@ class PrimaryCoolantPropertiesParam(NamedTuple): fwcoolant="helium", temp_fw_coolant_in=573, temp_fw_coolant_out=773, - fwpressure=8000000, + pres_fw_coolant=8000000, rhof_fw=5.6389735407435868, cp_fw=5188.5588430173211, cv_fw=3123.5687263525392, @@ -175,7 +175,7 @@ def test_primary_coolant_properties( ) monkeypatch.setattr( - fwbs_variables, "fwpressure", primarycoolantpropertiesparam.fwpressure + fwbs_variables, "pres_fw_coolant", primarycoolantpropertiesparam.pres_fw_coolant ) monkeypatch.setattr( diff --git a/tests/unit/test_fw.py b/tests/unit/test_fw.py index 98a71ac1d3..01f086acf1 100644 --- a/tests/unit/test_fw.py +++ b/tests/unit/test_fw.py @@ -23,7 +23,7 @@ class FwTempParam(NamedTuple): temp_fw_coolant_in: Any = None - fwpressure: Any = None + pres_fw_coolant: Any = None temp_fw_coolant_out: Any = None @@ -65,7 +65,7 @@ class FwTempParam(NamedTuple): fw_th_conductivity=28.34, fwcoolant="helium", temp_fw_coolant_in=573, - fwpressure=8000000, + pres_fw_coolant=8000000, temp_fw_coolant_out=773, pitch=0.005000000000000001, fw_channel_length=4, @@ -87,7 +87,7 @@ class FwTempParam(NamedTuple): fw_th_conductivity=28.34, fwcoolant="helium", temp_fw_coolant_in=573, - fwpressure=8000000, + pres_fw_coolant=8000000, temp_fw_coolant_out=773, pitch=0.005000000000000001, fw_channel_length=4, @@ -131,7 +131,7 @@ def test_fw_temp(fwtempparam, monkeypatch, fw): fwbs_variables, "temp_fw_coolant_in", fwtempparam.temp_fw_coolant_in ) - monkeypatch.setattr(fwbs_variables, "fwpressure", fwtempparam.fwpressure) + monkeypatch.setattr(fwbs_variables, "pres_fw_coolant", fwtempparam.pres_fw_coolant) monkeypatch.setattr( fwbs_variables, "temp_fw_coolant_out", fwtempparam.temp_fw_coolant_out From dcb42668540afa9ecc4cb1d62e460ca980bbdf07 Mon Sep 17 00:00:00 2001 From: mn3981 Date: Sun, 26 Jan 2025 17:11:23 +0000 Subject: [PATCH 07/21] =?UTF-8?q?=F0=9F=94=84=20Rename=20`fwareaib`=20to?= =?UTF-8?q?=20`a=5Ffw=5Finboard`=20for=20clarity=20and=20consistency=20acr?= =?UTF-8?q?oss=20the=20codebase?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- process/blanket_library.py | 10 ++++++---- process/build.py | 10 +++++----- process/dcll.py | 4 ++-- process/hcpb.py | 6 +++--- process/stellarator.py | 16 +++++++++------- source/fortran/build_variables.f90 | 6 +++--- tests/integration/ref_dicts.json | 6 +++--- tests/unit/test_ccfe_hcpb.py | 8 +++++--- tests/unit/test_dcll.py | 8 ++++---- 9 files changed, 40 insertions(+), 34 deletions(-) diff --git a/process/blanket_library.py b/process/blanket_library.py index b78cfc244a..19841e753a 100644 --- a/process/blanket_library.py +++ b/process/blanket_library.py @@ -755,7 +755,7 @@ def thermo_hydraulic_model_pressure_drop_calculations(self, output: bool): # FW Pipe Flow and Velocity ###### # Total number of first wall pipes from channel length and pitch (02/12/2015) - blanket_library.npfwi = build_variables.fwareaib / ( + blanket_library.npfwi = build_variables.a_fw_inboard / ( fwbs_variables.fw_channel_length * fwbs_variables.pitch ) blanket_library.npfwo = build_variables.fwareaob / ( @@ -1539,7 +1539,9 @@ def thermo_hydraulic_model(self, output: bool): ###################################################### # IB/OB FW (MW) blanket_library.pnucfwi = ( - fwbs_variables.pnucfw * build_variables.fwareaib / build_variables.fwarea + fwbs_variables.pnucfw + * build_variables.a_fw_inboard + / build_variables.fwarea ) blanket_library.pnucfwo = ( fwbs_variables.pnucfw * build_variables.fwareaob / build_variables.fwarea @@ -1647,7 +1649,7 @@ def thermo_hydraulic_model(self, output: bool): output, fwbs_variables.afw, build_variables.dr_fw_inboard, - build_variables.fwareaib, + build_variables.a_fw_inboard, fwbs_variables.psurffwi, blanket_library.pnucfwi, "Inboard first wall", @@ -1662,7 +1664,7 @@ def thermo_hydraulic_model(self, output: bool): # self.outfile, # fwbs_variables.afw, # build_variables.dr_fw_inboard, - # build_variables.fwareaib, + # build_variables.a_fw_inboard, # fwbs_variables.psurffwi, # blanket_library.pnucfwi, # "Inboard first wall", diff --git a/process/build.py b/process/build.py index d33b42d8f8..6a6cd9ebd9 100644 --- a/process/build.py +++ b/process/build.py @@ -2006,7 +2006,7 @@ def calculate_radial_build(self, output: bool) -> None: # as a test ( - build_variables.fwareaib, + build_variables.a_fw_inboard, build_variables.fwareaob, build_variables.fwarea, ) = maths_library.dshellarea(r1, r2, hfw) @@ -2043,7 +2043,7 @@ def calculate_radial_build(self, output: bool) -> None: # as a test ( - build_variables.fwareaib, + build_variables.a_fw_inboard, build_variables.fwareaob, build_variables.fwarea, ) = maths_library.eshellarea(r1, r2, r3, hfw) @@ -2055,7 +2055,7 @@ def calculate_radial_build(self, output: bool) -> None: build_variables.fwareaob = build_variables.fwareaob * ( 1.0e0 - 2.0e0 * fwbs_variables.fdiv - fwbs_variables.fhcd ) - build_variables.fwareaib = build_variables.fwareaib * ( + build_variables.a_fw_inboard = build_variables.a_fw_inboard * ( 1.0e0 - 2.0e0 * fwbs_variables.fdiv - fwbs_variables.fhcd ) else: @@ -2063,11 +2063,11 @@ def calculate_radial_build(self, output: bool) -> None: build_variables.fwareaob = build_variables.fwareaob * ( 1.0e0 - fwbs_variables.fdiv - fwbs_variables.fhcd ) - build_variables.fwareaib = build_variables.fwareaib * ( + build_variables.a_fw_inboard = build_variables.a_fw_inboard * ( 1.0e0 - fwbs_variables.fdiv - fwbs_variables.fhcd ) - build_variables.fwarea = build_variables.fwareaib + build_variables.fwareaob + build_variables.fwarea = build_variables.a_fw_inboard + build_variables.fwareaob if build_variables.fwareaob <= 0.0e0: error_handling.fdiags[0] = fwbs_variables.fdiv diff --git a/process/dcll.py b/process/dcll.py index 263a531446..26c18375a3 100644 --- a/process/dcll.py +++ b/process/dcll.py @@ -665,7 +665,7 @@ def dcll_masses(self, output: bool): # FW # First wall volume (m^3) fwbs_variables.volfw = ( - build_variables.fwareaib * build_variables.dr_fw_inboard + build_variables.a_fw_inboard * build_variables.dr_fw_inboard + build_variables.fwareaob * build_variables.dr_fw_outboard ) # First wall mass, excluding armour (kg) @@ -714,7 +714,7 @@ def dcll_masses(self, output: bool): * (fwbs_variables.volblkti / fwbs_variables.volblkt) + fwbs_variables.fwmass * ( - build_variables.fwareaib + build_variables.a_fw_inboard * build_variables.dr_fw_inboard / fwbs_variables.volfw ) diff --git a/process/hcpb.py b/process/hcpb.py index fdb6eae9a1..1574505b31 100644 --- a/process/hcpb.py +++ b/process/hcpb.py @@ -232,7 +232,7 @@ def component_masses(self): # First wall coolant volume (m3) coolvol = ( coolvol - + build_variables.fwareaib + + build_variables.a_fw_inboard * build_variables.dr_fw_inboard * fwbs_variables.vffwi + build_variables.fwareaob @@ -245,7 +245,7 @@ def component_masses(self): # Average first wall coolant fraction, only used by old routines in fispact.f90, safety.f90 fwbs_variables.fwclfr = ( - build_variables.fwareaib + build_variables.a_fw_inboard * build_variables.dr_fw_inboard * fwbs_variables.vffwi + build_variables.fwareaob @@ -294,7 +294,7 @@ def component_masses(self): # First wall volume (m^3) fwbs_variables.volfw = ( - build_variables.fwareaib + build_variables.a_fw_inboard * build_variables.dr_fw_inboard * (1.0 - fwbs_variables.vffwi) + build_variables.fwareaob diff --git a/process/stellarator.py b/process/stellarator.py index d549b477ef..d74cb65960 100644 --- a/process/stellarator.py +++ b/process/stellarator.py @@ -1112,7 +1112,7 @@ def stfwbs(self, output: bool): ) # First wall inboard, outboard areas (assume 50% of total each) - build_variables.fwareaib = 0.5e0 * build_variables.fwarea + build_variables.a_fw_inboard = 0.5e0 * build_variables.fwarea build_variables.fwareaob = 0.5e0 * build_variables.fwarea # Blanket volume; assume that its surface area is scaled directly from the @@ -1326,7 +1326,9 @@ def stfwbs(self, output: bool): # Split between inboard and outboard by first wall area fractions - pnucfwbsi = pnucfwbs * build_variables.fwareaib / build_variables.fwarea + pnucfwbsi = ( + pnucfwbs * build_variables.a_fw_inboard / build_variables.fwarea + ) pnucfwbso = pnucfwbs * build_variables.fwareaob / build_variables.fwarea # Radiation power incident on divertor (MW) @@ -1403,7 +1405,7 @@ def stfwbs(self, output: bool): psurffwi = ( fwbs_variables.pradfw - * build_variables.fwareaib + * build_variables.a_fw_inboard / build_variables.fwarea ) psurffwo = ( @@ -1506,7 +1508,7 @@ def stfwbs(self, output: bool): pnucbsi - pnucbzi + (fwbs_variables.pnucloss + fwbs_variables.pradloss) - * build_variables.fwareaib + * build_variables.a_fw_inboard / build_variables.fwarea ) pnucso = ( @@ -1766,7 +1768,7 @@ def stfwbs(self, output: bool): else: fwbs_variables.fwmass = fwbs_variables.denstl * ( - build_variables.fwareaib + build_variables.a_fw_inboard * build_variables.dr_fw_inboard * (1.0e0 - vffwi) + build_variables.fwareaob @@ -1775,7 +1777,7 @@ def stfwbs(self, output: bool): ) coolvol = ( coolvol - + build_variables.fwareaib * build_variables.dr_fw_inboard * vffwi + + build_variables.a_fw_inboard * build_variables.dr_fw_inboard * vffwi + build_variables.fwareaob * build_variables.dr_fw_outboard * vffwo ) @@ -1783,7 +1785,7 @@ def stfwbs(self, output: bool): # in fispact.f90, safety.f90 fwbs_variables.fwclfr = ( - build_variables.fwareaib * build_variables.dr_fw_inboard * vffwi + build_variables.a_fw_inboard * build_variables.dr_fw_inboard * vffwi + build_variables.fwareaob * build_variables.dr_fw_outboard * vffwo ) / ( build_variables.fwarea diff --git a/source/fortran/build_variables.f90 b/source/fortran/build_variables.f90 index 79c4e98322..ca37eb93c2 100644 --- a/source/fortran/build_variables.f90 +++ b/source/fortran/build_variables.f90 @@ -90,8 +90,8 @@ module build_variables real(dp) :: fwarea !! first wall total surface area (m2) - real(dp) :: fwareaib - !! inboard first wall surface area (m2) + real(dp) :: a_fw_inboard + !! Inboard first wall surface area [m^2] real(dp) :: fwareaob !! outboard first wall surface area (m2) @@ -325,7 +325,7 @@ subroutine init_build_variables fcspc = 0.6D0 fseppc = 3.5D8 fwarea = 0.0D0 - fwareaib = 0.0D0 + a_fw_inboard = 0.0D0 fwareaob = 0.0D0 dr_fw_inboard = 0.0D0 dr_fw_outboard = 0.0D0 diff --git a/tests/integration/ref_dicts.json b/tests/integration/ref_dicts.json index 9310871dc1..1164867bf3 100644 --- a/tests/integration/ref_dicts.json +++ b/tests/integration/ref_dicts.json @@ -2073,7 +2073,7 @@ "fwallcst": 0.0, "fwalld": 1.0, "fwarea": 0.0, - "fwareaib": 0.0, + "a_fw_inboard": 0.0, "fwareaob": 0.0, "fwbs_nref": 20000.0, "fwbs_nu": 40000.0, @@ -9665,7 +9665,7 @@ "fwallcst": "first wall cost (M$)", "fwalld": "f-value for maximum wall load (`constraint equation 8`, `iteration variable 14`)", "fwarea": "first wall total surface area (m2)", - "fwareaib": "inboard first wall surface area (m2)", + "a_fw_inboard": "inboard first wall surface area (m2)", "fwareaob": "outboard first wall surface area (m2)", "fwbs_nref": "Reference value for cycle life of blanket", "fwbs_nu": "The cycle when the blanket fails with 100% probability", @@ -17017,7 +17017,7 @@ "fcspc", "fseppc", "fwarea", - "fwareaib", + "a_fw_inboard", "fwareaob", "dr_fw_inboard", "dr_fw_outboard", diff --git a/tests/unit/test_ccfe_hcpb.py b/tests/unit/test_ccfe_hcpb.py index 4c9219f2cf..f79fffbbd3 100644 --- a/tests/unit/test_ccfe_hcpb.py +++ b/tests/unit/test_ccfe_hcpb.py @@ -1396,7 +1396,7 @@ class ComponentMassesParam(NamedTuple): blbuoth: Any = None blbmoth: Any = None blbpoth: Any = None - fwareaib: Any = None + a_fw_inboard: Any = None dr_fw_inboard: Any = None fwareaob: Any = None dr_fw_outboard: Any = None @@ -1487,7 +1487,7 @@ class ComponentMassesParam(NamedTuple): blbuoth=0.46500000000000002, blbmoth=0.27000000000000002, blbpoth=0.34999999999999998, - fwareaib=505.96109565204046, + a_fw_inboard=505.96109565204046, dr_fw_inboard=0.018000000000000002, fwareaob=838.00728058362097, dr_fw_outboard=0.018000000000000002, @@ -1593,7 +1593,9 @@ def test_component_masses(componentmassesparam, monkeypatch, ccfe_hcpb): monkeypatch.setattr(build_variables, "blbuoth", componentmassesparam.blbuoth) monkeypatch.setattr(build_variables, "blbmoth", componentmassesparam.blbmoth) monkeypatch.setattr(build_variables, "blbpoth", componentmassesparam.blbpoth) - monkeypatch.setattr(build_variables, "fwareaib", componentmassesparam.fwareaib) + monkeypatch.setattr( + build_variables, "a_fw_inboard", componentmassesparam.a_fw_inboard + ) monkeypatch.setattr( build_variables, "dr_fw_inboard", componentmassesparam.dr_fw_inboard ) diff --git a/tests/unit/test_dcll.py b/tests/unit/test_dcll.py index 1e2dd668af..2d1ec4adab 100644 --- a/tests/unit/test_dcll.py +++ b/tests/unit/test_dcll.py @@ -276,7 +276,7 @@ def test_dcll_neutronics_and_power(dcllneutronicsandpowerparam, monkeypatch, dcl class DcllMassesParam(NamedTuple): - fwareaib: Any = None + a_fw_inboard: Any = None dr_fw_inboard: Any = None @@ -515,7 +515,7 @@ class DcllMassesParam(NamedTuple): "dcllmassesparam", ( DcllMassesParam( - fwareaib=612.23369764444396, + a_fw_inboard=612.23369764444396, dr_fw_inboard=0.018000000000000002, fwareaob=988.92586580655245, dr_fw_outboard=0.018000000000000002, @@ -634,7 +634,7 @@ class DcllMassesParam(NamedTuple): expected_mass_segm_ob=162542.70811995145, ), DcllMassesParam( - fwareaib=723.16923304760132, + a_fw_inboard=723.16923304760132, dr_fw_inboard=0.018000000000000002, fwareaob=1168.1172772224481, dr_fw_outboard=0.018000000000000002, @@ -767,7 +767,7 @@ def test_dcll_masses(dcllmassesparam, monkeypatch, dcll): :type monkeypatch: _pytest.monkeypatch.monkeypatch """ - monkeypatch.setattr(build_variables, "fwareaib", dcllmassesparam.fwareaib) + monkeypatch.setattr(build_variables, "a_fw_inboard", dcllmassesparam.a_fw_inboard) monkeypatch.setattr(build_variables, "dr_fw_inboard", dcllmassesparam.dr_fw_inboard) From 7b27fc46b1d23801114e42f30ff7b21f4d32964a Mon Sep 17 00:00:00 2001 From: mn3981 Date: Sun, 26 Jan 2025 17:14:26 +0000 Subject: [PATCH 08/21] =?UTF-8?q?=F0=9F=94=84=20Rename=20`fwareaob`=20to?= =?UTF-8?q?=20`a=5Ffw=5Foutboard`=20for=20clarity=20and=20consistency=20ac?= =?UTF-8?q?ross=20the=20codebase?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- process/blanket_library.py | 10 ++++++---- process/build.py | 14 ++++++++------ process/dcll.py | 10 ++++++---- process/hcpb.py | 12 +++++++----- process/stellarator.py | 16 +++++++++------- source/fortran/build_variables.f90 | 4 ++-- tests/integration/ref_dicts.json | 6 +++--- tests/unit/test_ccfe_hcpb.py | 18 +++++++++++------- tests/unit/test_dcll.py | 16 ++++++++-------- 9 files changed, 60 insertions(+), 46 deletions(-) diff --git a/process/blanket_library.py b/process/blanket_library.py index 19841e753a..502ed7e4a7 100644 --- a/process/blanket_library.py +++ b/process/blanket_library.py @@ -758,7 +758,7 @@ def thermo_hydraulic_model_pressure_drop_calculations(self, output: bool): blanket_library.npfwi = build_variables.a_fw_inboard / ( fwbs_variables.fw_channel_length * fwbs_variables.pitch ) - blanket_library.npfwo = build_variables.fwareaob / ( + blanket_library.npfwo = build_variables.a_fw_outboard / ( fwbs_variables.fw_channel_length * fwbs_variables.pitch ) @@ -1544,7 +1544,9 @@ def thermo_hydraulic_model(self, output: bool): / build_variables.fwarea ) blanket_library.pnucfwo = ( - fwbs_variables.pnucfw * build_variables.fwareaob / build_variables.fwarea + fwbs_variables.pnucfw + * build_variables.a_fw_outboard + / build_variables.fwarea ) # IB/OB Blanket (MW) @@ -1673,7 +1675,7 @@ def thermo_hydraulic_model(self, output: bool): output, fwbs_variables.afw, build_variables.dr_fw_outboard, - build_variables.fwareaob, + build_variables.a_fw_outboard, fwbs_variables.psurffwo, blanket_library.pnucfwo, "Outboard first wall", @@ -1683,7 +1685,7 @@ def thermo_hydraulic_model(self, output: bool): # self.outfile, # fwbs_variables.afw, # build_variables.dr_fw_outboard, - # build_variables.fwareaob, + # build_variables.a_fw_outboard, # fwbs_variables.psurffwo, # blanket_library.pnucfwo, # "Outboard first wall", diff --git a/process/build.py b/process/build.py index 6a6cd9ebd9..916913ce35 100644 --- a/process/build.py +++ b/process/build.py @@ -2007,7 +2007,7 @@ def calculate_radial_build(self, output: bool) -> None: ( build_variables.a_fw_inboard, - build_variables.fwareaob, + build_variables.a_fw_outboard, build_variables.fwarea, ) = maths_library.dshellarea(r1, r2, hfw) @@ -2044,7 +2044,7 @@ def calculate_radial_build(self, output: bool) -> None: ( build_variables.a_fw_inboard, - build_variables.fwareaob, + build_variables.a_fw_outboard, build_variables.fwarea, ) = maths_library.eshellarea(r1, r2, r3, hfw) @@ -2052,7 +2052,7 @@ def calculate_radial_build(self, output: bool) -> None: if physics_variables.idivrt == 2: # Double null configuration - build_variables.fwareaob = build_variables.fwareaob * ( + build_variables.a_fw_outboard = build_variables.a_fw_outboard * ( 1.0e0 - 2.0e0 * fwbs_variables.fdiv - fwbs_variables.fhcd ) build_variables.a_fw_inboard = build_variables.a_fw_inboard * ( @@ -2060,16 +2060,18 @@ def calculate_radial_build(self, output: bool) -> None: ) else: # Single null configuration - build_variables.fwareaob = build_variables.fwareaob * ( + build_variables.a_fw_outboard = build_variables.a_fw_outboard * ( 1.0e0 - fwbs_variables.fdiv - fwbs_variables.fhcd ) build_variables.a_fw_inboard = build_variables.a_fw_inboard * ( 1.0e0 - fwbs_variables.fdiv - fwbs_variables.fhcd ) - build_variables.fwarea = build_variables.a_fw_inboard + build_variables.fwareaob + build_variables.fwarea = ( + build_variables.a_fw_inboard + build_variables.a_fw_outboard + ) - if build_variables.fwareaob <= 0.0e0: + if build_variables.a_fw_outboard <= 0.0e0: error_handling.fdiags[0] = fwbs_variables.fdiv error_handling.fdiags[1] = fwbs_variables.fhcd error_handling.report_error(61) diff --git a/process/dcll.py b/process/dcll.py index 26c18375a3..969129a6c3 100644 --- a/process/dcll.py +++ b/process/dcll.py @@ -196,12 +196,14 @@ def dcll_neutronics_and_power(self, output: bool): # Surface heat flux on first wall (MW) # All of the fast particle losses go to the outer wall. fwbs_variables.psurffwo = ( - fwbs_variables.pradfw * build_variables.fwareaob / build_variables.fwarea + fwbs_variables.pradfw + * build_variables.a_fw_outboard + / build_variables.fwarea + current_drive_variables.porbitlossmw + physics_variables.palpfwmw ) fwbs_variables.psurffwi = fwbs_variables.pradfw * ( - 1 - build_variables.fwareaob / build_variables.fwarea + 1 - build_variables.a_fw_outboard / build_variables.fwarea ) if output: @@ -666,7 +668,7 @@ def dcll_masses(self, output: bool): # First wall volume (m^3) fwbs_variables.volfw = ( build_variables.a_fw_inboard * build_variables.dr_fw_inboard - + build_variables.fwareaob * build_variables.dr_fw_outboard + + build_variables.a_fw_outboard * build_variables.dr_fw_outboard ) # First wall mass, excluding armour (kg) dcll_module.fwmass_stl = ( @@ -733,7 +735,7 @@ def dcll_masses(self, output: bool): fwbs_variables.whtblkt * (fwbs_variables.volblkto / fwbs_variables.volblkt) + fwbs_variables.fwmass * ( - build_variables.fwareaob + build_variables.a_fw_outboard * build_variables.dr_fw_outboard / fwbs_variables.volfw ) diff --git a/process/hcpb.py b/process/hcpb.py index 1574505b31..0cbbef964c 100644 --- a/process/hcpb.py +++ b/process/hcpb.py @@ -235,7 +235,7 @@ def component_masses(self): + build_variables.a_fw_inboard * build_variables.dr_fw_inboard * fwbs_variables.vffwi - + build_variables.fwareaob + + build_variables.a_fw_outboard * build_variables.dr_fw_outboard * fwbs_variables.vffwo ) @@ -248,7 +248,7 @@ def component_masses(self): build_variables.a_fw_inboard * build_variables.dr_fw_inboard * fwbs_variables.vffwi - + build_variables.fwareaob + + build_variables.a_fw_outboard * build_variables.dr_fw_outboard * fwbs_variables.vffwo ) / ( @@ -297,7 +297,7 @@ def component_masses(self): build_variables.a_fw_inboard * build_variables.dr_fw_inboard * (1.0 - fwbs_variables.vffwi) - + build_variables.fwareaob + + build_variables.a_fw_outboard * build_variables.dr_fw_outboard * (1.0 - fwbs_variables.vffwo) ) @@ -682,12 +682,14 @@ def powerflow_calc(self, output: bool): # Surface heat flux on first wall (outboard and inboard) (MW) # All of the fast particle losses go to the outer wall. fwbs_variables.psurffwo = ( - fwbs_variables.pradfw * build_variables.fwareaob / build_variables.fwarea + fwbs_variables.pradfw + * build_variables.a_fw_outboard + / build_variables.fwarea + current_drive_variables.porbitlossmw + physics_variables.palpfwmw ) fwbs_variables.psurffwi = fwbs_variables.pradfw * ( - 1 - build_variables.fwareaob / build_variables.fwarea + 1 - build_variables.a_fw_outboard / build_variables.fwarea ) # primary_pumping == 0 diff --git a/process/stellarator.py b/process/stellarator.py index d74cb65960..0904aac7eb 100644 --- a/process/stellarator.py +++ b/process/stellarator.py @@ -1113,7 +1113,7 @@ def stfwbs(self, output: bool): # First wall inboard, outboard areas (assume 50% of total each) build_variables.a_fw_inboard = 0.5e0 * build_variables.fwarea - build_variables.fwareaob = 0.5e0 * build_variables.fwarea + build_variables.a_fw_outboard = 0.5e0 * build_variables.fwarea # Blanket volume; assume that its surface area is scaled directly from the # plasma surface area. @@ -1329,7 +1329,9 @@ def stfwbs(self, output: bool): pnucfwbsi = ( pnucfwbs * build_variables.a_fw_inboard / build_variables.fwarea ) - pnucfwbso = pnucfwbs * build_variables.fwareaob / build_variables.fwarea + pnucfwbso = ( + pnucfwbs * build_variables.a_fw_outboard / build_variables.fwarea + ) # Radiation power incident on divertor (MW) @@ -1410,7 +1412,7 @@ def stfwbs(self, output: bool): ) psurffwo = ( fwbs_variables.pradfw - * build_variables.fwareaob + * build_variables.a_fw_outboard / build_variables.fwarea ) @@ -1515,7 +1517,7 @@ def stfwbs(self, output: bool): pnucbso - pnucbzo + (fwbs_variables.pnucloss + fwbs_variables.pradloss) - * build_variables.fwareaob + * build_variables.a_fw_outboard / build_variables.fwarea ) @@ -1771,14 +1773,14 @@ def stfwbs(self, output: bool): build_variables.a_fw_inboard * build_variables.dr_fw_inboard * (1.0e0 - vffwi) - + build_variables.fwareaob + + build_variables.a_fw_outboard * build_variables.dr_fw_outboard * (1.0e0 - vffwo) ) coolvol = ( coolvol + build_variables.a_fw_inboard * build_variables.dr_fw_inboard * vffwi - + build_variables.fwareaob * build_variables.dr_fw_outboard * vffwo + + build_variables.a_fw_outboard * build_variables.dr_fw_outboard * vffwo ) # Average first wall coolant fraction, only used by old routines @@ -1786,7 +1788,7 @@ def stfwbs(self, output: bool): fwbs_variables.fwclfr = ( build_variables.a_fw_inboard * build_variables.dr_fw_inboard * vffwi - + build_variables.fwareaob * build_variables.dr_fw_outboard * vffwo + + build_variables.a_fw_outboard * build_variables.dr_fw_outboard * vffwo ) / ( build_variables.fwarea * 0.5e0 diff --git a/source/fortran/build_variables.f90 b/source/fortran/build_variables.f90 index ca37eb93c2..d91071485b 100644 --- a/source/fortran/build_variables.f90 +++ b/source/fortran/build_variables.f90 @@ -93,7 +93,7 @@ module build_variables real(dp) :: a_fw_inboard !! Inboard first wall surface area [m^2] - real(dp) :: fwareaob + real(dp) :: a_fw_outboard !! outboard first wall surface area (m2) real(dp) :: dr_fw_inboard @@ -326,7 +326,7 @@ subroutine init_build_variables fseppc = 3.5D8 fwarea = 0.0D0 a_fw_inboard = 0.0D0 - fwareaob = 0.0D0 + a_fw_outboard = 0.0D0 dr_fw_inboard = 0.0D0 dr_fw_outboard = 0.0D0 dr_shld_vv_gap_inboard = 0.155D0 diff --git a/tests/integration/ref_dicts.json b/tests/integration/ref_dicts.json index 1164867bf3..196a521b50 100644 --- a/tests/integration/ref_dicts.json +++ b/tests/integration/ref_dicts.json @@ -2074,7 +2074,7 @@ "fwalld": 1.0, "fwarea": 0.0, "a_fw_inboard": 0.0, - "fwareaob": 0.0, + "a_fw_outboard": 0.0, "fwbs_nref": 20000.0, "fwbs_nu": 40000.0, "fwbs_prob_fail": 0.0002, @@ -9666,7 +9666,7 @@ "fwalld": "f-value for maximum wall load (`constraint equation 8`, `iteration variable 14`)", "fwarea": "first wall total surface area (m2)", "a_fw_inboard": "inboard first wall surface area (m2)", - "fwareaob": "outboard first wall surface area (m2)", + "a_fw_outboard": "outboard first wall surface area (m2)", "fwbs_nref": "Reference value for cycle life of blanket", "fwbs_nu": "The cycle when the blanket fails with 100% probability", "fwbs_prob_fail": "Fwbs probability of failure (per op day)", @@ -17018,7 +17018,7 @@ "fseppc", "fwarea", "a_fw_inboard", - "fwareaob", + "a_fw_outboard", "dr_fw_inboard", "dr_fw_outboard", "dr_shld_vv_gap_inboard", diff --git a/tests/unit/test_ccfe_hcpb.py b/tests/unit/test_ccfe_hcpb.py index f79fffbbd3..274f41e29c 100644 --- a/tests/unit/test_ccfe_hcpb.py +++ b/tests/unit/test_ccfe_hcpb.py @@ -760,7 +760,7 @@ def test_nuclear_heating_divertor(nuclearheatingdivertorparam, monkeypatch, ccfe class PowerflowCalcParam(NamedTuple): - fwareaob: Any = None + a_fw_outboard: Any = None fwarea: Any = None @@ -859,7 +859,7 @@ class PowerflowCalcParam(NamedTuple): "powerflowcalcparam", ( PowerflowCalcParam( - fwareaob=988.92586580655245, + a_fw_outboard=988.92586580655245, fwarea=1601.1595634509963, porbitlossmw=0, fdiv=0.115, @@ -908,7 +908,7 @@ class PowerflowCalcParam(NamedTuple): expected_htpmw_fw_blkt=202.00455086503842, ), PowerflowCalcParam( - fwareaob=1168.1172772224481, + a_fw_outboard=1168.1172772224481, fwarea=1891.2865102700493, porbitlossmw=0, fdiv=0.115, @@ -971,7 +971,9 @@ def test_powerflow_calc(powerflowcalcparam, monkeypatch, ccfe_hcpb): :type monkeypatch: _pytest.monkeypatch.monkeypatch """ - monkeypatch.setattr(build_variables, "fwareaob", powerflowcalcparam.fwareaob) + monkeypatch.setattr( + build_variables, "a_fw_outboard", powerflowcalcparam.a_fw_outboard + ) monkeypatch.setattr(build_variables, "fwarea", powerflowcalcparam.fwarea) @@ -1398,7 +1400,7 @@ class ComponentMassesParam(NamedTuple): blbpoth: Any = None a_fw_inboard: Any = None dr_fw_inboard: Any = None - fwareaob: Any = None + a_fw_outboard: Any = None dr_fw_outboard: Any = None fwarea: Any = None volblkt: Any = None @@ -1489,7 +1491,7 @@ class ComponentMassesParam(NamedTuple): blbpoth=0.34999999999999998, a_fw_inboard=505.96109565204046, dr_fw_inboard=0.018000000000000002, - fwareaob=838.00728058362097, + a_fw_outboard=838.00728058362097, dr_fw_outboard=0.018000000000000002, fwarea=1343.9683762356615, volblkt=1182.5433772195902, @@ -1599,7 +1601,9 @@ def test_component_masses(componentmassesparam, monkeypatch, ccfe_hcpb): monkeypatch.setattr( build_variables, "dr_fw_inboard", componentmassesparam.dr_fw_inboard ) - monkeypatch.setattr(build_variables, "fwareaob", componentmassesparam.fwareaob) + monkeypatch.setattr( + build_variables, "a_fw_outboard", componentmassesparam.a_fw_outboard + ) monkeypatch.setattr( build_variables, "dr_fw_outboard", componentmassesparam.dr_fw_outboard ) diff --git a/tests/unit/test_dcll.py b/tests/unit/test_dcll.py index 2d1ec4adab..7f2f5d997a 100644 --- a/tests/unit/test_dcll.py +++ b/tests/unit/test_dcll.py @@ -25,7 +25,7 @@ def dcll(): class DcllNeutronicsAndPowerParam(NamedTuple): - fwareaob: Any = None + a_fw_outboard: Any = None fwarea: Any = None @@ -90,7 +90,7 @@ class DcllNeutronicsAndPowerParam(NamedTuple): "dcllneutronicsandpowerparam", ( DcllNeutronicsAndPowerParam( - fwareaob=988.92586580655245, + a_fw_outboard=988.92586580655245, fwarea=1601.1595634509963, porbitlossmw=0, fdiv=0.115, @@ -122,7 +122,7 @@ class DcllNeutronicsAndPowerParam(NamedTuple): expected_emultmw=325.06710220789364, ), DcllNeutronicsAndPowerParam( - fwareaob=1168.1172772224481, + a_fw_outboard=1168.1172772224481, fwarea=1891.2865102700493, porbitlossmw=0, fdiv=0.115, @@ -169,7 +169,7 @@ def test_dcll_neutronics_and_power(dcllneutronicsandpowerparam, monkeypatch, dcl """ monkeypatch.setattr( - build_variables, "fwareaob", dcllneutronicsandpowerparam.fwareaob + build_variables, "a_fw_outboard", dcllneutronicsandpowerparam.a_fw_outboard ) monkeypatch.setattr(build_variables, "fwarea", dcllneutronicsandpowerparam.fwarea) @@ -280,7 +280,7 @@ class DcllMassesParam(NamedTuple): dr_fw_inboard: Any = None - fwareaob: Any = None + a_fw_outboard: Any = None dr_fw_outboard: Any = None @@ -517,7 +517,7 @@ class DcllMassesParam(NamedTuple): DcllMassesParam( a_fw_inboard=612.23369764444396, dr_fw_inboard=0.018000000000000002, - fwareaob=988.92586580655245, + a_fw_outboard=988.92586580655245, dr_fw_outboard=0.018000000000000002, dr_blkt_inboard=0.75500000000000012, blbuith=0.36499999999999999, @@ -636,7 +636,7 @@ class DcllMassesParam(NamedTuple): DcllMassesParam( a_fw_inboard=723.16923304760132, dr_fw_inboard=0.018000000000000002, - fwareaob=1168.1172772224481, + a_fw_outboard=1168.1172772224481, dr_fw_outboard=0.018000000000000002, dr_blkt_inboard=0.75500000000000012, blbuith=0.36499999999999999, @@ -771,7 +771,7 @@ def test_dcll_masses(dcllmassesparam, monkeypatch, dcll): monkeypatch.setattr(build_variables, "dr_fw_inboard", dcllmassesparam.dr_fw_inboard) - monkeypatch.setattr(build_variables, "fwareaob", dcllmassesparam.fwareaob) + monkeypatch.setattr(build_variables, "a_fw_outboard", dcllmassesparam.a_fw_outboard) monkeypatch.setattr( build_variables, "dr_fw_outboard", dcllmassesparam.dr_fw_outboard From 748d73e4303c896d06b021fe9497ebdea6183615 Mon Sep 17 00:00:00 2001 From: mn3981 Date: Sun, 26 Jan 2025 17:18:03 +0000 Subject: [PATCH 09/21] =?UTF-8?q?=F0=9F=94=84=20Rename=20`fwarea`=20to=20`?= =?UTF-8?q?a=5Ffw=5Ftotal`=20for=20clarity=20and=20consistency=20across=20?= =?UTF-8?q?the=20codebase?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../data/csv_output_large_tokamak_MFILE.DAT | 2 +- examples/data/large_tokamak_1_MFILE.DAT | 2 +- examples/data/large_tokamak_2_MFILE.DAT | 2 +- examples/data/large_tokamak_3_MFILE.DAT | 2 +- examples/data/large_tokamak_4_MFILE.DAT | 2 +- examples/data/scan_MFILE.DAT | 18 +++---- process/blanket_library.py | 4 +- process/build.py | 8 +-- process/costs.py | 2 +- process/costs_2015.py | 2 +- process/dcll.py | 4 +- process/hcpb.py | 6 +-- process/ife.py | 26 ++++----- process/io/mfile_comparison.py | 2 +- process/physics.py | 16 +++--- process/stellarator.py | 49 +++++++++-------- source/fortran/build_variables.f90 | 8 +-- .../data/large_tokamak_1_MFILE.DAT | 2 +- .../data/large_tokamak_2_MFILE.DAT | 2 +- .../data/large_tokamak_3_MFILE.DAT | 2 +- .../data/large_tokamak_4_MFILE.DAT | 2 +- .../integration/data/large_tokamak_MFILE.DAT | 2 +- tests/integration/data/scan_2D_MFILE.DAT | 30 +++++------ tests/integration/data/scan_MFILE.DAT | 18 +++---- tests/integration/ref_dicts.json | 6 +-- tests/unit/data/large_tokamak_MFILE.DAT | 2 +- tests/unit/test_ccfe_hcpb.py | 14 ++--- tests/unit/test_costs_1990.py | 8 +-- tests/unit/test_dcll.py | 10 ++-- tests/unit/test_ife.py | 54 +++++++++---------- tests/unit/test_stellarator.py | 16 +++--- 31 files changed, 165 insertions(+), 158 deletions(-) diff --git a/examples/data/csv_output_large_tokamak_MFILE.DAT b/examples/data/csv_output_large_tokamak_MFILE.DAT index b7f888155b..1ba15e8bb6 100644 --- a/examples/data/csv_output_large_tokamak_MFILE.DAT +++ b/examples/data/csv_output_large_tokamak_MFILE.DAT @@ -991,7 +991,7 @@ No_of_outboard_blanket_modules_poloidally_______________________________ (nblktmodpo)__________________ 8 No_of_outboard_blanket_modules_toroidally_______________________________ (nblktmodto)__________________ 48 Isentropic_efficiency_of_first_wall_/_blanket_coolant_pumps_____________ (etaiso)______________________ 9.0000E-01 - First_wall_area_(m2)____________________________________________________ (fwarea)______________________ 1.6044E+03 OP + First_wall_area_(m2)____________________________________________________ (a_fw_total)______________________ 1.6044E+03 OP Cryostat_internal_radius_(m)____________________________________________ (r_cryostat_inboard)______________________ 1.7769E+01 OP Cryostat_internal_half-height_(m)_______________________________________ (z_cryostat_half_inside)______________________ 1.5292E+01 OP Vertical_clearance_from_TF_coil_to_cryostat_(m)_________________________ (dz_tf_cryostat)________________________ 5.6091E+00 OP diff --git a/examples/data/large_tokamak_1_MFILE.DAT b/examples/data/large_tokamak_1_MFILE.DAT index 45a87783c2..895bdaebfc 100644 --- a/examples/data/large_tokamak_1_MFILE.DAT +++ b/examples/data/large_tokamak_1_MFILE.DAT @@ -986,7 +986,7 @@ No_of_outboard_blanket_modules_poloidally_______________________________ (nblktmodpo)__________________ 8 No_of_outboard_blanket_modules_toroidally_______________________________ (nblktmodto)__________________ 48 Isentropic_efficiency_of_first_wall_/_blanket_coolant_pumps_____________ (etaiso)______________________ 9.0000E-01 - First_wall_area_(m2)____________________________________________________ (fwarea)______________________ 1.6044E+03 OP + First_wall_area_(m2)____________________________________________________ (a_fw_total)______________________ 1.6044E+03 OP Cryostat_internal_radius_(m)____________________________________________ (r_cryostat_inboard)______________________ 1.7798E+01 OP Cryostat_internal_half-height_(m)_______________________________________ (z_cryostat_half_inside)______________________ 1.5339E+01 OP Vertical_clearance_from_TF_coil_to_cryostat_(m)_________________________ (dz_tf_cryostat)________________________ 5.6044E+00 OP diff --git a/examples/data/large_tokamak_2_MFILE.DAT b/examples/data/large_tokamak_2_MFILE.DAT index 06b73b3367..4a7a59cbf8 100644 --- a/examples/data/large_tokamak_2_MFILE.DAT +++ b/examples/data/large_tokamak_2_MFILE.DAT @@ -986,7 +986,7 @@ No_of_outboard_blanket_modules_poloidally_______________________________ (nblktmodpo)__________________ 8 No_of_outboard_blanket_modules_toroidally_______________________________ (nblktmodto)__________________ 48 Isentropic_efficiency_of_first_wall_/_blanket_coolant_pumps_____________ (etaiso)______________________ 9.0000E-01 - First_wall_area_(m2)____________________________________________________ (fwarea)______________________ 1.6044E+03 OP + First_wall_area_(m2)____________________________________________________ (a_fw_total)______________________ 1.6044E+03 OP Cryostat_internal_radius_(m)____________________________________________ (r_cryostat_inboard)______________________ 1.7798E+01 OP Cryostat_internal_half-height_(m)_______________________________________ (z_cryostat_half_inside)______________________ 1.5339E+01 OP Vertical_clearance_from_TF_coil_to_cryostat_(m)_________________________ (dz_tf_cryostat)________________________ 5.6044E+00 OP diff --git a/examples/data/large_tokamak_3_MFILE.DAT b/examples/data/large_tokamak_3_MFILE.DAT index c5a05f639f..e17a2fd38f 100644 --- a/examples/data/large_tokamak_3_MFILE.DAT +++ b/examples/data/large_tokamak_3_MFILE.DAT @@ -986,7 +986,7 @@ No_of_outboard_blanket_modules_poloidally_______________________________ (nblktmodpo)__________________ 8 No_of_outboard_blanket_modules_toroidally_______________________________ (nblktmodto)__________________ 48 Isentropic_efficiency_of_first_wall_/_blanket_coolant_pumps_____________ (etaiso)______________________ 9.0000E-01 - First_wall_area_(m2)____________________________________________________ (fwarea)______________________ 1.6044E+03 OP + First_wall_area_(m2)____________________________________________________ (a_fw_total)______________________ 1.6044E+03 OP Cryostat_internal_radius_(m)____________________________________________ (r_cryostat_inboard)______________________ 1.7798E+01 OP Cryostat_internal_half-height_(m)_______________________________________ (z_cryostat_half_inside)______________________ 1.5339E+01 OP Vertical_clearance_from_TF_coil_to_cryostat_(m)_________________________ (dz_tf_cryostat)________________________ 5.6044E+00 OP diff --git a/examples/data/large_tokamak_4_MFILE.DAT b/examples/data/large_tokamak_4_MFILE.DAT index 4cf53c2ad2..22fa6f150c 100644 --- a/examples/data/large_tokamak_4_MFILE.DAT +++ b/examples/data/large_tokamak_4_MFILE.DAT @@ -986,7 +986,7 @@ No_of_outboard_blanket_modules_poloidally_______________________________ (nblktmodpo)__________________ 8 No_of_outboard_blanket_modules_toroidally_______________________________ (nblktmodto)__________________ 48 Isentropic_efficiency_of_first_wall_/_blanket_coolant_pumps_____________ (etaiso)______________________ 9.0000E-01 - First_wall_area_(m2)____________________________________________________ (fwarea)______________________ 1.6044E+03 OP + First_wall_area_(m2)____________________________________________________ (a_fw_total)______________________ 1.6044E+03 OP Cryostat_internal_radius_(m)____________________________________________ (r_cryostat_inboard)______________________ 1.7798E+01 OP Cryostat_internal_half-height_(m)_______________________________________ (z_cryostat_half_inside)______________________ 1.5339E+01 OP Vertical_clearance_from_TF_coil_to_cryostat_(m)_________________________ (dz_tf_cryostat)________________________ 5.6044E+00 OP diff --git a/examples/data/scan_MFILE.DAT b/examples/data/scan_MFILE.DAT index 25fcb025f0..bd8e9075ff 100644 --- a/examples/data/scan_MFILE.DAT +++ b/examples/data/scan_MFILE.DAT @@ -815,7 +815,7 @@ No_of_outboard_blanket_modules_poloidally_______________________________ (nblktmodpo)__________________ 8 No_of_outboard_blanket_modules_toroidally_______________________________ (nblktmodto)__________________ 48 Isentropic_efficiency_of_first_wall_/_blanket_coolant_pumps_____________ (etaiso)______________________ 9.0000E-01 - First_wall_area_(m2)____________________________________________________ (fwarea)______________________ 2.0043E+03 OP + First_wall_area_(m2)____________________________________________________ (a_fw_total)______________________ 2.0043E+03 OP Cryostat_internal_radius_(m)____________________________________________ (r_cryostat_inboard)______________________ 2.0115E+01 OP Cryostat_internal_half-height_(m)_______________________________________ (z_cryostat_half_inside)______________________ 1.6623E+01 OP Vertical_clearance_from_TF_coil_to_cryostat_(m)_________________________ (dz_tf_cryostat)________________________ 5.9786E+00 OP @@ -1810,7 +1810,7 @@ No_of_outboard_blanket_modules_poloidally_______________________________ (nblktmodpo)__________________ 8 No_of_outboard_blanket_modules_toroidally_______________________________ (nblktmodto)__________________ 48 Isentropic_efficiency_of_first_wall_/_blanket_coolant_pumps_____________ (etaiso)______________________ 9.0000E-01 - First_wall_area_(m2)____________________________________________________ (fwarea)______________________ 2.0043E+03 OP + First_wall_area_(m2)____________________________________________________ (a_fw_total)______________________ 2.0043E+03 OP Cryostat_internal_radius_(m)____________________________________________ (r_cryostat_inboard)______________________ 2.0115E+01 OP Cryostat_internal_half-height_(m)_______________________________________ (z_cryostat_half_inside)______________________ 1.6623E+01 OP Vertical_clearance_from_TF_coil_to_cryostat_(m)_________________________ (dz_tf_cryostat)________________________ 5.9786E+00 OP @@ -2805,7 +2805,7 @@ No_of_outboard_blanket_modules_poloidally_______________________________ (nblktmodpo)__________________ 8 No_of_outboard_blanket_modules_toroidally_______________________________ (nblktmodto)__________________ 48 Isentropic_efficiency_of_first_wall_/_blanket_coolant_pumps_____________ (etaiso)______________________ 9.0000E-01 - First_wall_area_(m2)____________________________________________________ (fwarea)______________________ 2.0043E+03 OP + First_wall_area_(m2)____________________________________________________ (a_fw_total)______________________ 2.0043E+03 OP Cryostat_internal_radius_(m)____________________________________________ (r_cryostat_inboard)______________________ 2.0115E+01 OP Cryostat_internal_half-height_(m)_______________________________________ (z_cryostat_half_inside)______________________ 1.6623E+01 OP Vertical_clearance_from_TF_coil_to_cryostat_(m)_________________________ (dz_tf_cryostat)________________________ 5.9786E+00 OP @@ -3800,7 +3800,7 @@ No_of_outboard_blanket_modules_poloidally_______________________________ (nblktmodpo)__________________ 8 No_of_outboard_blanket_modules_toroidally_______________________________ (nblktmodto)__________________ 48 Isentropic_efficiency_of_first_wall_/_blanket_coolant_pumps_____________ (etaiso)______________________ 9.0000E-01 - First_wall_area_(m2)____________________________________________________ (fwarea)______________________ 2.0043E+03 OP + First_wall_area_(m2)____________________________________________________ (a_fw_total)______________________ 2.0043E+03 OP Cryostat_internal_radius_(m)____________________________________________ (r_cryostat_inboard)______________________ 2.0115E+01 OP Cryostat_internal_half-height_(m)_______________________________________ (z_cryostat_half_inside)______________________ 1.6623E+01 OP Vertical_clearance_from_TF_coil_to_cryostat_(m)_________________________ (dz_tf_cryostat)________________________ 5.9786E+00 OP @@ -4795,7 +4795,7 @@ No_of_outboard_blanket_modules_poloidally_______________________________ (nblktmodpo)__________________ 8 No_of_outboard_blanket_modules_toroidally_______________________________ (nblktmodto)__________________ 48 Isentropic_efficiency_of_first_wall_/_blanket_coolant_pumps_____________ (etaiso)______________________ 9.0000E-01 - First_wall_area_(m2)____________________________________________________ (fwarea)______________________ 2.0043E+03 OP + First_wall_area_(m2)____________________________________________________ (a_fw_total)______________________ 2.0043E+03 OP Cryostat_internal_radius_(m)____________________________________________ (r_cryostat_inboard)______________________ 2.0115E+01 OP Cryostat_internal_half-height_(m)_______________________________________ (z_cryostat_half_inside)______________________ 1.6623E+01 OP Vertical_clearance_from_TF_coil_to_cryostat_(m)_________________________ (dz_tf_cryostat)________________________ 5.9786E+00 OP @@ -5790,7 +5790,7 @@ No_of_outboard_blanket_modules_poloidally_______________________________ (nblktmodpo)__________________ 8 No_of_outboard_blanket_modules_toroidally_______________________________ (nblktmodto)__________________ 48 Isentropic_efficiency_of_first_wall_/_blanket_coolant_pumps_____________ (etaiso)______________________ 9.0000E-01 - First_wall_area_(m2)____________________________________________________ (fwarea)______________________ 2.0043E+03 OP + First_wall_area_(m2)____________________________________________________ (a_fw_total)______________________ 2.0043E+03 OP Cryostat_internal_radius_(m)____________________________________________ (r_cryostat_inboard)______________________ 2.0115E+01 OP Cryostat_internal_half-height_(m)_______________________________________ (z_cryostat_half_inside)______________________ 1.6623E+01 OP Vertical_clearance_from_TF_coil_to_cryostat_(m)_________________________ (dz_tf_cryostat)________________________ 5.9786E+00 OP @@ -6785,7 +6785,7 @@ No_of_outboard_blanket_modules_poloidally_______________________________ (nblktmodpo)__________________ 8 No_of_outboard_blanket_modules_toroidally_______________________________ (nblktmodto)__________________ 48 Isentropic_efficiency_of_first_wall_/_blanket_coolant_pumps_____________ (etaiso)______________________ 9.0000E-01 - First_wall_area_(m2)____________________________________________________ (fwarea)______________________ 2.0043E+03 OP + First_wall_area_(m2)____________________________________________________ (a_fw_total)______________________ 2.0043E+03 OP Cryostat_internal_radius_(m)____________________________________________ (r_cryostat_inboard)______________________ 2.0115E+01 OP Cryostat_internal_half-height_(m)_______________________________________ (z_cryostat_half_inside)______________________ 1.6623E+01 OP Vertical_clearance_from_TF_coil_to_cryostat_(m)_________________________ (dz_tf_cryostat)________________________ 5.9786E+00 OP @@ -7780,7 +7780,7 @@ No_of_outboard_blanket_modules_poloidally_______________________________ (nblktmodpo)__________________ 8 No_of_outboard_blanket_modules_toroidally_______________________________ (nblktmodto)__________________ 48 Isentropic_efficiency_of_first_wall_/_blanket_coolant_pumps_____________ (etaiso)______________________ 9.0000E-01 - First_wall_area_(m2)____________________________________________________ (fwarea)______________________ 2.0043E+03 OP + First_wall_area_(m2)____________________________________________________ (a_fw_total)______________________ 2.0043E+03 OP Cryostat_internal_radius_(m)____________________________________________ (r_cryostat_inboard)______________________ 2.0115E+01 OP Cryostat_internal_half-height_(m)_______________________________________ (z_cryostat_half_inside)______________________ 1.6623E+01 OP Vertical_clearance_from_TF_coil_to_cryostat_(m)_________________________ (dz_tf_cryostat)________________________ 5.9786E+00 OP @@ -8775,7 +8775,7 @@ No_of_outboard_blanket_modules_poloidally_______________________________ (nblktmodpo)__________________ 8 No_of_outboard_blanket_modules_toroidally_______________________________ (nblktmodto)__________________ 48 Isentropic_efficiency_of_first_wall_/_blanket_coolant_pumps_____________ (etaiso)______________________ 9.0000E-01 - First_wall_area_(m2)____________________________________________________ (fwarea)______________________ 2.0043E+03 OP + First_wall_area_(m2)____________________________________________________ (a_fw_total)______________________ 2.0043E+03 OP Cryostat_internal_radius_(m)____________________________________________ (r_cryostat_inboard)______________________ 2.0115E+01 OP Cryostat_internal_half-height_(m)_______________________________________ (z_cryostat_half_inside)______________________ 1.6623E+01 OP Vertical_clearance_from_TF_coil_to_cryostat_(m)_________________________ (dz_tf_cryostat)________________________ 5.9786E+00 OP diff --git a/process/blanket_library.py b/process/blanket_library.py index 502ed7e4a7..4f7cb3cc2e 100644 --- a/process/blanket_library.py +++ b/process/blanket_library.py @@ -1541,12 +1541,12 @@ def thermo_hydraulic_model(self, output: bool): blanket_library.pnucfwi = ( fwbs_variables.pnucfw * build_variables.a_fw_inboard - / build_variables.fwarea + / build_variables.a_fw_total ) blanket_library.pnucfwo = ( fwbs_variables.pnucfw * build_variables.a_fw_outboard - / build_variables.fwarea + / build_variables.a_fw_total ) # IB/OB Blanket (MW) diff --git a/process/build.py b/process/build.py index 916913ce35..2705916ef4 100644 --- a/process/build.py +++ b/process/build.py @@ -1962,7 +1962,7 @@ def calculate_radial_build(self, output: bool) -> None: # Calculate first wall area # Old calculation... includes a mysterious factor 0.875 - # fwarea = 0.875e0 * # ( 4.0e0*pi**2*sf*physics_variables.rmajor*(physics_variables.rminor+0.5e0*(build_variables.dr_fw_plasma_gap_inboard+build_variables.dr_fw_plasma_gap_outboard)) ) + # a_fw_total = 0.875e0 * # ( 4.0e0*pi**2*sf*physics_variables.rmajor*(physics_variables.rminor+0.5e0*(build_variables.dr_fw_plasma_gap_inboard+build_variables.dr_fw_plasma_gap_outboard)) ) # Half-height of first wall (internal surface) hbot = ( @@ -2008,7 +2008,7 @@ def calculate_radial_build(self, output: bool) -> None: ( build_variables.a_fw_inboard, build_variables.a_fw_outboard, - build_variables.fwarea, + build_variables.a_fw_total, ) = maths_library.dshellarea(r1, r2, hfw) else: # Cross-section is assumed to be defined by two ellipses @@ -2045,7 +2045,7 @@ def calculate_radial_build(self, output: bool) -> None: ( build_variables.a_fw_inboard, build_variables.a_fw_outboard, - build_variables.fwarea, + build_variables.a_fw_total, ) = maths_library.eshellarea(r1, r2, r3, hfw) # Apply area coverage factor @@ -2067,7 +2067,7 @@ def calculate_radial_build(self, output: bool) -> None: 1.0e0 - fwbs_variables.fdiv - fwbs_variables.fhcd ) - build_variables.fwarea = ( + build_variables.a_fw_total = ( build_variables.a_fw_inboard + build_variables.a_fw_outboard ) diff --git a/process/costs.py b/process/costs.py index cee3073491..3d9ef0a363 100644 --- a/process/costs.py +++ b/process/costs.py @@ -1138,7 +1138,7 @@ def acc2211(self): * cmlsa[cost_variables.lsa - 1] * ( (cost_variables.ucfwa + cost_variables.ucfws) - * build_variables.fwarea + * build_variables.a_fw_total + cost_variables.ucfwps ) ) diff --git a/process/costs_2015.py b/process/costs_2015.py index 00d90d687c..aee9e097aa 100644 --- a/process/costs_2015.py +++ b/process/costs_2015.py @@ -344,7 +344,7 @@ def calc_fwbs_costs(self): self.s_cref[24] = 25.0e6 # First wall W coating mass (kg) self.s_k[24] = ( - build_variables.fwarea + build_variables.a_fw_total * fwbs_variables.fw_armour_thickness * constants.den_tungsten ) diff --git a/process/dcll.py b/process/dcll.py index 969129a6c3..c33ff7f5fa 100644 --- a/process/dcll.py +++ b/process/dcll.py @@ -198,12 +198,12 @@ def dcll_neutronics_and_power(self, output: bool): fwbs_variables.psurffwo = ( fwbs_variables.pradfw * build_variables.a_fw_outboard - / build_variables.fwarea + / build_variables.a_fw_total + current_drive_variables.porbitlossmw + physics_variables.palpfwmw ) fwbs_variables.psurffwi = fwbs_variables.pradfw * ( - 1 - build_variables.a_fw_outboard / build_variables.fwarea + 1 - build_variables.a_fw_outboard / build_variables.a_fw_total ) if output: diff --git a/process/hcpb.py b/process/hcpb.py index 0cbbef964c..b7a4ca1e36 100644 --- a/process/hcpb.py +++ b/process/hcpb.py @@ -252,7 +252,7 @@ def component_masses(self): * build_variables.dr_fw_outboard * fwbs_variables.vffwo ) / ( - build_variables.fwarea + build_variables.a_fw_total * 0.5 * (build_variables.dr_fw_inboard + build_variables.dr_fw_outboard) ) @@ -684,12 +684,12 @@ def powerflow_calc(self, output: bool): fwbs_variables.psurffwo = ( fwbs_variables.pradfw * build_variables.a_fw_outboard - / build_variables.fwarea + / build_variables.a_fw_total + current_drive_variables.porbitlossmw + physics_variables.palpfwmw ) fwbs_variables.psurffwi = fwbs_variables.pradfw * ( - 1 - build_variables.a_fw_outboard / build_variables.fwarea + 1 - build_variables.a_fw_outboard / build_variables.a_fw_total ) # primary_pumping == 0 diff --git a/process/ife.py b/process/ife.py index 78fef7d5a3..f17916441b 100644 --- a/process/ife.py +++ b/process/ife.py @@ -271,7 +271,7 @@ def osibld(self): self.genbld() # First wall area: no true first wall at bottom of chamber - build_variables.fwarea = ( + build_variables.a_fw_total = ( 2.0 * np.pi * ife_variables.r1 * (ife_variables.zu1 + ife_variables.zl1) + np.pi * ife_variables.r1 * ife_variables.r1 ) @@ -609,7 +609,7 @@ def sombld(self): ) # First wall area - build_variables.fwarea = ( + build_variables.a_fw_total = ( 2.0 * np.pi * ife_variables.r1 @@ -840,15 +840,15 @@ def hylbld(self): ) # First wall area - build_variables.fwarea = ( + build_variables.a_fw_total = ( 2.0 * np.pi * ife_variables.r1 * (ife_variables.zu1 + ife_variables.zl5) ) - build_variables.fwarea = build_variables.fwarea + np.pi * ( + build_variables.a_fw_total = build_variables.a_fw_total + np.pi * ( ife_variables.r1 * ife_variables.r1 - ife_variables.flirad * ife_variables.flirad ) - build_variables.fwarea = ( - build_variables.fwarea + build_variables.a_fw_total = ( + build_variables.a_fw_total + np.pi * ife_variables.r1 * np.sqrt( @@ -1196,7 +1196,7 @@ def bld2019(self): # with only the top being solid. This is considered part # of the shield. There is a target injector tube at the # centre of this area. - build_variables.fwarea = np.pi * ( + build_variables.a_fw_total = np.pi * ( ife_variables.r1 * ife_variables.r1 - ife_variables.flirad * ife_variables.flirad ) @@ -1421,7 +1421,7 @@ def genbld(self): # First wall area - build_variables.fwarea = ( + build_variables.a_fw_total = ( 2.0 * np.pi * ife_variables.r1 @@ -1485,7 +1485,7 @@ def ifephy(self, output: bool = False): phi = 0.5 * np.pi + np.arctan(ife_variables.zl1 / ife_variables.r1) sang = 1.0 - np.cos(phi) physics_variables.wallmw = ( - physics_variables.fusion_power * 0.5 * sang / build_variables.fwarea + physics_variables.fusion_power * 0.5 * sang / build_variables.a_fw_total ) elif ife_variables.ifetyp == 4: @@ -1497,12 +1497,12 @@ def ifephy(self, output: bool = False): phi = np.arctan(ife_variables.flirad / ife_variables.zu1) sang = sang - (1.0 - np.cos(phi)) physics_variables.wallmw = ( - physics_variables.fusion_power * 0.5 * sang / build_variables.fwarea + physics_variables.fusion_power * 0.5 * sang / build_variables.a_fw_total ) else: physics_variables.wallmw = ( - physics_variables.fusion_power / build_variables.fwarea + physics_variables.fusion_power / build_variables.a_fw_total ) if not output: @@ -1848,8 +1848,8 @@ def ifefbs(self, output: bool = False): process_output.ovarre( self.outfile, "First wall area (m2)", - "(fwarea)", - build_variables.fwarea, + "(a_fw_total)", + build_variables.a_fw_total, ) process_output.ovarre( self.outfile, diff --git a/process/io/mfile_comparison.py b/process/io/mfile_comparison.py index 054127c07e..2aefb97340 100644 --- a/process/io/mfile_comparison.py +++ b/process/io/mfile_comparison.py @@ -204,7 +204,7 @@ "pnucdiv", "tbr", "li6enrich", - "fwarea", + "a_fw_total", "emult", ] diff --git a/process/physics.py b/process/physics.py index 2b77c07eba..c3f74e01bc 100644 --- a/process/physics.py +++ b/process/physics.py @@ -2096,7 +2096,7 @@ def physics(self): ) # Nominal mean neutron wall load on entire first wall area including divertor and beam holes - # Note that 'fwarea' excludes these, so they have been added back in. + # Note that 'a_fw_total' excludes these, so they have been added back in. if physics_variables.iwalld == 1: physics_variables.wallmw = ( physics_variables.ffwal @@ -2109,14 +2109,14 @@ def physics(self): physics_variables.wallmw = ( (1.0e0 - fwbs_variables.fhcd - 2.0e0 * fwbs_variables.fdiv) * physics_variables.neutron_power_total - / build_variables.fwarea + / build_variables.a_fw_total ) else: # Single null Configuration physics_variables.wallmw = ( (1.0e0 - fwbs_variables.fhcd - fwbs_variables.fdiv) * physics_variables.neutron_power_total - / build_variables.fwarea + / build_variables.a_fw_total ) # Calculate ion/electron equilibration power @@ -2391,7 +2391,7 @@ def physics(self): # MDK # Nominal mean photon wall load on entire first wall area including divertor and beam holes - # Note that 'fwarea' excludes these, so they have been added back in. + # Note that 'a_fw_total' excludes these, so they have been added back in. if physics_variables.iwalld == 1: physics_variables.pflux_fw_rad_mw = ( physics_variables.ffwal @@ -2403,21 +2403,21 @@ def physics(self): # Double Null configuration in - including SoL radiation physics_variables.pflux_fw_rad_mw = ( 1.0e0 - fwbs_variables.fhcd - 2.0e0 * fwbs_variables.fdiv - ) * physics_variables.p_plasma_rad_mw / build_variables.fwarea + ( + ) * physics_variables.p_plasma_rad_mw / build_variables.a_fw_total + ( 1.0e0 - fwbs_variables.fhcd - 2.0e0 * fwbs_variables.fdiv ) * physics_variables.rad_fraction_sol * physics_variables.pdivt / ( - build_variables.fwarea + build_variables.a_fw_total ) else: # Single null configuration - including SoL radaition physics_variables.pflux_fw_rad_mw = ( (1.0e0 - fwbs_variables.fhcd - fwbs_variables.fdiv) * physics_variables.p_plasma_rad_mw - / build_variables.fwarea + / build_variables.a_fw_total + (1.0e0 - fwbs_variables.fhcd - fwbs_variables.fdiv) * physics_variables.rad_fraction_sol * physics_variables.pdivt - / build_variables.fwarea + / build_variables.a_fw_total ) constraint_variables.pflux_fw_rad_max_mw = ( diff --git a/process/stellarator.py b/process/stellarator.py index 0904aac7eb..2759e1d550 100644 --- a/process/stellarator.py +++ b/process/stellarator.py @@ -467,18 +467,18 @@ def stbild(self, output: bool): build_variables.dr_fw_plasma_gap_inboard + build_variables.dr_fw_plasma_gap_outboard ) - build_variables.fwarea = ( + build_variables.a_fw_total = ( physics_variables.a_plasma_surface * awall / physics_variables.rminor ) if heat_transport_variables.ipowerflow == 0: - build_variables.fwarea = ( + build_variables.a_fw_total = ( 1.0e0 - fwbs_variables.fhole - ) * build_variables.fwarea + ) * build_variables.a_fw_total else: - build_variables.fwarea = ( + build_variables.a_fw_total = ( 1.0e0 - fwbs_variables.fhole - fwbs_variables.fdiv - fwbs_variables.fhcd - ) * build_variables.fwarea + ) * build_variables.a_fw_total if output: # Print out device build @@ -918,7 +918,7 @@ def stdiv(self, output: bool): divertor_variables.hldiv = q_div divertor_variables.divsur = darea - fwbs_variables.fdiv = darea / build_variables.fwarea + fwbs_variables.fdiv = darea / build_variables.a_fw_total if output: po.oheadr(self.outfile, "Divertor") @@ -1112,8 +1112,8 @@ def stfwbs(self, output: bool): ) # First wall inboard, outboard areas (assume 50% of total each) - build_variables.a_fw_inboard = 0.5e0 * build_variables.fwarea - build_variables.a_fw_outboard = 0.5e0 * build_variables.fwarea + build_variables.a_fw_inboard = 0.5e0 * build_variables.a_fw_total + build_variables.a_fw_outboard = 0.5e0 * build_variables.a_fw_total # Blanket volume; assume that its surface area is scaled directly from the # plasma surface area. @@ -1327,10 +1327,12 @@ def stfwbs(self, output: bool): # Split between inboard and outboard by first wall area fractions pnucfwbsi = ( - pnucfwbs * build_variables.a_fw_inboard / build_variables.fwarea + pnucfwbs * build_variables.a_fw_inboard / build_variables.a_fw_total ) pnucfwbso = ( - pnucfwbs * build_variables.a_fw_outboard / build_variables.fwarea + pnucfwbs + * build_variables.a_fw_outboard + / build_variables.a_fw_total ) # Radiation power incident on divertor (MW) @@ -1408,12 +1410,12 @@ def stfwbs(self, output: bool): psurffwi = ( fwbs_variables.pradfw * build_variables.a_fw_inboard - / build_variables.fwarea + / build_variables.a_fw_total ) psurffwo = ( fwbs_variables.pradfw * build_variables.a_fw_outboard - / build_variables.fwarea + / build_variables.a_fw_total ) # Simple blanket model (fwbs_variables.primary_pumping = 0 or 1) is assumed for stellarators @@ -1511,14 +1513,14 @@ def stfwbs(self, output: bool): - pnucbzi + (fwbs_variables.pnucloss + fwbs_variables.pradloss) * build_variables.a_fw_inboard - / build_variables.fwarea + / build_variables.a_fw_total ) pnucso = ( pnucbso - pnucbzo + (fwbs_variables.pnucloss + fwbs_variables.pradloss) * build_variables.a_fw_outboard - / build_variables.fwarea + / build_variables.a_fw_total ) # Improved calculation of shield power decay lengths required @@ -1751,7 +1753,7 @@ def stfwbs(self, output: bool): # (first wall area is calculated else:where) fwbs_variables.fwmass = ( - build_variables.fwarea + build_variables.a_fw_total * (build_variables.dr_fw_inboard + build_variables.dr_fw_outboard) / 2.0e0 * fwbs_variables.denstl @@ -1762,7 +1764,7 @@ def stfwbs(self, output: bool): coolvol = ( coolvol - + build_variables.fwarea + + build_variables.a_fw_total * (build_variables.dr_fw_inboard + build_variables.dr_fw_outboard) / 2.0e0 * fwbs_variables.fwclfr @@ -1790,7 +1792,7 @@ def stfwbs(self, output: bool): build_variables.a_fw_inboard * build_variables.dr_fw_inboard * vffwi + build_variables.a_fw_outboard * build_variables.dr_fw_outboard * vffwo ) / ( - build_variables.fwarea + build_variables.a_fw_total * 0.5e0 * (build_variables.dr_fw_inboard + build_variables.dr_fw_outboard) ) @@ -2205,7 +2207,10 @@ def stfwbs(self, output: bool): po.osubhd(self.outfile, "Other volumes, masses and areas :") po.ovarre( - self.outfile, "First wall area (m2)", "(fwarea)", build_variables.fwarea + self.outfile, + "First wall area (m2)", + "(a_fw_total)", + build_variables.a_fw_total, ) po.ovarre( self.outfile, "First wall mass (kg)", "(fwmass)", fwbs_variables.fwmass @@ -4255,7 +4260,7 @@ def stphys(self, output): physics_variables.wallmw = ( (1.0e0 - fwbs_variables.fhole) * physics_variables.neutron_power_total - / build_variables.fwarea + / build_variables.a_fw_total ) else: physics_variables.wallmw = ( @@ -4266,7 +4271,7 @@ def stphys(self, output): - fwbs_variables.fdiv ) * physics_variables.neutron_power_total - / build_variables.fwarea + / build_variables.a_fw_total ) # Calculate ion/electron equilibration power @@ -4362,7 +4367,7 @@ def stphys(self, output): physics_variables.pflux_fw_rad_mw = ( (1.0e0 - fwbs_variables.fhole) * physics_variables.p_plasma_rad_mw - / build_variables.fwarea + / build_variables.a_fw_total ) else: physics_variables.pflux_fw_rad_mw = ( @@ -4373,7 +4378,7 @@ def stphys(self, output): - fwbs_variables.fdiv ) * physics_variables.p_plasma_rad_mw - / build_variables.fwarea + / build_variables.a_fw_total ) constraint_variables.pflux_fw_rad_max_mw = ( diff --git a/source/fortran/build_variables.f90 b/source/fortran/build_variables.f90 index d91071485b..26789fa2e2 100644 --- a/source/fortran/build_variables.f90 +++ b/source/fortran/build_variables.f90 @@ -87,14 +87,14 @@ module build_variables real(dp) :: fseppc !! Separation force in CS coil pre-compression structure - real(dp) :: fwarea - !! first wall total surface area (m2) + real(dp) :: a_fw_total + !! First wall total surface area [m^2] real(dp) :: a_fw_inboard !! Inboard first wall surface area [m^2] real(dp) :: a_fw_outboard - !! outboard first wall surface area (m2) + !! Outboard first wall surface area [m^2] real(dp) :: dr_fw_inboard !! inboard first wall thickness, initial estimate as calculated (m) @@ -324,7 +324,7 @@ subroutine init_build_variables f_avspace = 1.0D0 fcspc = 0.6D0 fseppc = 3.5D8 - fwarea = 0.0D0 + a_fw_total = 0.0D0 a_fw_inboard = 0.0D0 a_fw_outboard = 0.0D0 dr_fw_inboard = 0.0D0 diff --git a/tests/integration/data/large_tokamak_1_MFILE.DAT b/tests/integration/data/large_tokamak_1_MFILE.DAT index 9be6a2fc1c..7f03fd0cac 100644 --- a/tests/integration/data/large_tokamak_1_MFILE.DAT +++ b/tests/integration/data/large_tokamak_1_MFILE.DAT @@ -985,7 +985,7 @@ No_of_outboard_blanket_modules_poloidally_______________________________ (nblktmodpo)__________________ 8 No_of_outboard_blanket_modules_toroidally_______________________________ (nblktmodto)__________________ 48 Isentropic_efficiency_of_first_wall_/_blanket_coolant_pumps_____________ (etaiso)______________________ 9.0000E-01 - First_wall_area_(m2)____________________________________________________ (fwarea)______________________ 1.6044E+03 OP + First_wall_area_(m2)____________________________________________________ (a_fw_total)______________________ 1.6044E+03 OP Cryostat_internal_radius_(m)____________________________________________ (r_cryostat_inboard)______________________ 1.7798E+01 OP Cryostat_internal_half-height_(m)_______________________________________ (z_cryostat_half_inside)______________________ 1.5339E+01 OP Vertical_clearance_from_TF_coil_to_cryostat_(m)_________________________ (dz_tf_cryostat)________________________ 5.6044E+00 OP diff --git a/tests/integration/data/large_tokamak_2_MFILE.DAT b/tests/integration/data/large_tokamak_2_MFILE.DAT index bc678851b4..67b9b01137 100644 --- a/tests/integration/data/large_tokamak_2_MFILE.DAT +++ b/tests/integration/data/large_tokamak_2_MFILE.DAT @@ -986,7 +986,7 @@ No_of_outboard_blanket_modules_poloidally_______________________________ (nblktmodpo)__________________ 8 No_of_outboard_blanket_modules_toroidally_______________________________ (nblktmodto)__________________ 48 Isentropic_efficiency_of_first_wall_/_blanket_coolant_pumps_____________ (etaiso)______________________ 9.0000E-01 - First_wall_area_(m2)____________________________________________________ (fwarea)______________________ 1.6044E+03 OP + First_wall_area_(m2)____________________________________________________ (a_fw_total)______________________ 1.6044E+03 OP Cryostat_internal_radius_(m)____________________________________________ (r_cryostat_inboard)______________________ 1.7798E+01 OP Cryostat_internal_half-height_(m)_______________________________________ (z_cryostat_half_inside)______________________ 1.5339E+01 OP Vertical_clearance_from_TF_coil_to_cryostat_(m)_________________________ (dz_tf_cryostat)________________________ 5.6044E+00 OP diff --git a/tests/integration/data/large_tokamak_3_MFILE.DAT b/tests/integration/data/large_tokamak_3_MFILE.DAT index b154bd4a66..09a307d87c 100644 --- a/tests/integration/data/large_tokamak_3_MFILE.DAT +++ b/tests/integration/data/large_tokamak_3_MFILE.DAT @@ -986,7 +986,7 @@ No_of_outboard_blanket_modules_poloidally_______________________________ (nblktmodpo)__________________ 8 No_of_outboard_blanket_modules_toroidally_______________________________ (nblktmodto)__________________ 48 Isentropic_efficiency_of_first_wall_/_blanket_coolant_pumps_____________ (etaiso)______________________ 9.0000E-01 - First_wall_area_(m2)____________________________________________________ (fwarea)______________________ 1.6044E+03 OP + First_wall_area_(m2)____________________________________________________ (a_fw_total)______________________ 1.6044E+03 OP Cryostat_internal_radius_(m)____________________________________________ (r_cryostat_inboard)______________________ 1.7798E+01 OP Cryostat_internal_half-height_(m)_______________________________________ (z_cryostat_half_inside)______________________ 1.5339E+01 OP Vertical_clearance_from_TF_coil_to_cryostat_(m)_________________________ (dz_tf_cryostat)________________________ 5.6044E+00 OP diff --git a/tests/integration/data/large_tokamak_4_MFILE.DAT b/tests/integration/data/large_tokamak_4_MFILE.DAT index 7975787ae3..8050d926c5 100644 --- a/tests/integration/data/large_tokamak_4_MFILE.DAT +++ b/tests/integration/data/large_tokamak_4_MFILE.DAT @@ -986,7 +986,7 @@ No_of_outboard_blanket_modules_poloidally_______________________________ (nblktmodpo)__________________ 8 No_of_outboard_blanket_modules_toroidally_______________________________ (nblktmodto)__________________ 48 Isentropic_efficiency_of_first_wall_/_blanket_coolant_pumps_____________ (etaiso)______________________ 9.0000E-01 - First_wall_area_(m2)____________________________________________________ (fwarea)______________________ 1.6044E+03 OP + First_wall_area_(m2)____________________________________________________ (a_fw_total)______________________ 1.6044E+03 OP Cryostat_internal_radius_(m)____________________________________________ (r_cryostat_inboard)______________________ 1.7798E+01 OP Cryostat_internal_half-height_(m)_______________________________________ (z_cryostat_half_inside)______________________ 1.5339E+01 OP Vertical_clearance_from_TF_coil_to_cryostat_(m)_________________________ (dz_tf_cryostat)________________________ 5.6044E+00 OP diff --git a/tests/integration/data/large_tokamak_MFILE.DAT b/tests/integration/data/large_tokamak_MFILE.DAT index 8e3991d6e6..afbc818089 100644 --- a/tests/integration/data/large_tokamak_MFILE.DAT +++ b/tests/integration/data/large_tokamak_MFILE.DAT @@ -989,7 +989,7 @@ No_of_outboard_blanket_modules_poloidally_______________________________ (nblktmodpo)__________________ 8 No_of_outboard_blanket_modules_toroidally_______________________________ (nblktmodto)__________________ 48 Isentropic_efficiency_of_first_wall_/_blanket_coolant_pumps_____________ (etaiso)______________________ 9.0000E-01 - First_wall_area_(m2)____________________________________________________ (fwarea)______________________ 1.6044E+03 OP + First_wall_area_(m2)____________________________________________________ (a_fw_total)______________________ 1.6044E+03 OP Cryostat_internal_radius_(m)____________________________________________ (r_cryostat_inboard)______________________ 1.7805E+01 OP Cryostat_internal_half-height_(m)_______________________________________ (z_cryostat_half_inside)______________________ 1.5351E+01 OP Vertical_clearance_from_TF_coil_to_cryostat_(m)_________________________ (dz_tf_cryostat)________________________ 5.6032E+00 OP diff --git a/tests/integration/data/scan_2D_MFILE.DAT b/tests/integration/data/scan_2D_MFILE.DAT index cd2ebe185b..92b26d7544 100644 --- a/tests/integration/data/scan_2D_MFILE.DAT +++ b/tests/integration/data/scan_2D_MFILE.DAT @@ -987,7 +987,7 @@ No_of_outboard_blanket_modules_poloidally_______________________________ (nblktmodpo)__________________ 8 No_of_outboard_blanket_modules_toroidally_______________________________ (nblktmodto)__________________ 48 Isentropic_efficiency_of_first_wall_/_blanket_coolant_pumps_____________ (etaiso)______________________ 9.0000E-01 - First_wall_area_(m2)____________________________________________________ (fwarea)______________________ 1.6044E+03 OP + First_wall_area_(m2)____________________________________________________ (a_fw_total)______________________ 1.6044E+03 OP Cryostat_internal_radius_(m)____________________________________________ (r_cryostat_inboard)______________________ 1.7774E+01 OP Cryostat_internal_half-height_(m)_______________________________________ (z_cryostat_half_inside)______________________ 1.5301E+01 OP Vertical_clearance_from_TF_coil_to_cryostat_(m)_________________________ (dz_tf_cryostat)________________________ 5.6076E+00 OP @@ -2150,7 +2150,7 @@ No_of_outboard_blanket_modules_poloidally_______________________________ (nblktmodpo)__________________ 8 No_of_outboard_blanket_modules_toroidally_______________________________ (nblktmodto)__________________ 48 Isentropic_efficiency_of_first_wall_/_blanket_coolant_pumps_____________ (etaiso)______________________ 9.0000E-01 - First_wall_area_(m2)____________________________________________________ (fwarea)______________________ 1.6044E+03 OP + First_wall_area_(m2)____________________________________________________ (a_fw_total)______________________ 1.6044E+03 OP Cryostat_internal_radius_(m)____________________________________________ (r_cryostat_inboard)______________________ 1.7765E+01 OP Cryostat_internal_half-height_(m)_______________________________________ (z_cryostat_half_inside)______________________ 1.5286E+01 OP Vertical_clearance_from_TF_coil_to_cryostat_(m)_________________________ (dz_tf_cryostat)________________________ 5.6094E+00 OP @@ -3313,7 +3313,7 @@ No_of_outboard_blanket_modules_poloidally_______________________________ (nblktmodpo)__________________ 8 No_of_outboard_blanket_modules_toroidally_______________________________ (nblktmodto)__________________ 48 Isentropic_efficiency_of_first_wall_/_blanket_coolant_pumps_____________ (etaiso)______________________ 9.0000E-01 - First_wall_area_(m2)____________________________________________________ (fwarea)______________________ 1.6044E+03 OP + First_wall_area_(m2)____________________________________________________ (a_fw_total)______________________ 1.6044E+03 OP Cryostat_internal_radius_(m)____________________________________________ (r_cryostat_inboard)______________________ 1.7758E+01 OP Cryostat_internal_half-height_(m)_______________________________________ (z_cryostat_half_inside)______________________ 1.5274E+01 OP Vertical_clearance_from_TF_coil_to_cryostat_(m)_________________________ (dz_tf_cryostat)________________________ 5.6107E+00 OP @@ -4476,7 +4476,7 @@ No_of_outboard_blanket_modules_poloidally_______________________________ (nblktmodpo)__________________ 8 No_of_outboard_blanket_modules_toroidally_______________________________ (nblktmodto)__________________ 48 Isentropic_efficiency_of_first_wall_/_blanket_coolant_pumps_____________ (etaiso)______________________ 9.0000E-01 - First_wall_area_(m2)____________________________________________________ (fwarea)______________________ 1.6044E+03 OP + First_wall_area_(m2)____________________________________________________ (a_fw_total)______________________ 1.6044E+03 OP Cryostat_internal_radius_(m)____________________________________________ (r_cryostat_inboard)______________________ 1.7759E+01 OP Cryostat_internal_half-height_(m)_______________________________________ (z_cryostat_half_inside)______________________ 1.5275E+01 OP Vertical_clearance_from_TF_coil_to_cryostat_(m)_________________________ (dz_tf_cryostat)________________________ 5.6109E+00 OP @@ -5639,7 +5639,7 @@ No_of_outboard_blanket_modules_poloidally_______________________________ (nblktmodpo)__________________ 8 No_of_outboard_blanket_modules_toroidally_______________________________ (nblktmodto)__________________ 48 Isentropic_efficiency_of_first_wall_/_blanket_coolant_pumps_____________ (etaiso)______________________ 9.0000E-01 - First_wall_area_(m2)____________________________________________________ (fwarea)______________________ 1.6044E+03 OP + First_wall_area_(m2)____________________________________________________ (a_fw_total)______________________ 1.6044E+03 OP Cryostat_internal_radius_(m)____________________________________________ (r_cryostat_inboard)______________________ 1.7766E+01 OP Cryostat_internal_half-height_(m)_______________________________________ (z_cryostat_half_inside)______________________ 1.5286E+01 OP Vertical_clearance_from_TF_coil_to_cryostat_(m)_________________________ (dz_tf_cryostat)________________________ 5.6097E+00 OP @@ -6802,7 +6802,7 @@ No_of_outboard_blanket_modules_poloidally_______________________________ (nblktmodpo)__________________ 8 No_of_outboard_blanket_modules_toroidally_______________________________ (nblktmodto)__________________ 48 Isentropic_efficiency_of_first_wall_/_blanket_coolant_pumps_____________ (etaiso)______________________ 9.0000E-01 - First_wall_area_(m2)____________________________________________________ (fwarea)______________________ 1.6044E+03 OP + First_wall_area_(m2)____________________________________________________ (a_fw_total)______________________ 1.6044E+03 OP Cryostat_internal_radius_(m)____________________________________________ (r_cryostat_inboard)______________________ 1.7775E+01 OP Cryostat_internal_half-height_(m)_______________________________________ (z_cryostat_half_inside)______________________ 1.5302E+01 OP Vertical_clearance_from_TF_coil_to_cryostat_(m)_________________________ (dz_tf_cryostat)________________________ 5.6082E+00 OP @@ -7965,7 +7965,7 @@ No_of_outboard_blanket_modules_poloidally_______________________________ (nblktmodpo)__________________ 8 No_of_outboard_blanket_modules_toroidally_______________________________ (nblktmodto)__________________ 48 Isentropic_efficiency_of_first_wall_/_blanket_coolant_pumps_____________ (etaiso)______________________ 9.0000E-01 - First_wall_area_(m2)____________________________________________________ (fwarea)______________________ 1.6044E+03 OP + First_wall_area_(m2)____________________________________________________ (a_fw_total)______________________ 1.6044E+03 OP Cryostat_internal_radius_(m)____________________________________________ (r_cryostat_inboard)______________________ 1.7776E+01 OP Cryostat_internal_half-height_(m)_______________________________________ (z_cryostat_half_inside)______________________ 1.5304E+01 OP Vertical_clearance_from_TF_coil_to_cryostat_(m)_________________________ (dz_tf_cryostat)________________________ 5.6084E+00 OP @@ -9128,7 +9128,7 @@ No_of_outboard_blanket_modules_poloidally_______________________________ (nblktmodpo)__________________ 8 No_of_outboard_blanket_modules_toroidally_______________________________ (nblktmodto)__________________ 48 Isentropic_efficiency_of_first_wall_/_blanket_coolant_pumps_____________ (etaiso)______________________ 9.0000E-01 - First_wall_area_(m2)____________________________________________________ (fwarea)______________________ 1.6044E+03 OP + First_wall_area_(m2)____________________________________________________ (a_fw_total)______________________ 1.6044E+03 OP Cryostat_internal_radius_(m)____________________________________________ (r_cryostat_inboard)______________________ 1.7768E+01 OP Cryostat_internal_half-height_(m)_______________________________________ (z_cryostat_half_inside)______________________ 1.5290E+01 OP Vertical_clearance_from_TF_coil_to_cryostat_(m)_________________________ (dz_tf_cryostat)________________________ 5.6096E+00 OP @@ -10291,7 +10291,7 @@ No_of_outboard_blanket_modules_poloidally_______________________________ (nblktmodpo)__________________ 8 No_of_outboard_blanket_modules_toroidally_______________________________ (nblktmodto)__________________ 48 Isentropic_efficiency_of_first_wall_/_blanket_coolant_pumps_____________ (etaiso)______________________ 9.0000E-01 - First_wall_area_(m2)____________________________________________________ (fwarea)______________________ 1.6044E+03 OP + First_wall_area_(m2)____________________________________________________ (a_fw_total)______________________ 1.6044E+03 OP Cryostat_internal_radius_(m)____________________________________________ (r_cryostat_inboard)______________________ 1.7760E+01 OP Cryostat_internal_half-height_(m)_______________________________________ (z_cryostat_half_inside)______________________ 1.5277E+01 OP Vertical_clearance_from_TF_coil_to_cryostat_(m)_________________________ (dz_tf_cryostat)________________________ 5.6103E+00 OP @@ -11454,7 +11454,7 @@ No_of_outboard_blanket_modules_poloidally_______________________________ (nblktmodpo)__________________ 8 No_of_outboard_blanket_modules_toroidally_______________________________ (nblktmodto)__________________ 48 Isentropic_efficiency_of_first_wall_/_blanket_coolant_pumps_____________ (etaiso)______________________ 9.0000E-01 - First_wall_area_(m2)____________________________________________________ (fwarea)______________________ 1.6044E+03 OP + First_wall_area_(m2)____________________________________________________ (a_fw_total)______________________ 1.6044E+03 OP Cryostat_internal_radius_(m)____________________________________________ (r_cryostat_inboard)______________________ 1.7761E+01 OP Cryostat_internal_half-height_(m)_______________________________________ (z_cryostat_half_inside)______________________ 1.5278E+01 OP Vertical_clearance_from_TF_coil_to_cryostat_(m)_________________________ (dz_tf_cryostat)________________________ 5.6108E+00 OP @@ -12617,7 +12617,7 @@ No_of_outboard_blanket_modules_poloidally_______________________________ (nblktmodpo)__________________ 8 No_of_outboard_blanket_modules_toroidally_______________________________ (nblktmodto)__________________ 48 Isentropic_efficiency_of_first_wall_/_blanket_coolant_pumps_____________ (etaiso)______________________ 9.0000E-01 - First_wall_area_(m2)____________________________________________________ (fwarea)______________________ 1.6044E+03 OP + First_wall_area_(m2)____________________________________________________ (a_fw_total)______________________ 1.6044E+03 OP Cryostat_internal_radius_(m)____________________________________________ (r_cryostat_inboard)______________________ 1.7769E+01 OP Cryostat_internal_half-height_(m)_______________________________________ (z_cryostat_half_inside)______________________ 1.5292E+01 OP Vertical_clearance_from_TF_coil_to_cryostat_(m)_________________________ (dz_tf_cryostat)________________________ 5.6104E+00 OP @@ -13780,7 +13780,7 @@ No_of_outboard_blanket_modules_poloidally_______________________________ (nblktmodpo)__________________ 8 No_of_outboard_blanket_modules_toroidally_______________________________ (nblktmodto)__________________ 48 Isentropic_efficiency_of_first_wall_/_blanket_coolant_pumps_____________ (etaiso)______________________ 9.0000E-01 - First_wall_area_(m2)____________________________________________________ (fwarea)______________________ 1.6044E+03 OP + First_wall_area_(m2)____________________________________________________ (a_fw_total)______________________ 1.6044E+03 OP Cryostat_internal_radius_(m)____________________________________________ (r_cryostat_inboard)______________________ 1.7777E+01 OP Cryostat_internal_half-height_(m)_______________________________________ (z_cryostat_half_inside)______________________ 1.5305E+01 OP Vertical_clearance_from_TF_coil_to_cryostat_(m)_________________________ (dz_tf_cryostat)________________________ 5.6096E+00 OP @@ -14943,7 +14943,7 @@ No_of_outboard_blanket_modules_poloidally_______________________________ (nblktmodpo)__________________ 8 No_of_outboard_blanket_modules_toroidally_______________________________ (nblktmodto)__________________ 48 Isentropic_efficiency_of_first_wall_/_blanket_coolant_pumps_____________ (etaiso)______________________ 9.0000E-01 - First_wall_area_(m2)____________________________________________________ (fwarea)______________________ 1.6044E+03 OP + First_wall_area_(m2)____________________________________________________ (a_fw_total)______________________ 1.6044E+03 OP Cryostat_internal_radius_(m)____________________________________________ (r_cryostat_inboard)______________________ 1.7778E+01 OP Cryostat_internal_half-height_(m)_______________________________________ (z_cryostat_half_inside)______________________ 1.5307E+01 OP Vertical_clearance_from_TF_coil_to_cryostat_(m)_________________________ (dz_tf_cryostat)________________________ 5.6101E+00 OP @@ -16106,7 +16106,7 @@ No_of_outboard_blanket_modules_poloidally_______________________________ (nblktmodpo)__________________ 8 No_of_outboard_blanket_modules_toroidally_______________________________ (nblktmodto)__________________ 48 Isentropic_efficiency_of_first_wall_/_blanket_coolant_pumps_____________ (etaiso)______________________ 9.0000E-01 - First_wall_area_(m2)____________________________________________________ (fwarea)______________________ 1.6044E+03 OP + First_wall_area_(m2)____________________________________________________ (a_fw_total)______________________ 1.6044E+03 OP Cryostat_internal_radius_(m)____________________________________________ (r_cryostat_inboard)______________________ 1.7770E+01 OP Cryostat_internal_half-height_(m)_______________________________________ (z_cryostat_half_inside)______________________ 1.5293E+01 OP Vertical_clearance_from_TF_coil_to_cryostat_(m)_________________________ (dz_tf_cryostat)________________________ 5.6115E+00 OP @@ -17269,7 +17269,7 @@ No_of_outboard_blanket_modules_poloidally_______________________________ (nblktmodpo)__________________ 8 No_of_outboard_blanket_modules_toroidally_______________________________ (nblktmodto)__________________ 48 Isentropic_efficiency_of_first_wall_/_blanket_coolant_pumps_____________ (etaiso)______________________ 9.0000E-01 - First_wall_area_(m2)____________________________________________________ (fwarea)______________________ 1.6044E+03 OP + First_wall_area_(m2)____________________________________________________ (a_fw_total)______________________ 1.6044E+03 OP Cryostat_internal_radius_(m)____________________________________________ (r_cryostat_inboard)______________________ 1.7762E+01 OP Cryostat_internal_half-height_(m)_______________________________________ (z_cryostat_half_inside)______________________ 1.5280E+01 OP Vertical_clearance_from_TF_coil_to_cryostat_(m)_________________________ (dz_tf_cryostat)________________________ 5.6129E+00 OP diff --git a/tests/integration/data/scan_MFILE.DAT b/tests/integration/data/scan_MFILE.DAT index 77817cde7d..6fbf493732 100644 --- a/tests/integration/data/scan_MFILE.DAT +++ b/tests/integration/data/scan_MFILE.DAT @@ -815,7 +815,7 @@ No_of_outboard_blanket_modules_poloidally_______________________________ (nblktmodpo)__________________ 8 No_of_outboard_blanket_modules_toroidally_______________________________ (nblktmodto)__________________ 48 Isentropic_efficiency_of_first_wall_/_blanket_coolant_pumps_____________ (etaiso)______________________ 9.0000E-01 - First_wall_area_(m2)____________________________________________________ (fwarea)______________________ 2.0043E+03 OP + First_wall_area_(m2)____________________________________________________ (a_fw_total)______________________ 2.0043E+03 OP Cryostat_internal_radius_(m)____________________________________________ (r_cryostat_inboard)______________________ 2.0115E+01 OP Cryostat_internal_half-height_(m)_______________________________________ (z_cryostat_half_inside)______________________ 1.6623E+01 OP Vertical_clearance_from_TF_coil_to_cryostat_(m)_________________________ (dz_tf_cryostat)________________________ 5.9786E+00 OP @@ -1810,7 +1810,7 @@ No_of_outboard_blanket_modules_poloidally_______________________________ (nblktmodpo)__________________ 8 No_of_outboard_blanket_modules_toroidally_______________________________ (nblktmodto)__________________ 48 Isentropic_efficiency_of_first_wall_/_blanket_coolant_pumps_____________ (etaiso)______________________ 9.0000E-01 - First_wall_area_(m2)____________________________________________________ (fwarea)______________________ 2.0043E+03 OP + First_wall_area_(m2)____________________________________________________ (a_fw_total)______________________ 2.0043E+03 OP Cryostat_internal_radius_(m)____________________________________________ (r_cryostat_inboard)______________________ 2.0115E+01 OP Cryostat_internal_half-height_(m)_______________________________________ (z_cryostat_half_inside)______________________ 1.6623E+01 OP Vertical_clearance_from_TF_coil_to_cryostat_(m)_________________________ (dz_tf_cryostat)________________________ 5.9786E+00 OP @@ -2805,7 +2805,7 @@ No_of_outboard_blanket_modules_poloidally_______________________________ (nblktmodpo)__________________ 8 No_of_outboard_blanket_modules_toroidally_______________________________ (nblktmodto)__________________ 48 Isentropic_efficiency_of_first_wall_/_blanket_coolant_pumps_____________ (etaiso)______________________ 9.0000E-01 - First_wall_area_(m2)____________________________________________________ (fwarea)______________________ 2.0043E+03 OP + First_wall_area_(m2)____________________________________________________ (a_fw_total)______________________ 2.0043E+03 OP Cryostat_internal_radius_(m)____________________________________________ (r_cryostat_inboard)______________________ 2.0115E+01 OP Cryostat_internal_half-height_(m)_______________________________________ (z_cryostat_half_inside)______________________ 1.6623E+01 OP Vertical_clearance_from_TF_coil_to_cryostat_(m)_________________________ (dz_tf_cryostat)________________________ 5.9786E+00 OP @@ -3800,7 +3800,7 @@ No_of_outboard_blanket_modules_poloidally_______________________________ (nblktmodpo)__________________ 8 No_of_outboard_blanket_modules_toroidally_______________________________ (nblktmodto)__________________ 48 Isentropic_efficiency_of_first_wall_/_blanket_coolant_pumps_____________ (etaiso)______________________ 9.0000E-01 - First_wall_area_(m2)____________________________________________________ (fwarea)______________________ 2.0043E+03 OP + First_wall_area_(m2)____________________________________________________ (a_fw_total)______________________ 2.0043E+03 OP Cryostat_internal_radius_(m)____________________________________________ (r_cryostat_inboard)______________________ 2.0115E+01 OP Cryostat_internal_half-height_(m)_______________________________________ (z_cryostat_half_inside)______________________ 1.6623E+01 OP Vertical_clearance_from_TF_coil_to_cryostat_(m)_________________________ (dz_tf_cryostat)________________________ 5.9786E+00 OP @@ -4795,7 +4795,7 @@ No_of_outboard_blanket_modules_poloidally_______________________________ (nblktmodpo)__________________ 8 No_of_outboard_blanket_modules_toroidally_______________________________ (nblktmodto)__________________ 48 Isentropic_efficiency_of_first_wall_/_blanket_coolant_pumps_____________ (etaiso)______________________ 9.0000E-01 - First_wall_area_(m2)____________________________________________________ (fwarea)______________________ 2.0043E+03 OP + First_wall_area_(m2)____________________________________________________ (a_fw_total)______________________ 2.0043E+03 OP Cryostat_internal_radius_(m)____________________________________________ (r_cryostat_inboard)______________________ 2.0115E+01 OP Cryostat_internal_half-height_(m)_______________________________________ (z_cryostat_half_inside)______________________ 1.6623E+01 OP Vertical_clearance_from_TF_coil_to_cryostat_(m)_________________________ (dz_tf_cryostat)________________________ 5.9786E+00 OP @@ -5790,7 +5790,7 @@ No_of_outboard_blanket_modules_poloidally_______________________________ (nblktmodpo)__________________ 8 No_of_outboard_blanket_modules_toroidally_______________________________ (nblktmodto)__________________ 48 Isentropic_efficiency_of_first_wall_/_blanket_coolant_pumps_____________ (etaiso)______________________ 9.0000E-01 - First_wall_area_(m2)____________________________________________________ (fwarea)______________________ 2.0043E+03 OP + First_wall_area_(m2)____________________________________________________ (a_fw_total)______________________ 2.0043E+03 OP Cryostat_internal_radius_(m)____________________________________________ (r_cryostat_inboard)______________________ 2.0115E+01 OP Cryostat_internal_half-height_(m)_______________________________________ (z_cryostat_half_inside)______________________ 1.6623E+01 OP Vertical_clearance_from_TF_coil_to_cryostat_(m)_________________________ (dz_tf_cryostat)________________________ 5.9786E+00 OP @@ -6785,7 +6785,7 @@ No_of_outboard_blanket_modules_poloidally_______________________________ (nblktmodpo)__________________ 8 No_of_outboard_blanket_modules_toroidally_______________________________ (nblktmodto)__________________ 48 Isentropic_efficiency_of_first_wall_/_blanket_coolant_pumps_____________ (etaiso)______________________ 9.0000E-01 - First_wall_area_(m2)____________________________________________________ (fwarea)______________________ 2.0043E+03 OP + First_wall_area_(m2)____________________________________________________ (a_fw_total)______________________ 2.0043E+03 OP Cryostat_internal_radius_(m)____________________________________________ (r_cryostat_inboard)______________________ 2.0115E+01 OP Cryostat_internal_half-height_(m)_______________________________________ (z_cryostat_half_inside)______________________ 1.6623E+01 OP Vertical_clearance_from_TF_coil_to_cryostat_(m)_________________________ (dz_tf_cryostat)________________________ 5.9786E+00 OP @@ -7780,7 +7780,7 @@ No_of_outboard_blanket_modules_poloidally_______________________________ (nblktmodpo)__________________ 8 No_of_outboard_blanket_modules_toroidally_______________________________ (nblktmodto)__________________ 48 Isentropic_efficiency_of_first_wall_/_blanket_coolant_pumps_____________ (etaiso)______________________ 9.0000E-01 - First_wall_area_(m2)____________________________________________________ (fwarea)______________________ 2.0043E+03 OP + First_wall_area_(m2)____________________________________________________ (a_fw_total)______________________ 2.0043E+03 OP Cryostat_internal_radius_(m)____________________________________________ (r_cryostat_inboard)______________________ 2.0115E+01 OP Cryostat_internal_half-height_(m)_______________________________________ (z_cryostat_half_inside)______________________ 1.6623E+01 OP Vertical_clearance_from_TF_coil_to_cryostat_(m)_________________________ (dz_tf_cryostat)________________________ 5.9786E+00 OP @@ -8775,7 +8775,7 @@ No_of_outboard_blanket_modules_poloidally_______________________________ (nblktmodpo)__________________ 8 No_of_outboard_blanket_modules_toroidally_______________________________ (nblktmodto)__________________ 48 Isentropic_efficiency_of_first_wall_/_blanket_coolant_pumps_____________ (etaiso)______________________ 9.0000E-01 - First_wall_area_(m2)____________________________________________________ (fwarea)______________________ 2.0043E+03 OP + First_wall_area_(m2)____________________________________________________ (a_fw_total)______________________ 2.0043E+03 OP Cryostat_internal_radius_(m)____________________________________________ (r_cryostat_inboard)______________________ 2.0115E+01 OP Cryostat_internal_half-height_(m)_______________________________________ (z_cryostat_half_inside)______________________ 1.6623E+01 OP Vertical_clearance_from_TF_coil_to_cryostat_(m)_________________________ (dz_tf_cryostat)________________________ 5.9786E+00 OP diff --git a/tests/integration/ref_dicts.json b/tests/integration/ref_dicts.json index 196a521b50..f3c4682fac 100644 --- a/tests/integration/ref_dicts.json +++ b/tests/integration/ref_dicts.json @@ -2072,7 +2072,7 @@ "fw_wall": 0.003, "fwallcst": 0.0, "fwalld": 1.0, - "fwarea": 0.0, + "a_fw_total": 0.0, "a_fw_inboard": 0.0, "a_fw_outboard": 0.0, "fwbs_nref": 20000.0, @@ -9664,7 +9664,7 @@ "fw_wall": "wall thickness of first wall coolant channels (m)", "fwallcst": "first wall cost (M$)", "fwalld": "f-value for maximum wall load (`constraint equation 8`, `iteration variable 14`)", - "fwarea": "first wall total surface area (m2)", + "a_fw_total": "first wall total surface area (m2)", "a_fw_inboard": "inboard first wall surface area (m2)", "a_fw_outboard": "outboard first wall surface area (m2)", "fwbs_nref": "Reference value for cycle life of blanket", @@ -17016,7 +17016,7 @@ "f_avspace", "fcspc", "fseppc", - "fwarea", + "a_fw_total", "a_fw_inboard", "a_fw_outboard", "dr_fw_inboard", diff --git a/tests/unit/data/large_tokamak_MFILE.DAT b/tests/unit/data/large_tokamak_MFILE.DAT index 7b06c6fff0..18986368cf 100644 --- a/tests/unit/data/large_tokamak_MFILE.DAT +++ b/tests/unit/data/large_tokamak_MFILE.DAT @@ -989,7 +989,7 @@ No_of_outboard_blanket_modules_poloidally_______________________________ (nblktmodpo)__________________ 8 No_of_outboard_blanket_modules_toroidally_______________________________ (nblktmodto)__________________ 48 Isentropic_efficiency_of_first_wall_/_blanket_coolant_pumps_____________ (etaiso)______________________ 9.0000E-01 - First_wall_area_(m2)____________________________________________________ (fwarea)______________________ 1.6044E+03 OP + First_wall_area_(m2)____________________________________________________ (a_fw_total)______________________ 1.6044E+03 OP Cryostat_internal_radius_(m)____________________________________________ (r_cryostat_inboard)______________________ 1.7805E+01 OP Cryostat_internal_half-height_(m)_______________________________________ (z_cryostat_half_inside)______________________ 1.5351E+01 OP Vertical_clearance_from_TF_coil_to_cryostat_(m)_________________________ (dz_tf_cryostat)________________________ 5.6032E+00 OP diff --git a/tests/unit/test_ccfe_hcpb.py b/tests/unit/test_ccfe_hcpb.py index 274f41e29c..6fd9a361bf 100644 --- a/tests/unit/test_ccfe_hcpb.py +++ b/tests/unit/test_ccfe_hcpb.py @@ -762,7 +762,7 @@ def test_nuclear_heating_divertor(nuclearheatingdivertorparam, monkeypatch, ccfe class PowerflowCalcParam(NamedTuple): a_fw_outboard: Any = None - fwarea: Any = None + a_fw_total: Any = None porbitlossmw: Any = None @@ -860,7 +860,7 @@ class PowerflowCalcParam(NamedTuple): ( PowerflowCalcParam( a_fw_outboard=988.92586580655245, - fwarea=1601.1595634509963, + a_fw_total=1601.1595634509963, porbitlossmw=0, fdiv=0.115, praddiv=0, @@ -909,7 +909,7 @@ class PowerflowCalcParam(NamedTuple): ), PowerflowCalcParam( a_fw_outboard=1168.1172772224481, - fwarea=1891.2865102700493, + a_fw_total=1891.2865102700493, porbitlossmw=0, fdiv=0.115, praddiv=33.056596978820579, @@ -975,7 +975,7 @@ def test_powerflow_calc(powerflowcalcparam, monkeypatch, ccfe_hcpb): build_variables, "a_fw_outboard", powerflowcalcparam.a_fw_outboard ) - monkeypatch.setattr(build_variables, "fwarea", powerflowcalcparam.fwarea) + monkeypatch.setattr(build_variables, "a_fw_total", powerflowcalcparam.a_fw_total) monkeypatch.setattr( current_drive_variables, "porbitlossmw", powerflowcalcparam.porbitlossmw @@ -1402,7 +1402,7 @@ class ComponentMassesParam(NamedTuple): dr_fw_inboard: Any = None a_fw_outboard: Any = None dr_fw_outboard: Any = None - fwarea: Any = None + a_fw_total: Any = None volblkt: Any = None vfblkt: Any = None whtblbe: Any = None @@ -1493,7 +1493,7 @@ class ComponentMassesParam(NamedTuple): dr_fw_inboard=0.018000000000000002, a_fw_outboard=838.00728058362097, dr_fw_outboard=0.018000000000000002, - fwarea=1343.9683762356615, + a_fw_total=1343.9683762356615, volblkt=1182.5433772195902, vfblkt=0.25, whtblbe=0, @@ -1607,7 +1607,7 @@ def test_component_masses(componentmassesparam, monkeypatch, ccfe_hcpb): monkeypatch.setattr( build_variables, "dr_fw_outboard", componentmassesparam.dr_fw_outboard ) - monkeypatch.setattr(build_variables, "fwarea", componentmassesparam.fwarea) + monkeypatch.setattr(build_variables, "a_fw_total", componentmassesparam.a_fw_total) monkeypatch.setattr(fwbs_variables, "volblkt", componentmassesparam.volblkt) monkeypatch.setattr(fwbs_variables, "vfblkt", componentmassesparam.vfblkt) monkeypatch.setattr(fwbs_variables, "whtblbe", componentmassesparam.whtblbe) diff --git a/tests/unit/test_costs_1990.py b/tests/unit/test_costs_1990.py index 34f656c086..3d274aca47 100644 --- a/tests/unit/test_costs_1990.py +++ b/tests/unit/test_costs_1990.py @@ -977,7 +977,7 @@ def test_acc21(acc21param, monkeypatch, costs): class Acc2211Param(NamedTuple): - fwarea: Any = None + a_fw_total: Any = None ucblss: Any = None @@ -1010,7 +1010,7 @@ class Acc2211Param(NamedTuple): "acc2211param", ( Acc2211Param( - fwarea=1601.1595634509963, + a_fw_total=1601.1595634509963, ucblss=90, fkind=1, fwallcst=0, @@ -1039,7 +1039,7 @@ class Acc2211Param(NamedTuple): expected_fwallcst=143.19827300247195, ), Acc2211Param( - fwarea=1891.2865102700493, + a_fw_total=1891.2865102700493, ucblss=90, fkind=1, fwallcst=143.19827300247195, @@ -1082,7 +1082,7 @@ def test_acc2211(acc2211param, monkeypatch, costs): :type monkeypatch: _pytest.monkeypatch.monkeypatch """ - monkeypatch.setattr(build_variables, "fwarea", acc2211param.fwarea) + monkeypatch.setattr(build_variables, "a_fw_total", acc2211param.a_fw_total) monkeypatch.setattr(cost_variables, "ucblss", acc2211param.ucblss) diff --git a/tests/unit/test_dcll.py b/tests/unit/test_dcll.py index 7f2f5d997a..08591d369d 100644 --- a/tests/unit/test_dcll.py +++ b/tests/unit/test_dcll.py @@ -27,7 +27,7 @@ def dcll(): class DcllNeutronicsAndPowerParam(NamedTuple): a_fw_outboard: Any = None - fwarea: Any = None + a_fw_total: Any = None porbitlossmw: Any = None @@ -91,7 +91,7 @@ class DcllNeutronicsAndPowerParam(NamedTuple): ( DcllNeutronicsAndPowerParam( a_fw_outboard=988.92586580655245, - fwarea=1601.1595634509963, + a_fw_total=1601.1595634509963, porbitlossmw=0, fdiv=0.115, praddiv=0, @@ -123,7 +123,7 @@ class DcllNeutronicsAndPowerParam(NamedTuple): ), DcllNeutronicsAndPowerParam( a_fw_outboard=1168.1172772224481, - fwarea=1891.2865102700493, + a_fw_total=1891.2865102700493, porbitlossmw=0, fdiv=0.115, praddiv=33.056596978820579, @@ -172,7 +172,9 @@ def test_dcll_neutronics_and_power(dcllneutronicsandpowerparam, monkeypatch, dcl build_variables, "a_fw_outboard", dcllneutronicsandpowerparam.a_fw_outboard ) - monkeypatch.setattr(build_variables, "fwarea", dcllneutronicsandpowerparam.fwarea) + monkeypatch.setattr( + build_variables, "a_fw_total", dcllneutronicsandpowerparam.a_fw_total + ) monkeypatch.setattr( current_drive_variables, diff --git a/tests/unit/test_ife.py b/tests/unit/test_ife.py index 6b83af9df5..1c5dcddf80 100644 --- a/tests/unit/test_ife.py +++ b/tests/unit/test_ife.py @@ -47,7 +47,7 @@ def test_ifetgt(monkeypatch, ife): class SombldParam(NamedTuple): - fwarea: Any = None + a_fw_total: Any = None ifetyp: Any = None chrad: Any = None r1: Any = None @@ -114,7 +114,7 @@ class SombldParam(NamedTuple): v2matf: Any = None shmatf: Any = None v3matf: Any = None - expected_fwarea: Any = None + expected_a_fw_total: Any = None expected_r1: Any = None expected_r2: Any = None expected_r3: Any = None @@ -156,7 +156,7 @@ class SombldParam(NamedTuple): "sombldparam", ( SombldParam( - fwarea=0, + a_fw_total=0, ifetyp=2, chrad=3.5, r1=0, @@ -383,7 +383,7 @@ class SombldParam(NamedTuple): ), order="F", ).transpose(), - expected_fwarea=258.39044229575416, + expected_a_fw_total=258.39044229575416, expected_r1=3.5, expected_r2=3.5550000000000002, expected_r3=3.5600000000000001, @@ -548,7 +548,7 @@ def test_sombld(sombldparam, monkeypatch, ife): :param monkeypatch: pytest fixture used to mock module/class variables :type monkeypatch: _pytest.monkeypatch.monkeypatch """ - monkeypatch.setattr(build_variables, "fwarea", sombldparam.fwarea) + monkeypatch.setattr(build_variables, "a_fw_total", sombldparam.a_fw_total) monkeypatch.setattr(ife_variables, "ifetyp", sombldparam.ifetyp) monkeypatch.setattr(ife_variables, "chrad", sombldparam.chrad) monkeypatch.setattr(ife_variables, "r1", sombldparam.r1) @@ -618,7 +618,7 @@ def test_sombld(sombldparam, monkeypatch, ife): ife.sombld() - assert build_variables.fwarea == pytest.approx(sombldparam.expected_fwarea) + assert build_variables.a_fw_total == pytest.approx(sombldparam.expected_a_fw_total) assert ife_variables.r1 == pytest.approx(sombldparam.expected_r1) assert ife_variables.r2 == pytest.approx(sombldparam.expected_r2) assert ife_variables.r3 == pytest.approx(sombldparam.expected_r3) @@ -747,7 +747,7 @@ def test_lasdrv(lasdrvparam, ife): class HylbldParam(NamedTuple): - fwarea: Any = None + a_fw_total: Any = None ifetyp: Any = None chrad: Any = None r1: Any = None @@ -798,7 +798,7 @@ class HylbldParam(NamedTuple): shmatv: Any = None v3matv: Any = None chmatv: Any = None - expected_fwarea: Any = None + expected_a_fw_total: Any = None expected_r1: Any = None expected_r2: Any = None expected_r3: Any = None @@ -833,7 +833,7 @@ class HylbldParam(NamedTuple): "hylbldparam", ( HylbldParam( - fwarea=0, + a_fw_total=0, ifetyp=3, chrad=3.5, r1=0, @@ -964,7 +964,7 @@ class HylbldParam(NamedTuple): chmatv=np.array( np.array((0, 0, 0, 0, 0, 0, 0, 0, 0), order="F"), order="F" ).transpose(), - expected_fwarea=281.91872215483801, + expected_a_fw_total=281.91872215483801, expected_r1=3.5, expected_r2=3.5550000000000002, expected_r3=3.5600000000000001, @@ -1089,7 +1089,7 @@ def test_hylbld(hylbldparam, monkeypatch, ife): :param monkeypatch: pytest fixture used to mock module/class variables :type monkeypatch: _pytest.monkeypatch.monkeypatch """ - monkeypatch.setattr(build_variables, "fwarea", hylbldparam.fwarea) + monkeypatch.setattr(build_variables, "a_fw_total", hylbldparam.a_fw_total) monkeypatch.setattr(ife_variables, "ifetyp", hylbldparam.ifetyp) monkeypatch.setattr(ife_variables, "chrad", hylbldparam.chrad) monkeypatch.setattr(ife_variables, "r1", hylbldparam.r1) @@ -1143,7 +1143,7 @@ def test_hylbld(hylbldparam, monkeypatch, ife): ife.hylbld() - assert build_variables.fwarea == pytest.approx(hylbldparam.expected_fwarea) + assert build_variables.a_fw_total == pytest.approx(hylbldparam.expected_a_fw_total) assert ife_variables.r1 == pytest.approx(hylbldparam.expected_r1) assert ife_variables.r2 == pytest.approx(hylbldparam.expected_r2) assert ife_variables.r3 == pytest.approx(hylbldparam.expected_r3) @@ -1207,7 +1207,7 @@ def test_iondrv(iondrvparam, ife): class IfefbsParam(NamedTuple): - fwarea: Any = None + a_fw_total: Any = None tlife: Any = None abktflnc: Any = None cfactr: Any = None @@ -1257,7 +1257,7 @@ class IfefbsParam(NamedTuple): "ifefbsparam", ( IfefbsParam( - fwarea=188.02432031734912, + a_fw_total=188.02432031734912, tlife=30, abktflnc=20, cfactr=0.75000000000000011, @@ -1542,7 +1542,7 @@ def test_ifefbs(ifefbsparam, monkeypatch, ife): :param monkeypatch: pytest fixture used to mock module/class variables :type monkeypatch: _pytest.monkeypatch.monkeypatch """ - monkeypatch.setattr(build_variables, "fwarea", ifefbsparam.fwarea) + monkeypatch.setattr(build_variables, "a_fw_total", ifefbsparam.a_fw_total) monkeypatch.setattr(cost_variables, "tlife", ifefbsparam.tlife) monkeypatch.setattr(cost_variables, "abktflnc", ifefbsparam.abktflnc) monkeypatch.setattr(cost_variables, "cfactr", ifefbsparam.cfactr) @@ -1592,7 +1592,7 @@ def test_ifefbs(ifefbsparam, monkeypatch, ife): class GenbldParam(NamedTuple): - fwarea: Any = None + a_fw_total: Any = None ifetyp: Any = None chrad: Any = None r1: Any = None @@ -1643,7 +1643,7 @@ class GenbldParam(NamedTuple): shmatv: Any = None v3matv: Any = None chmatv: Any = None - expected_fwarea: Any = None + expected_a_fw_total: Any = None expected_r1: Any = None expected_r2: Any = None expected_r3: Any = None @@ -1678,7 +1678,7 @@ class GenbldParam(NamedTuple): "genbldparam", ( GenbldParam( - fwarea=0, + a_fw_total=0, ifetyp=0, chrad=3.5, r1=0, @@ -1809,7 +1809,7 @@ class GenbldParam(NamedTuple): chmatv=np.array( np.array((0, 0, 0, 0, 0, 0, 0, 0, 0), order="F"), order="F" ).transpose(), - expected_fwarea=226.5088303238241, + expected_a_fw_total=226.5088303238241, expected_r1=3.5, expected_r2=3.5550000000000002, expected_r3=3.5600000000000001, @@ -1934,7 +1934,7 @@ def test_genbld(genbldparam, monkeypatch, ife): :param monkeypatch: pytest fixture used to mock module/class variables :type monkeypatch: _pytest.monkeypatch.monkeypatch """ - monkeypatch.setattr(build_variables, "fwarea", genbldparam.fwarea) + monkeypatch.setattr(build_variables, "a_fw_total", genbldparam.a_fw_total) monkeypatch.setattr(ife_variables, "ifetyp", genbldparam.ifetyp) monkeypatch.setattr(ife_variables, "chrad", genbldparam.chrad) monkeypatch.setattr(ife_variables, "r1", genbldparam.r1) @@ -1988,7 +1988,7 @@ def test_genbld(genbldparam, monkeypatch, ife): ife.genbld() - assert build_variables.fwarea == pytest.approx(genbldparam.expected_fwarea) + assert build_variables.a_fw_total == pytest.approx(genbldparam.expected_a_fw_total) assert ife_variables.r1 == pytest.approx(genbldparam.expected_r1) assert ife_variables.r2 == pytest.approx(genbldparam.expected_r2) assert ife_variables.r3 == pytest.approx(genbldparam.expected_r3) @@ -2132,7 +2132,7 @@ def test_ifepw1(ifepw1param, monkeypatch, ife): class Bld2019Param(NamedTuple): - fwarea: Any = None + a_fw_total: Any = None trcl: Any = None stcl: Any = None tbr: Any = None @@ -2187,7 +2187,7 @@ class Bld2019Param(NamedTuple): shmatv: Any = None v3matv: Any = None chmatv: Any = None - expected_fwarea: Any = None + expected_a_fw_total: Any = None expected_tbr: Any = None expected_emult: Any = None expected_r1: Any = None @@ -2224,7 +2224,7 @@ class Bld2019Param(NamedTuple): "bld2019param", ( Bld2019Param( - fwarea=0, + a_fw_total=0, trcl=1, stcl=3, tbr=0, @@ -2359,7 +2359,7 @@ class Bld2019Param(NamedTuple): chmatv=np.array( np.array((0, 0, 0, 0, 0, 0, 0, 0, 0), order="F"), order="F" ).transpose(), - expected_fwarea=36.573165036030936, + expected_a_fw_total=36.573165036030936, expected_tbr=1.3991938274222466, expected_emult=0.87599606521170326, expected_r1=3.5, @@ -2460,7 +2460,7 @@ def test_bld2019(bld2019param, monkeypatch, ife): :param monkeypatch: pytest fixture used to mock module/class variables :type monkeypatch: _pytest.monkeypatch.monkeypatch """ - monkeypatch.setattr(build_variables, "fwarea", bld2019param.fwarea) + monkeypatch.setattr(build_variables, "a_fw_total", bld2019param.a_fw_total) monkeypatch.setattr(buildings_variables, "trcl", bld2019param.trcl) monkeypatch.setattr(buildings_variables, "stcl", bld2019param.stcl) monkeypatch.setattr(fwbs_variables, "tbr", bld2019param.tbr) @@ -2518,7 +2518,7 @@ def test_bld2019(bld2019param, monkeypatch, ife): ife.bld2019() - assert build_variables.fwarea == pytest.approx(bld2019param.expected_fwarea) + assert build_variables.a_fw_total == pytest.approx(bld2019param.expected_a_fw_total) assert fwbs_variables.tbr == pytest.approx(bld2019param.expected_tbr) assert fwbs_variables.emult == pytest.approx(bld2019param.expected_emult) assert ife_variables.r1 == pytest.approx(bld2019param.expected_r1) diff --git a/tests/unit/test_stellarator.py b/tests/unit/test_stellarator.py index 5feada7bfc..964139e5f8 100644 --- a/tests/unit/test_stellarator.py +++ b/tests/unit/test_stellarator.py @@ -220,7 +220,7 @@ class StbildParam(NamedTuple): dr_vv_outboard: Any = None - fwarea: Any = None + a_fw_total: Any = None dr_fw_inboard: Any = None @@ -308,7 +308,7 @@ class StbildParam(NamedTuple): expected_bore: Any = None - expected_fwarea: Any = None + expected_a_fw_total: Any = None expected_dr_fw_inboard: Any = None @@ -349,7 +349,7 @@ class StbildParam(NamedTuple): dr_bore=1.4199999999999999, dr_vv_inboard=0.35000000000000003, dr_vv_outboard=0.35000000000000003, - fwarea=0, + a_fw_total=0, dr_fw_inboard=0, dr_fw_outboard=0, dr_shld_vv_gap_inboard=0.025000000000000005, @@ -393,7 +393,7 @@ class StbildParam(NamedTuple): outfile=11, expected_blnktth=0.75, expected_bore=17.79214950143977, - expected_fwarea=1918.8188778803135, + expected_a_fw_total=1918.8188778803135, expected_dr_fw_inboard=0.018000000000000002, expected_dr_fw_outboard=0.018000000000000002, expected_dr_shld_vv_gap_outboard=0.025000000000000005, @@ -419,7 +419,7 @@ class StbildParam(NamedTuple): dr_bore=17.79214950143977, dr_vv_inboard=0.35000000000000003, dr_vv_outboard=0.35000000000000003, - fwarea=1918.8188778803135, + a_fw_total=1918.8188778803135, dr_fw_inboard=0.018000000000000002, dr_fw_outboard=0.018000000000000002, dr_shld_vv_gap_inboard=0.025000000000000005, @@ -463,7 +463,7 @@ class StbildParam(NamedTuple): outfile=11, expected_blnktth=0.75, expected_bore=17.79214950143977, - expected_fwarea=2120.6210472630282, + expected_a_fw_total=2120.6210472630282, expected_dr_fw_inboard=0.018000000000000002, expected_dr_fw_outboard=0.018000000000000002, expected_dr_shld_vv_gap_outboard=0.025000000000000005, @@ -517,7 +517,7 @@ def test_stbild(stbildparam, monkeypatch, stellarator): monkeypatch.setattr(build_variables, "dr_vv_outboard", stbildparam.dr_vv_outboard) - monkeypatch.setattr(build_variables, "fwarea", stbildparam.fwarea) + monkeypatch.setattr(build_variables, "a_fw_total", stbildparam.a_fw_total) monkeypatch.setattr(build_variables, "dr_fw_inboard", stbildparam.dr_fw_inboard) @@ -636,7 +636,7 @@ def test_stbild(stbildparam, monkeypatch, stellarator): assert build_variables.dr_bore == pytest.approx(stbildparam.expected_bore) - assert build_variables.fwarea == pytest.approx(stbildparam.expected_fwarea) + assert build_variables.a_fw_total == pytest.approx(stbildparam.expected_a_fw_total) assert build_variables.dr_fw_inboard == pytest.approx( stbildparam.expected_dr_fw_inboard From a40c26635af762b4cc5a0240926b05b1d92c0b92 Mon Sep 17 00:00:00 2001 From: mn3981 Date: Sun, 26 Jan 2025 17:38:32 +0000 Subject: [PATCH 10/21] =?UTF-8?q?=F0=9F=94=84=20Rename=20`volfw`=20to=20`v?= =?UTF-8?q?ol=5Ffw=5Ftotal`=20for=20clarity=20and=20consistency=20across?= =?UTF-8?q?=20the=20codebase?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../data/csv_output_large_tokamak_MFILE.DAT | 2 +- examples/data/large_tokamak_1_MFILE.DAT | 2 +- examples/data/large_tokamak_2_MFILE.DAT | 2 +- examples/data/large_tokamak_3_MFILE.DAT | 2 +- examples/data/large_tokamak_4_MFILE.DAT | 2 +- examples/data/scan_MFILE.DAT | 18 +++++------ process/dcll.py | 16 +++++----- process/hcpb.py | 8 ++--- source/fortran/fwbs_variables.f90 | 4 +-- .../data/large_tokamak_1_MFILE.DAT | 2 +- .../data/large_tokamak_2_MFILE.DAT | 2 +- .../data/large_tokamak_3_MFILE.DAT | 2 +- .../data/large_tokamak_4_MFILE.DAT | 2 +- .../integration/data/large_tokamak_MFILE.DAT | 2 +- tests/integration/data/scan_2D_MFILE.DAT | 30 +++++++++---------- tests/integration/data/scan_MFILE.DAT | 18 +++++------ tests/integration/ref_dicts.json | 6 ++-- tests/unit/data/large_tokamak_MFILE.DAT | 2 +- tests/unit/test_ccfe_hcpb.py | 8 +++-- tests/unit/test_dcll.py | 18 ++++++----- 20 files changed, 77 insertions(+), 71 deletions(-) diff --git a/examples/data/csv_output_large_tokamak_MFILE.DAT b/examples/data/csv_output_large_tokamak_MFILE.DAT index 1ba15e8bb6..41862e0160 100644 --- a/examples/data/csv_output_large_tokamak_MFILE.DAT +++ b/examples/data/csv_output_large_tokamak_MFILE.DAT @@ -960,7 +960,7 @@ Coolant_fraction________________________________________________________ (vfcblkt)_____________________ 5.2950E-02 Purge_gas_fraction______________________________________________________ (vfpblkt)_____________________ 1.0000E-01 First_Wall_Armour_Volume_(m3)___________________________________________ (fw_armour_vol)_______________ 5.8692E+00 - First_Wall_Volume_(m3)__________________________________________________ (volfw)_______________________ 1.9807E+01 + First_Wall_Volume_(m3)__________________________________________________ (vol_fw_total)_______________________ 1.9807E+01 Blanket_Volume_(m3)_____________________________________________________ (volblkt)_____________________ 1.1849E+03 Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.8520E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.0178E+03 diff --git a/examples/data/large_tokamak_1_MFILE.DAT b/examples/data/large_tokamak_1_MFILE.DAT index 895bdaebfc..527186cda7 100644 --- a/examples/data/large_tokamak_1_MFILE.DAT +++ b/examples/data/large_tokamak_1_MFILE.DAT @@ -955,7 +955,7 @@ Coolant_fraction________________________________________________________ (vfcblkt)_____________________ 5.2950E-02 Purge_gas_fraction______________________________________________________ (vfpblkt)_____________________ 1.0000E-01 First_Wall_Armour_Volume_(m3)___________________________________________ (fw_armour_vol)_______________ 5.8692E+00 - First_Wall_Volume_(m3)__________________________________________________ (volfw)_______________________ 1.9807E+01 + First_Wall_Volume_(m3)__________________________________________________ (vol_fw_total)_______________________ 1.9807E+01 Blanket_Volume_(m3)_____________________________________________________ (volblkt)_____________________ 1.1849E+03 Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.8520E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.0178E+03 diff --git a/examples/data/large_tokamak_2_MFILE.DAT b/examples/data/large_tokamak_2_MFILE.DAT index 4a7a59cbf8..7a2ef7ccfc 100644 --- a/examples/data/large_tokamak_2_MFILE.DAT +++ b/examples/data/large_tokamak_2_MFILE.DAT @@ -955,7 +955,7 @@ Coolant_fraction________________________________________________________ (vfcblkt)_____________________ 5.2950E-02 Purge_gas_fraction______________________________________________________ (vfpblkt)_____________________ 1.0000E-01 First_Wall_Armour_Volume_(m3)___________________________________________ (fw_armour_vol)_______________ 5.8692E+00 - First_Wall_Volume_(m3)__________________________________________________ (volfw)_______________________ 1.9807E+01 + First_Wall_Volume_(m3)__________________________________________________ (vol_fw_total)_______________________ 1.9807E+01 Blanket_Volume_(m3)_____________________________________________________ (volblkt)_____________________ 1.1849E+03 Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.8520E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.0178E+03 diff --git a/examples/data/large_tokamak_3_MFILE.DAT b/examples/data/large_tokamak_3_MFILE.DAT index e17a2fd38f..a4376861ac 100644 --- a/examples/data/large_tokamak_3_MFILE.DAT +++ b/examples/data/large_tokamak_3_MFILE.DAT @@ -955,7 +955,7 @@ Coolant_fraction________________________________________________________ (vfcblkt)_____________________ 5.2950E-02 Purge_gas_fraction______________________________________________________ (vfpblkt)_____________________ 1.0000E-01 First_Wall_Armour_Volume_(m3)___________________________________________ (fw_armour_vol)_______________ 5.8692E+00 - First_Wall_Volume_(m3)__________________________________________________ (volfw)_______________________ 1.9807E+01 + First_Wall_Volume_(m3)__________________________________________________ (vol_fw_total)_______________________ 1.9807E+01 Blanket_Volume_(m3)_____________________________________________________ (volblkt)_____________________ 1.1849E+03 Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.8520E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.0178E+03 diff --git a/examples/data/large_tokamak_4_MFILE.DAT b/examples/data/large_tokamak_4_MFILE.DAT index 22fa6f150c..e2b7da573b 100644 --- a/examples/data/large_tokamak_4_MFILE.DAT +++ b/examples/data/large_tokamak_4_MFILE.DAT @@ -955,7 +955,7 @@ Coolant_fraction________________________________________________________ (vfcblkt)_____________________ 5.2950E-02 Purge_gas_fraction______________________________________________________ (vfpblkt)_____________________ 1.0000E-01 First_Wall_Armour_Volume_(m3)___________________________________________ (fw_armour_vol)_______________ 5.8692E+00 - First_Wall_Volume_(m3)__________________________________________________ (volfw)_______________________ 1.9807E+01 + First_Wall_Volume_(m3)__________________________________________________ (vol_fw_total)_______________________ 1.9807E+01 Blanket_Volume_(m3)_____________________________________________________ (volblkt)_____________________ 1.1849E+03 Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.8520E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.0178E+03 diff --git a/examples/data/scan_MFILE.DAT b/examples/data/scan_MFILE.DAT index bd8e9075ff..60745a0772 100644 --- a/examples/data/scan_MFILE.DAT +++ b/examples/data/scan_MFILE.DAT @@ -784,7 +784,7 @@ Coolant_fraction________________________________________________________ (vfcblkt)_____________________ 5.2950E-02 Purge_gas_fraction______________________________________________________ (vfpblkt)_____________________ 1.0000E-01 First_Wall_Armour_Volume_(m3)___________________________________________ (fw_armour_vol)_______________ 7.4780E+00 - First_Wall_Volume_(m3)__________________________________________________ (volfw)_______________________ 2.4743E+01 + First_Wall_Volume_(m3)__________________________________________________ (vol_fw_total)_______________________ 2.4743E+01 Blanket_Volume_(m3)_____________________________________________________ (volblkt)_____________________ 1.4825E+03 Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.7675E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.2227E+03 @@ -1779,7 +1779,7 @@ Coolant_fraction________________________________________________________ (vfcblkt)_____________________ 5.2950E-02 Purge_gas_fraction______________________________________________________ (vfpblkt)_____________________ 1.0000E-01 First_Wall_Armour_Volume_(m3)___________________________________________ (fw_armour_vol)_______________ 7.4780E+00 - First_Wall_Volume_(m3)__________________________________________________ (volfw)_______________________ 2.4743E+01 + First_Wall_Volume_(m3)__________________________________________________ (vol_fw_total)_______________________ 2.4743E+01 Blanket_Volume_(m3)_____________________________________________________ (volblkt)_____________________ 1.4825E+03 Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.7675E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.2227E+03 @@ -2774,7 +2774,7 @@ Coolant_fraction________________________________________________________ (vfcblkt)_____________________ 5.2950E-02 Purge_gas_fraction______________________________________________________ (vfpblkt)_____________________ 1.0000E-01 First_Wall_Armour_Volume_(m3)___________________________________________ (fw_armour_vol)_______________ 7.4780E+00 - First_Wall_Volume_(m3)__________________________________________________ (volfw)_______________________ 2.4743E+01 + First_Wall_Volume_(m3)__________________________________________________ (vol_fw_total)_______________________ 2.4743E+01 Blanket_Volume_(m3)_____________________________________________________ (volblkt)_____________________ 1.4825E+03 Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.7675E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.2227E+03 @@ -3769,7 +3769,7 @@ Coolant_fraction________________________________________________________ (vfcblkt)_____________________ 5.2950E-02 Purge_gas_fraction______________________________________________________ (vfpblkt)_____________________ 1.0000E-01 First_Wall_Armour_Volume_(m3)___________________________________________ (fw_armour_vol)_______________ 7.4780E+00 - First_Wall_Volume_(m3)__________________________________________________ (volfw)_______________________ 2.4743E+01 + First_Wall_Volume_(m3)__________________________________________________ (vol_fw_total)_______________________ 2.4743E+01 Blanket_Volume_(m3)_____________________________________________________ (volblkt)_____________________ 1.4825E+03 Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.7675E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.2227E+03 @@ -4764,7 +4764,7 @@ Coolant_fraction________________________________________________________ (vfcblkt)_____________________ 5.2950E-02 Purge_gas_fraction______________________________________________________ (vfpblkt)_____________________ 1.0000E-01 First_Wall_Armour_Volume_(m3)___________________________________________ (fw_armour_vol)_______________ 7.4780E+00 - First_Wall_Volume_(m3)__________________________________________________ (volfw)_______________________ 2.4743E+01 + First_Wall_Volume_(m3)__________________________________________________ (vol_fw_total)_______________________ 2.4743E+01 Blanket_Volume_(m3)_____________________________________________________ (volblkt)_____________________ 1.4825E+03 Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.7675E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.2227E+03 @@ -5759,7 +5759,7 @@ Coolant_fraction________________________________________________________ (vfcblkt)_____________________ 5.2950E-02 Purge_gas_fraction______________________________________________________ (vfpblkt)_____________________ 1.0000E-01 First_Wall_Armour_Volume_(m3)___________________________________________ (fw_armour_vol)_______________ 7.4780E+00 - First_Wall_Volume_(m3)__________________________________________________ (volfw)_______________________ 2.4743E+01 + First_Wall_Volume_(m3)__________________________________________________ (vol_fw_total)_______________________ 2.4743E+01 Blanket_Volume_(m3)_____________________________________________________ (volblkt)_____________________ 1.4825E+03 Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.7675E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.2227E+03 @@ -6754,7 +6754,7 @@ Coolant_fraction________________________________________________________ (vfcblkt)_____________________ 5.2950E-02 Purge_gas_fraction______________________________________________________ (vfpblkt)_____________________ 1.0000E-01 First_Wall_Armour_Volume_(m3)___________________________________________ (fw_armour_vol)_______________ 7.4780E+00 - First_Wall_Volume_(m3)__________________________________________________ (volfw)_______________________ 2.4743E+01 + First_Wall_Volume_(m3)__________________________________________________ (vol_fw_total)_______________________ 2.4743E+01 Blanket_Volume_(m3)_____________________________________________________ (volblkt)_____________________ 1.4825E+03 Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.7675E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.2227E+03 @@ -7749,7 +7749,7 @@ Coolant_fraction________________________________________________________ (vfcblkt)_____________________ 5.2950E-02 Purge_gas_fraction______________________________________________________ (vfpblkt)_____________________ 1.0000E-01 First_Wall_Armour_Volume_(m3)___________________________________________ (fw_armour_vol)_______________ 7.4780E+00 - First_Wall_Volume_(m3)__________________________________________________ (volfw)_______________________ 2.4743E+01 + First_Wall_Volume_(m3)__________________________________________________ (vol_fw_total)_______________________ 2.4743E+01 Blanket_Volume_(m3)_____________________________________________________ (volblkt)_____________________ 1.4825E+03 Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.7675E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.2227E+03 @@ -8744,7 +8744,7 @@ Coolant_fraction________________________________________________________ (vfcblkt)_____________________ 5.2950E-02 Purge_gas_fraction______________________________________________________ (vfpblkt)_____________________ 1.0000E-01 First_Wall_Armour_Volume_(m3)___________________________________________ (fw_armour_vol)_______________ 7.4780E+00 - First_Wall_Volume_(m3)__________________________________________________ (volfw)_______________________ 2.4743E+01 + First_Wall_Volume_(m3)__________________________________________________ (vol_fw_total)_______________________ 2.4743E+01 Blanket_Volume_(m3)_____________________________________________________ (volblkt)_____________________ 1.4825E+03 Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.7675E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.2227E+03 diff --git a/process/dcll.py b/process/dcll.py index c33ff7f5fa..7128dee7e9 100644 --- a/process/dcll.py +++ b/process/dcll.py @@ -666,18 +666,20 @@ def dcll_masses(self, output: bool): # FW # First wall volume (m^3) - fwbs_variables.volfw = ( + fwbs_variables.vol_fw_total = ( build_variables.a_fw_inboard * build_variables.dr_fw_inboard + build_variables.a_fw_outboard * build_variables.dr_fw_outboard ) # First wall mass, excluding armour (kg) dcll_module.fwmass_stl = ( - fwbs_variables.denstl * dcll_module.f_vol_stl_fw * fwbs_variables.volfw + fwbs_variables.denstl + * dcll_module.f_vol_stl_fw + * fwbs_variables.vol_fw_total ) dcll_module.fwmass_cool = ( fwbs_variables.rhof_fw * (1 - dcll_module.f_vol_stl_fw) - * fwbs_variables.volfw + * fwbs_variables.vol_fw_total ) fwbs_variables.fwmass = dcll_module.fwmass_stl + dcll_module.fwmass_cool # First wall armour volume (m^3) @@ -718,7 +720,7 @@ def dcll_masses(self, output: bool): * ( build_variables.a_fw_inboard * build_variables.dr_fw_inboard - / fwbs_variables.volfw + / fwbs_variables.vol_fw_total ) + fwbs_variables.fw_armour_mass * ( @@ -737,7 +739,7 @@ def dcll_masses(self, output: bool): * ( build_variables.a_fw_outboard * build_variables.dr_fw_outboard - / fwbs_variables.volfw + / fwbs_variables.vol_fw_total ) + fwbs_variables.fw_armour_mass * ( @@ -899,8 +901,8 @@ def write_output(self): po.ovarrf( self.outfile, "First Wall Volume (m3)", - "(volfw)", - fwbs_variables.volfw, + "(vol_fw_total)", + fwbs_variables.vol_fw_total, "OP ", ) po.ovarrf( diff --git a/process/hcpb.py b/process/hcpb.py index b7a4ca1e36..effa3225a5 100644 --- a/process/hcpb.py +++ b/process/hcpb.py @@ -293,7 +293,7 @@ def component_masses(self): fwbs_variables.wpenshld = fwbs_variables.whtshld # First wall volume (m^3) - fwbs_variables.volfw = ( + fwbs_variables.vol_fw_total = ( build_variables.a_fw_inboard * build_variables.dr_fw_inboard * (1.0 - fwbs_variables.vffwi) @@ -303,7 +303,7 @@ def component_masses(self): ) # First wall mass, excluding armour (kg) - fwbs_variables.fwmass = fwbs_variables.denstl * fwbs_variables.volfw + fwbs_variables.fwmass = fwbs_variables.denstl * fwbs_variables.vol_fw_total # First wall armour volume (m^3) fwbs_variables.fw_armour_vol = ( @@ -1265,8 +1265,8 @@ def write_output(self): po.ovarrf( self.outfile, "First Wall Volume (m3)", - "(volfw)", - fwbs_variables.volfw, + "(vol_fw_total)", + fwbs_variables.vol_fw_total, "OP ", ) po.ovarrf( diff --git a/source/fortran/fwbs_variables.f90 b/source/fortran/fwbs_variables.f90 index 52a4837e28..2e9883d0a7 100644 --- a/source/fortran/fwbs_variables.f90 +++ b/source/fortran/fwbs_variables.f90 @@ -183,7 +183,7 @@ module fwbs_variables real(dp) :: psurffwi, psurffwo !! Surface heat flux on first wall [MW] (sum = pradfw) - real(dp) :: volfw + real(dp) :: vol_fw_total !! First wall volume [m3] real(dp) :: fblss_ccfe, fblli2sio4, fbltibe12 @@ -709,7 +709,7 @@ subroutine init_fwbs_variables vffwo = 0.0D0 psurffwi = 0.0D0 psurffwo = 0.0D0 - volfw = 0.0D0 + vol_fw_total = 0.0D0 fblss_ccfe = 0.0D0 fblli2sio4 = 0.0D0 fbltibe12 = 0.0D0 diff --git a/tests/integration/data/large_tokamak_1_MFILE.DAT b/tests/integration/data/large_tokamak_1_MFILE.DAT index 7f03fd0cac..22f4e0950a 100644 --- a/tests/integration/data/large_tokamak_1_MFILE.DAT +++ b/tests/integration/data/large_tokamak_1_MFILE.DAT @@ -954,7 +954,7 @@ Coolant_fraction________________________________________________________ (vfcblkt)_____________________ 5.2950E-02 Purge_gas_fraction______________________________________________________ (vfpblkt)_____________________ 1.0000E-01 First_Wall_Armour_Volume_(m3)___________________________________________ (fw_armour_vol)_______________ 5.8692E+00 - First_Wall_Volume_(m3)__________________________________________________ (volfw)_______________________ 1.9807E+01 + First_Wall_Volume_(m3)__________________________________________________ (vol_fw_total)_______________________ 1.9807E+01 Blanket_Volume_(m3)_____________________________________________________ (volblkt)_____________________ 1.1849E+03 Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.8520E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.0178E+03 diff --git a/tests/integration/data/large_tokamak_2_MFILE.DAT b/tests/integration/data/large_tokamak_2_MFILE.DAT index 67b9b01137..32916643f6 100644 --- a/tests/integration/data/large_tokamak_2_MFILE.DAT +++ b/tests/integration/data/large_tokamak_2_MFILE.DAT @@ -955,7 +955,7 @@ Coolant_fraction________________________________________________________ (vfcblkt)_____________________ 5.2950E-02 Purge_gas_fraction______________________________________________________ (vfpblkt)_____________________ 1.0000E-01 First_Wall_Armour_Volume_(m3)___________________________________________ (fw_armour_vol)_______________ 5.8692E+00 - First_Wall_Volume_(m3)__________________________________________________ (volfw)_______________________ 1.9807E+01 + First_Wall_Volume_(m3)__________________________________________________ (vol_fw_total)_______________________ 1.9807E+01 Blanket_Volume_(m3)_____________________________________________________ (volblkt)_____________________ 1.1849E+03 Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.8520E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.0178E+03 diff --git a/tests/integration/data/large_tokamak_3_MFILE.DAT b/tests/integration/data/large_tokamak_3_MFILE.DAT index 09a307d87c..3cd29703e8 100644 --- a/tests/integration/data/large_tokamak_3_MFILE.DAT +++ b/tests/integration/data/large_tokamak_3_MFILE.DAT @@ -955,7 +955,7 @@ Coolant_fraction________________________________________________________ (vfcblkt)_____________________ 5.2950E-02 Purge_gas_fraction______________________________________________________ (vfpblkt)_____________________ 1.0000E-01 First_Wall_Armour_Volume_(m3)___________________________________________ (fw_armour_vol)_______________ 5.8692E+00 - First_Wall_Volume_(m3)__________________________________________________ (volfw)_______________________ 1.9807E+01 + First_Wall_Volume_(m3)__________________________________________________ (vol_fw_total)_______________________ 1.9807E+01 Blanket_Volume_(m3)_____________________________________________________ (volblkt)_____________________ 1.1849E+03 Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.8520E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.0178E+03 diff --git a/tests/integration/data/large_tokamak_4_MFILE.DAT b/tests/integration/data/large_tokamak_4_MFILE.DAT index 8050d926c5..289b49aa11 100644 --- a/tests/integration/data/large_tokamak_4_MFILE.DAT +++ b/tests/integration/data/large_tokamak_4_MFILE.DAT @@ -955,7 +955,7 @@ Coolant_fraction________________________________________________________ (vfcblkt)_____________________ 5.2950E-02 Purge_gas_fraction______________________________________________________ (vfpblkt)_____________________ 1.0000E-01 First_Wall_Armour_Volume_(m3)___________________________________________ (fw_armour_vol)_______________ 5.8692E+00 - First_Wall_Volume_(m3)__________________________________________________ (volfw)_______________________ 1.9807E+01 + First_Wall_Volume_(m3)__________________________________________________ (vol_fw_total)_______________________ 1.9807E+01 Blanket_Volume_(m3)_____________________________________________________ (volblkt)_____________________ 1.1849E+03 Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.8520E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.0178E+03 diff --git a/tests/integration/data/large_tokamak_MFILE.DAT b/tests/integration/data/large_tokamak_MFILE.DAT index afbc818089..cdecd7d9af 100644 --- a/tests/integration/data/large_tokamak_MFILE.DAT +++ b/tests/integration/data/large_tokamak_MFILE.DAT @@ -958,7 +958,7 @@ Coolant_fraction________________________________________________________ (vfcblkt)_____________________ 5.2950E-02 Purge_gas_fraction______________________________________________________ (vfpblkt)_____________________ 1.0000E-01 First_Wall_Armour_Volume_(m3)___________________________________________ (fw_armour_vol)_______________ 5.8692E+00 - First_Wall_Volume_(m3)__________________________________________________ (volfw)_______________________ 1.9807E+01 + First_Wall_Volume_(m3)__________________________________________________ (vol_fw_total)_______________________ 1.9807E+01 Blanket_Volume_(m3)_____________________________________________________ (volblkt)_____________________ 1.1849E+03 Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.8520E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.0178E+03 diff --git a/tests/integration/data/scan_2D_MFILE.DAT b/tests/integration/data/scan_2D_MFILE.DAT index 92b26d7544..053178da51 100644 --- a/tests/integration/data/scan_2D_MFILE.DAT +++ b/tests/integration/data/scan_2D_MFILE.DAT @@ -956,7 +956,7 @@ Coolant_fraction________________________________________________________ (vfcblkt)_____________________ 5.2950E-02 Purge_gas_fraction______________________________________________________ (vfpblkt)_____________________ 1.0000E-01 First_Wall_Armour_Volume_(m3)___________________________________________ (fw_armour_vol)_______________ 5.8692E+00 - First_Wall_Volume_(m3)__________________________________________________ (volfw)_______________________ 1.9807E+01 + First_Wall_Volume_(m3)__________________________________________________ (vol_fw_total)_______________________ 1.9807E+01 Blanket_Volume_(m3)_____________________________________________________ (volblkt)_____________________ 1.1849E+03 Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.8520E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.0178E+03 @@ -2119,7 +2119,7 @@ Coolant_fraction________________________________________________________ (vfcblkt)_____________________ 5.2950E-02 Purge_gas_fraction______________________________________________________ (vfpblkt)_____________________ 1.0000E-01 First_Wall_Armour_Volume_(m3)___________________________________________ (fw_armour_vol)_______________ 5.8692E+00 - First_Wall_Volume_(m3)__________________________________________________ (volfw)_______________________ 1.9807E+01 + First_Wall_Volume_(m3)__________________________________________________ (vol_fw_total)_______________________ 1.9807E+01 Blanket_Volume_(m3)_____________________________________________________ (volblkt)_____________________ 1.1849E+03 Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.8520E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.0178E+03 @@ -3282,7 +3282,7 @@ Coolant_fraction________________________________________________________ (vfcblkt)_____________________ 5.2950E-02 Purge_gas_fraction______________________________________________________ (vfpblkt)_____________________ 1.0000E-01 First_Wall_Armour_Volume_(m3)___________________________________________ (fw_armour_vol)_______________ 5.8692E+00 - First_Wall_Volume_(m3)__________________________________________________ (volfw)_______________________ 1.9807E+01 + First_Wall_Volume_(m3)__________________________________________________ (vol_fw_total)_______________________ 1.9807E+01 Blanket_Volume_(m3)_____________________________________________________ (volblkt)_____________________ 1.1849E+03 Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.8520E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.0178E+03 @@ -4445,7 +4445,7 @@ Coolant_fraction________________________________________________________ (vfcblkt)_____________________ 5.2950E-02 Purge_gas_fraction______________________________________________________ (vfpblkt)_____________________ 1.0000E-01 First_Wall_Armour_Volume_(m3)___________________________________________ (fw_armour_vol)_______________ 5.8692E+00 - First_Wall_Volume_(m3)__________________________________________________ (volfw)_______________________ 1.9807E+01 + First_Wall_Volume_(m3)__________________________________________________ (vol_fw_total)_______________________ 1.9807E+01 Blanket_Volume_(m3)_____________________________________________________ (volblkt)_____________________ 1.1849E+03 Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.8520E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.0178E+03 @@ -5608,7 +5608,7 @@ Coolant_fraction________________________________________________________ (vfcblkt)_____________________ 5.2950E-02 Purge_gas_fraction______________________________________________________ (vfpblkt)_____________________ 1.0000E-01 First_Wall_Armour_Volume_(m3)___________________________________________ (fw_armour_vol)_______________ 5.8692E+00 - First_Wall_Volume_(m3)__________________________________________________ (volfw)_______________________ 1.9807E+01 + First_Wall_Volume_(m3)__________________________________________________ (vol_fw_total)_______________________ 1.9807E+01 Blanket_Volume_(m3)_____________________________________________________ (volblkt)_____________________ 1.1849E+03 Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.8520E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.0178E+03 @@ -6771,7 +6771,7 @@ Coolant_fraction________________________________________________________ (vfcblkt)_____________________ 5.2950E-02 Purge_gas_fraction______________________________________________________ (vfpblkt)_____________________ 1.0000E-01 First_Wall_Armour_Volume_(m3)___________________________________________ (fw_armour_vol)_______________ 5.8692E+00 - First_Wall_Volume_(m3)__________________________________________________ (volfw)_______________________ 1.9807E+01 + First_Wall_Volume_(m3)__________________________________________________ (vol_fw_total)_______________________ 1.9807E+01 Blanket_Volume_(m3)_____________________________________________________ (volblkt)_____________________ 1.1849E+03 Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.8520E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.0178E+03 @@ -7934,7 +7934,7 @@ Coolant_fraction________________________________________________________ (vfcblkt)_____________________ 5.2950E-02 Purge_gas_fraction______________________________________________________ (vfpblkt)_____________________ 1.0000E-01 First_Wall_Armour_Volume_(m3)___________________________________________ (fw_armour_vol)_______________ 5.8692E+00 - First_Wall_Volume_(m3)__________________________________________________ (volfw)_______________________ 1.9807E+01 + First_Wall_Volume_(m3)__________________________________________________ (vol_fw_total)_______________________ 1.9807E+01 Blanket_Volume_(m3)_____________________________________________________ (volblkt)_____________________ 1.1849E+03 Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.8520E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.0178E+03 @@ -9097,7 +9097,7 @@ Coolant_fraction________________________________________________________ (vfcblkt)_____________________ 5.2950E-02 Purge_gas_fraction______________________________________________________ (vfpblkt)_____________________ 1.0000E-01 First_Wall_Armour_Volume_(m3)___________________________________________ (fw_armour_vol)_______________ 5.8692E+00 - First_Wall_Volume_(m3)__________________________________________________ (volfw)_______________________ 1.9807E+01 + First_Wall_Volume_(m3)__________________________________________________ (vol_fw_total)_______________________ 1.9807E+01 Blanket_Volume_(m3)_____________________________________________________ (volblkt)_____________________ 1.1849E+03 Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.8520E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.0178E+03 @@ -10260,7 +10260,7 @@ Coolant_fraction________________________________________________________ (vfcblkt)_____________________ 5.2950E-02 Purge_gas_fraction______________________________________________________ (vfpblkt)_____________________ 1.0000E-01 First_Wall_Armour_Volume_(m3)___________________________________________ (fw_armour_vol)_______________ 5.8692E+00 - First_Wall_Volume_(m3)__________________________________________________ (volfw)_______________________ 1.9807E+01 + First_Wall_Volume_(m3)__________________________________________________ (vol_fw_total)_______________________ 1.9807E+01 Blanket_Volume_(m3)_____________________________________________________ (volblkt)_____________________ 1.1849E+03 Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.8520E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.0178E+03 @@ -11423,7 +11423,7 @@ Coolant_fraction________________________________________________________ (vfcblkt)_____________________ 5.2950E-02 Purge_gas_fraction______________________________________________________ (vfpblkt)_____________________ 1.0000E-01 First_Wall_Armour_Volume_(m3)___________________________________________ (fw_armour_vol)_______________ 5.8692E+00 - First_Wall_Volume_(m3)__________________________________________________ (volfw)_______________________ 1.9807E+01 + First_Wall_Volume_(m3)__________________________________________________ (vol_fw_total)_______________________ 1.9807E+01 Blanket_Volume_(m3)_____________________________________________________ (volblkt)_____________________ 1.1849E+03 Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.8520E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.0178E+03 @@ -12586,7 +12586,7 @@ Coolant_fraction________________________________________________________ (vfcblkt)_____________________ 5.2950E-02 Purge_gas_fraction______________________________________________________ (vfpblkt)_____________________ 1.0000E-01 First_Wall_Armour_Volume_(m3)___________________________________________ (fw_armour_vol)_______________ 5.8692E+00 - First_Wall_Volume_(m3)__________________________________________________ (volfw)_______________________ 1.9807E+01 + First_Wall_Volume_(m3)__________________________________________________ (vol_fw_total)_______________________ 1.9807E+01 Blanket_Volume_(m3)_____________________________________________________ (volblkt)_____________________ 1.1849E+03 Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.8520E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.0178E+03 @@ -13749,7 +13749,7 @@ Coolant_fraction________________________________________________________ (vfcblkt)_____________________ 5.2950E-02 Purge_gas_fraction______________________________________________________ (vfpblkt)_____________________ 1.0000E-01 First_Wall_Armour_Volume_(m3)___________________________________________ (fw_armour_vol)_______________ 5.8692E+00 - First_Wall_Volume_(m3)__________________________________________________ (volfw)_______________________ 1.9807E+01 + First_Wall_Volume_(m3)__________________________________________________ (vol_fw_total)_______________________ 1.9807E+01 Blanket_Volume_(m3)_____________________________________________________ (volblkt)_____________________ 1.1849E+03 Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.8520E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.0178E+03 @@ -14912,7 +14912,7 @@ Coolant_fraction________________________________________________________ (vfcblkt)_____________________ 5.2950E-02 Purge_gas_fraction______________________________________________________ (vfpblkt)_____________________ 1.0000E-01 First_Wall_Armour_Volume_(m3)___________________________________________ (fw_armour_vol)_______________ 5.8692E+00 - First_Wall_Volume_(m3)__________________________________________________ (volfw)_______________________ 1.9807E+01 + First_Wall_Volume_(m3)__________________________________________________ (vol_fw_total)_______________________ 1.9807E+01 Blanket_Volume_(m3)_____________________________________________________ (volblkt)_____________________ 1.1849E+03 Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.8520E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.0178E+03 @@ -16075,7 +16075,7 @@ Coolant_fraction________________________________________________________ (vfcblkt)_____________________ 5.2950E-02 Purge_gas_fraction______________________________________________________ (vfpblkt)_____________________ 1.0000E-01 First_Wall_Armour_Volume_(m3)___________________________________________ (fw_armour_vol)_______________ 5.8692E+00 - First_Wall_Volume_(m3)__________________________________________________ (volfw)_______________________ 1.9807E+01 + First_Wall_Volume_(m3)__________________________________________________ (vol_fw_total)_______________________ 1.9807E+01 Blanket_Volume_(m3)_____________________________________________________ (volblkt)_____________________ 1.1849E+03 Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.8520E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.0178E+03 @@ -17238,7 +17238,7 @@ Coolant_fraction________________________________________________________ (vfcblkt)_____________________ 5.2950E-02 Purge_gas_fraction______________________________________________________ (vfpblkt)_____________________ 1.0000E-01 First_Wall_Armour_Volume_(m3)___________________________________________ (fw_armour_vol)_______________ 5.8692E+00 - First_Wall_Volume_(m3)__________________________________________________ (volfw)_______________________ 1.9807E+01 + First_Wall_Volume_(m3)__________________________________________________ (vol_fw_total)_______________________ 1.9807E+01 Blanket_Volume_(m3)_____________________________________________________ (volblkt)_____________________ 1.1849E+03 Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.8520E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.0178E+03 diff --git a/tests/integration/data/scan_MFILE.DAT b/tests/integration/data/scan_MFILE.DAT index 6fbf493732..c1121b1ff2 100644 --- a/tests/integration/data/scan_MFILE.DAT +++ b/tests/integration/data/scan_MFILE.DAT @@ -784,7 +784,7 @@ Coolant_fraction________________________________________________________ (vfcblkt)_____________________ 5.2950E-02 Purge_gas_fraction______________________________________________________ (vfpblkt)_____________________ 1.0000E-01 First_Wall_Armour_Volume_(m3)___________________________________________ (fw_armour_vol)_______________ 7.4780E+00 - First_Wall_Volume_(m3)__________________________________________________ (volfw)_______________________ 2.4743E+01 + First_Wall_Volume_(m3)__________________________________________________ (vol_fw_total)_______________________ 2.4743E+01 Blanket_Volume_(m3)_____________________________________________________ (volblkt)_____________________ 1.4825E+03 Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.7675E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.2227E+03 @@ -1779,7 +1779,7 @@ Coolant_fraction________________________________________________________ (vfcblkt)_____________________ 5.2950E-02 Purge_gas_fraction______________________________________________________ (vfpblkt)_____________________ 1.0000E-01 First_Wall_Armour_Volume_(m3)___________________________________________ (fw_armour_vol)_______________ 7.4780E+00 - First_Wall_Volume_(m3)__________________________________________________ (volfw)_______________________ 2.4743E+01 + First_Wall_Volume_(m3)__________________________________________________ (vol_fw_total)_______________________ 2.4743E+01 Blanket_Volume_(m3)_____________________________________________________ (volblkt)_____________________ 1.4825E+03 Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.7675E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.2227E+03 @@ -2774,7 +2774,7 @@ Coolant_fraction________________________________________________________ (vfcblkt)_____________________ 5.2950E-02 Purge_gas_fraction______________________________________________________ (vfpblkt)_____________________ 1.0000E-01 First_Wall_Armour_Volume_(m3)___________________________________________ (fw_armour_vol)_______________ 7.4780E+00 - First_Wall_Volume_(m3)__________________________________________________ (volfw)_______________________ 2.4743E+01 + First_Wall_Volume_(m3)__________________________________________________ (vol_fw_total)_______________________ 2.4743E+01 Blanket_Volume_(m3)_____________________________________________________ (volblkt)_____________________ 1.4825E+03 Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.7675E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.2227E+03 @@ -3769,7 +3769,7 @@ Coolant_fraction________________________________________________________ (vfcblkt)_____________________ 5.2950E-02 Purge_gas_fraction______________________________________________________ (vfpblkt)_____________________ 1.0000E-01 First_Wall_Armour_Volume_(m3)___________________________________________ (fw_armour_vol)_______________ 7.4780E+00 - First_Wall_Volume_(m3)__________________________________________________ (volfw)_______________________ 2.4743E+01 + First_Wall_Volume_(m3)__________________________________________________ (vol_fw_total)_______________________ 2.4743E+01 Blanket_Volume_(m3)_____________________________________________________ (volblkt)_____________________ 1.4825E+03 Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.7675E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.2227E+03 @@ -4764,7 +4764,7 @@ Coolant_fraction________________________________________________________ (vfcblkt)_____________________ 5.2950E-02 Purge_gas_fraction______________________________________________________ (vfpblkt)_____________________ 1.0000E-01 First_Wall_Armour_Volume_(m3)___________________________________________ (fw_armour_vol)_______________ 7.4780E+00 - First_Wall_Volume_(m3)__________________________________________________ (volfw)_______________________ 2.4743E+01 + First_Wall_Volume_(m3)__________________________________________________ (vol_fw_total)_______________________ 2.4743E+01 Blanket_Volume_(m3)_____________________________________________________ (volblkt)_____________________ 1.4825E+03 Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.7675E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.2227E+03 @@ -5759,7 +5759,7 @@ Coolant_fraction________________________________________________________ (vfcblkt)_____________________ 5.2950E-02 Purge_gas_fraction______________________________________________________ (vfpblkt)_____________________ 1.0000E-01 First_Wall_Armour_Volume_(m3)___________________________________________ (fw_armour_vol)_______________ 7.4780E+00 - First_Wall_Volume_(m3)__________________________________________________ (volfw)_______________________ 2.4743E+01 + First_Wall_Volume_(m3)__________________________________________________ (vol_fw_total)_______________________ 2.4743E+01 Blanket_Volume_(m3)_____________________________________________________ (volblkt)_____________________ 1.4825E+03 Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.7675E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.2227E+03 @@ -6754,7 +6754,7 @@ Coolant_fraction________________________________________________________ (vfcblkt)_____________________ 5.2950E-02 Purge_gas_fraction______________________________________________________ (vfpblkt)_____________________ 1.0000E-01 First_Wall_Armour_Volume_(m3)___________________________________________ (fw_armour_vol)_______________ 7.4780E+00 - First_Wall_Volume_(m3)__________________________________________________ (volfw)_______________________ 2.4743E+01 + First_Wall_Volume_(m3)__________________________________________________ (vol_fw_total)_______________________ 2.4743E+01 Blanket_Volume_(m3)_____________________________________________________ (volblkt)_____________________ 1.4825E+03 Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.7675E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.2227E+03 @@ -7749,7 +7749,7 @@ Coolant_fraction________________________________________________________ (vfcblkt)_____________________ 5.2950E-02 Purge_gas_fraction______________________________________________________ (vfpblkt)_____________________ 1.0000E-01 First_Wall_Armour_Volume_(m3)___________________________________________ (fw_armour_vol)_______________ 7.4780E+00 - First_Wall_Volume_(m3)__________________________________________________ (volfw)_______________________ 2.4743E+01 + First_Wall_Volume_(m3)__________________________________________________ (vol_fw_total)_______________________ 2.4743E+01 Blanket_Volume_(m3)_____________________________________________________ (volblkt)_____________________ 1.4825E+03 Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.7675E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.2227E+03 @@ -8744,7 +8744,7 @@ Coolant_fraction________________________________________________________ (vfcblkt)_____________________ 5.2950E-02 Purge_gas_fraction______________________________________________________ (vfpblkt)_____________________ 1.0000E-01 First_Wall_Armour_Volume_(m3)___________________________________________ (fw_armour_vol)_______________ 7.4780E+00 - First_Wall_Volume_(m3)__________________________________________________ (volfw)_______________________ 2.4743E+01 + First_Wall_Volume_(m3)__________________________________________________ (vol_fw_total)_______________________ 2.4743E+01 Blanket_Volume_(m3)_____________________________________________________ (volblkt)_____________________ 1.4825E+03 Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.7675E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.2227E+03 diff --git a/tests/integration/ref_dicts.json b/tests/integration/ref_dicts.json index f3c4682fac..1f17054e4a 100644 --- a/tests/integration/ref_dicts.json +++ b/tests/integration/ref_dicts.json @@ -7974,7 +7974,7 @@ "volblkt": 0.0, "volblkti": 0.0, "volblkto": 0.0, - "volfw": 0.0, + "vol_fw_total": 0.0, "volheat": 0.0, "volnucb": 0.0, "volperenergy": 0.0, @@ -11083,7 +11083,7 @@ "volblkt": "volume of blanket (m3)", "volblkti": "volume of inboard blanket (m3)", "volblkto": "volume of outboard blanket (m3)", - "volfw": "First wall volume [m3]", + "vol_fw_total": "First wall volume [m3]", "volheat": "volumetric heat of vaporization (J/m3)", "volnucb": "sum of nuclear buildings volumes (m3)", "volperenergy": "volume evaporated by units of heat energy (m3/MJ)", @@ -17240,7 +17240,7 @@ "blanket_density", "shield_density", "vv_density", - "volfw", + "vol_fw_total", "x_blanket", "x_shield", "tfc_nuc_heating", diff --git a/tests/unit/data/large_tokamak_MFILE.DAT b/tests/unit/data/large_tokamak_MFILE.DAT index 18986368cf..b3ae45800d 100644 --- a/tests/unit/data/large_tokamak_MFILE.DAT +++ b/tests/unit/data/large_tokamak_MFILE.DAT @@ -958,7 +958,7 @@ Coolant_fraction________________________________________________________ (vfcblkt)_____________________ 5.2950E-02 Purge_gas_fraction______________________________________________________ (vfpblkt)_____________________ 1.0000E-01 First_Wall_Armour_Volume_(m3)___________________________________________ (fw_armour_vol)_______________ 5.8692E+00 - First_Wall_Volume_(m3)__________________________________________________ (volfw)_______________________ 1.9807E+01 + First_Wall_Volume_(m3)__________________________________________________ (vol_fw_total)_______________________ 1.9807E+01 Blanket_Volume_(m3)_____________________________________________________ (volblkt)_____________________ 1.1849E+03 Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.8520E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.0178E+03 diff --git a/tests/unit/test_ccfe_hcpb.py b/tests/unit/test_ccfe_hcpb.py index 6fd9a361bf..16e72b5671 100644 --- a/tests/unit/test_ccfe_hcpb.py +++ b/tests/unit/test_ccfe_hcpb.py @@ -1442,7 +1442,7 @@ class ComponentMassesParam(NamedTuple): i_blanket_type: Any = None vffwi: Any = None vffwo: Any = None - volfw: Any = None + vol_fw_total: Any = None fblss_ccfe: Any = None fblli2sio4: Any = None fbltibe12: Any = None @@ -1533,7 +1533,7 @@ class ComponentMassesParam(NamedTuple): i_blanket_type=1, vffwi=0, vffwo=0, - volfw=0, + vol_fw_total=0, fblss_ccfe=0, fblli2sio4=0, fbltibe12=0, @@ -1663,7 +1663,9 @@ def test_component_masses(componentmassesparam, monkeypatch, ccfe_hcpb): ) monkeypatch.setattr(fwbs_variables, "vffwi", componentmassesparam.vffwi) monkeypatch.setattr(fwbs_variables, "vffwo", componentmassesparam.vffwo) - monkeypatch.setattr(fwbs_variables, "volfw", componentmassesparam.volfw) + monkeypatch.setattr( + fwbs_variables, "vol_fw_total", componentmassesparam.vol_fw_total + ) monkeypatch.setattr(fwbs_variables, "fblss_ccfe", componentmassesparam.fblss_ccfe) monkeypatch.setattr(fwbs_variables, "fblli2sio4", componentmassesparam.fblli2sio4) monkeypatch.setattr(fwbs_variables, "fbltibe12", componentmassesparam.fbltibe12) diff --git a/tests/unit/test_dcll.py b/tests/unit/test_dcll.py index 08591d369d..1edfc77c06 100644 --- a/tests/unit/test_dcll.py +++ b/tests/unit/test_dcll.py @@ -320,7 +320,7 @@ class DcllMassesParam(NamedTuple): fw_armour_mass: Any = None - volfw: Any = None + vol_fw_total: Any = None armour_fw_bl_mass: Any = None @@ -434,7 +434,7 @@ class DcllMassesParam(NamedTuple): expected_fw_armour_mass: Any = None - expected_volfw: Any = None + expected_vol_fw_total: Any = None expected_armour_fw_bl_mass: Any = None @@ -538,7 +538,7 @@ class DcllMassesParam(NamedTuple): fw_armour_vol=0, fw_armour_thickness=0.0050000000000000001, fw_armour_mass=0, - volfw=0, + vol_fw_total=0, armour_fw_bl_mass=0, denstl=7800, den_liq=9753.2497999999996, @@ -595,7 +595,7 @@ class DcllMassesParam(NamedTuple): expected_fwmass=193353.16636179245, expected_fw_armour_vol=7.0163598878346534, expected_fw_armour_mass=135064.92784081708, - expected_volfw=28.820872142117942, + expected_vol_fw_total=28.820872142117942, expected_armour_fw_bl_mass=10982927.3383231, expected_r_f_liq_ib=0.79000002145767212, expected_w_f_liq_ib=0.79000002145767212, @@ -657,7 +657,7 @@ class DcllMassesParam(NamedTuple): fw_armour_vol=7.0163598878346534, fw_armour_thickness=0.0050000000000000001, fw_armour_mass=135064.92784081708, - volfw=28.820872142117942, + vol_fw_total=28.820872142117942, armour_fw_bl_mass=10982927.3383231, denstl=7800, den_liq=9753.2497999999996, @@ -714,7 +714,7 @@ class DcllMassesParam(NamedTuple): expected_fwmass=228388.37777659783, expected_fw_armour_vol=7.0163598878346534, expected_fw_armour_mass=135064.92784081708, - expected_volfw=34.043157184860888, + expected_vol_fw_total=34.043157184860888, expected_armour_fw_bl_mass=11037295.118881352, expected_r_f_liq_ib=0.79000002145767212, expected_w_f_liq_ib=0.79000002145767212, @@ -829,7 +829,7 @@ def test_dcll_masses(dcllmassesparam, monkeypatch, dcll): fwbs_variables, "fw_armour_mass", dcllmassesparam.fw_armour_mass ) - monkeypatch.setattr(fwbs_variables, "volfw", dcllmassesparam.volfw) + monkeypatch.setattr(fwbs_variables, "vol_fw_total", dcllmassesparam.vol_fw_total) monkeypatch.setattr( fwbs_variables, "armour_fw_bl_mass", dcllmassesparam.armour_fw_bl_mass @@ -967,7 +967,9 @@ def test_dcll_masses(dcllmassesparam, monkeypatch, dcll): dcllmassesparam.expected_fw_armour_mass ) - assert fwbs_variables.volfw == pytest.approx(dcllmassesparam.expected_volfw) + assert fwbs_variables.vol_fw_total == pytest.approx( + dcllmassesparam.expected_vol_fw_total + ) assert fwbs_variables.armour_fw_bl_mass == pytest.approx( dcllmassesparam.expected_armour_fw_bl_mass From 2b52571b732e9ae6c5f0715e2a567b830d0a8449 Mon Sep 17 00:00:00 2001 From: mn3981 Date: Sun, 26 Jan 2025 17:50:43 +0000 Subject: [PATCH 11/21] =?UTF-8?q?=F0=9F=94=84=20Rename=20`vffwo`=20to=20`f?= =?UTF-8?q?=5Fa=5Ffw=5Fcoolant=5Foutboard`=20for=20clarity=20and=20consist?= =?UTF-8?q?ency=20across=20the=20codebase?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- process/hcpb.py | 8 ++++---- process/stellarator.py | 14 +++++++++----- source/fortran/fwbs_variables.f90 | 6 +++--- tests/integration/ref_dicts.json | 6 +++--- tests/unit/test_ccfe_hcpb.py | 32 +++++++++++++++++++------------ 5 files changed, 39 insertions(+), 27 deletions(-) diff --git a/process/hcpb.py b/process/hcpb.py index effa3225a5..89cbb86ac3 100644 --- a/process/hcpb.py +++ b/process/hcpb.py @@ -237,7 +237,7 @@ def component_masses(self): * fwbs_variables.vffwi + build_variables.a_fw_outboard * build_variables.dr_fw_outboard - * fwbs_variables.vffwo + * fwbs_variables.f_a_fw_coolant_outboard ) # Mass of He coolant = volume * density at typical coolant temperatures and pressures (kg) @@ -250,7 +250,7 @@ def component_masses(self): * fwbs_variables.vffwi + build_variables.a_fw_outboard * build_variables.dr_fw_outboard - * fwbs_variables.vffwo + * fwbs_variables.f_a_fw_coolant_outboard ) / ( build_variables.a_fw_total * 0.5 @@ -299,7 +299,7 @@ def component_masses(self): * (1.0 - fwbs_variables.vffwi) + build_variables.a_fw_outboard * build_variables.dr_fw_outboard - * (1.0 - fwbs_variables.vffwo) + * (1.0 - fwbs_variables.f_a_fw_coolant_outboard) ) # First wall mass, excluding armour (kg) @@ -398,7 +398,7 @@ def nuclear_heating_magnets(self, output: bool): ) # outboard FW coolant void fraction - fwbs_variables.vffwo = fwbs_variables.vffwi + fwbs_variables.f_a_fw_coolant_outboard = fwbs_variables.vffwi # mean FW coolant void fraction vffwm = fwbs_variables.vffwi diff --git a/process/stellarator.py b/process/stellarator.py index 2759e1d550..41f2bc399f 100644 --- a/process/stellarator.py +++ b/process/stellarator.py @@ -1251,7 +1251,7 @@ def stfwbs(self, output: bool): - fwbs_variables.fblbreed - fwbs_variables.fblss ) - vffwo = vffwi + f_a_fw_coolant_outboard = vffwi else: fwbs_variables.pnuc_cp = 0.0e0 @@ -1396,7 +1396,7 @@ def stfwbs(self, output: bool): vffwi = ( fwbs_variables.afwi * fwbs_variables.afwi / (bfwi * bfwi) ) # inboard FW coolant void fraction - vffwo = ( + f_a_fw_coolant_outboard = ( fwbs_variables.afwo * fwbs_variables.afwo / (bfwo * bfwo) ) # outboard FW coolant void fraction @@ -1777,12 +1777,14 @@ def stfwbs(self, output: bool): * (1.0e0 - vffwi) + build_variables.a_fw_outboard * build_variables.dr_fw_outboard - * (1.0e0 - vffwo) + * (1.0e0 - f_a_fw_coolant_outboard) ) coolvol = ( coolvol + build_variables.a_fw_inboard * build_variables.dr_fw_inboard * vffwi - + build_variables.a_fw_outboard * build_variables.dr_fw_outboard * vffwo + + build_variables.a_fw_outboard + * build_variables.dr_fw_outboard + * f_a_fw_coolant_outboard ) # Average first wall coolant fraction, only used by old routines @@ -1790,7 +1792,9 @@ def stfwbs(self, output: bool): fwbs_variables.fwclfr = ( build_variables.a_fw_inboard * build_variables.dr_fw_inboard * vffwi - + build_variables.a_fw_outboard * build_variables.dr_fw_outboard * vffwo + + build_variables.a_fw_outboard + * build_variables.dr_fw_outboard + * f_a_fw_coolant_outboard ) / ( build_variables.a_fw_total * 0.5e0 diff --git a/source/fortran/fwbs_variables.f90 b/source/fortran/fwbs_variables.f90 index 2e9883d0a7..bd7e171d7a 100644 --- a/source/fortran/fwbs_variables.f90 +++ b/source/fortran/fwbs_variables.f90 @@ -177,8 +177,8 @@ module fwbs_variables !! ( neut_absorb = -1 --> a fit on simplified MCNP neutronic !! calculation is used assuming water cooled (13%) tungesten carbyde ) - real(dp) :: vffwi, vffwo - !! Inboard/outboard FW coolant void fraction + real(dp) :: vffwi, f_a_fw_coolant_outboard + !! Inboard/outboard FW coolant cross-sectional area void fraction real(dp) :: psurffwi, psurffwo !! Surface heat flux on first wall [MW] (sum = pradfw) @@ -706,7 +706,7 @@ subroutine init_fwbs_variables whtbltibe12 = 0.0D0 f_neut_shield = -1.0D0 vffwi = 0.0D0 - vffwo = 0.0D0 + f_a_fw_coolant_outboard = 0.0D0 psurffwi = 0.0D0 psurffwo = 0.0D0 vol_fw_total = 0.0D0 diff --git a/tests/integration/ref_dicts.json b/tests/integration/ref_dicts.json index 1f17054e4a..6f984a2c61 100644 --- a/tests/integration/ref_dicts.json +++ b/tests/integration/ref_dicts.json @@ -7913,7 +7913,7 @@ "vfblkto": null, "vfcblkt": 0.05295, "vffwi": 0.0, - "vffwo": 0.0, + "f_a_fw_coolant_outboard": 0.0, "vfi": 0.0, "vfi_star": 0.0, "vfile": 14.0, @@ -11022,7 +11022,7 @@ "vfblkto": "Inboard/outboard void fraction of blanket", "vfcblkt": "He coolant fraction of blanket by volume (`i_blanket_type= 1,3` (CCFE HCPB))", "vffwi": "Inboard/outboard FW coolant void fraction", - "vffwo": "Inboard/outboard FW coolant void fraction", + "f_a_fw_coolant_outboard": "Inboard/outboard FW coolant void fraction", "vfi": "", "vfi_star": "", "vfile": "Verbose diagnostics file", @@ -17253,7 +17253,7 @@ "volshldi", "volshldo", "vffwi", - "vffwo", + "f_a_fw_coolant_outboard", "psurffwi", "psurffwo", "bldepti", diff --git a/tests/unit/test_ccfe_hcpb.py b/tests/unit/test_ccfe_hcpb.py index 16e72b5671..b584be0a66 100644 --- a/tests/unit/test_ccfe_hcpb.py +++ b/tests/unit/test_ccfe_hcpb.py @@ -71,7 +71,7 @@ class NuclearHeatingMagnetsParam(NamedTuple): vffwi: Any = None - vffwo: Any = None + f_a_fw_coolant_outboard: Any = None fusion_power: Any = None @@ -107,7 +107,7 @@ class NuclearHeatingMagnetsParam(NamedTuple): expected_vffwi: Any = None - expected_vffwo: Any = None + expected_f_a_fw_coolant_outboard: Any = None expected_armour_density: Any = None @@ -150,7 +150,7 @@ class NuclearHeatingMagnetsParam(NamedTuple): fw_armour_thickness=0.0050000000000000001, ptfnuc=0, vffwi=0, - vffwo=0, + f_a_fw_coolant_outboard=0, fusion_power=1986.0623241661431, itart=0, whttf=19649856.627845347, @@ -168,7 +168,7 @@ class NuclearHeatingMagnetsParam(NamedTuple): tfc_nuc_heating=0, expected_ptfnuc=0.044541749095475737, expected_vffwi=0.31415926535897931, - expected_vffwo=0.31415926535897931, + expected_f_a_fw_coolant_outboard=0.31415926535897931, expected_armour_density=13202.434141839649, expected_fw_density=5349.557730199961, expected_blanket_density=2504.4899999999998, @@ -199,7 +199,7 @@ class NuclearHeatingMagnetsParam(NamedTuple): fw_armour_thickness=0.0050000000000000001, ptfnuc=0.044184461825198453, vffwi=0.31415926535897931, - vffwo=0.31415926535897931, + f_a_fw_coolant_outboard=0.31415926535897931, fusion_power=1985.4423932312809, itart=0, whttf=19662548.210142396, @@ -217,7 +217,7 @@ class NuclearHeatingMagnetsParam(NamedTuple): tfc_nuc_heating=22427.165831352642, expected_ptfnuc=0.044556605747797934, expected_vffwi=0.31415926535897931, - expected_vffwo=0.31415926535897931, + expected_f_a_fw_coolant_outboard=0.31415926535897931, expected_armour_density=13202.434141839649, expected_fw_density=5349.557730199961, expected_blanket_density=2504.4900000000002, @@ -302,7 +302,11 @@ def test_nuclear_heating_magnets(nuclearheatingmagnetsparam, monkeypatch, ccfe_h monkeypatch.setattr(fwbs_variables, "vffwi", nuclearheatingmagnetsparam.vffwi) - monkeypatch.setattr(fwbs_variables, "vffwo", nuclearheatingmagnetsparam.vffwo) + monkeypatch.setattr( + fwbs_variables, + "f_a_fw_coolant_outboard", + nuclearheatingmagnetsparam.f_a_fw_coolant_outboard, + ) monkeypatch.setattr( physics_variables, "fusion_power", nuclearheatingmagnetsparam.fusion_power @@ -364,8 +368,8 @@ def test_nuclear_heating_magnets(nuclearheatingmagnetsparam, monkeypatch, ccfe_h nuclearheatingmagnetsparam.expected_vffwi ) - assert fwbs_variables.vffwo == pytest.approx( - nuclearheatingmagnetsparam.expected_vffwo + assert fwbs_variables.f_a_fw_coolant_outboard == pytest.approx( + nuclearheatingmagnetsparam.expected_f_a_fw_coolant_outboard ) assert ccfe_hcpb_module.armour_density == pytest.approx( @@ -1441,7 +1445,7 @@ class ComponentMassesParam(NamedTuple): fblbreed: Any = None i_blanket_type: Any = None vffwi: Any = None - vffwo: Any = None + f_a_fw_coolant_outboard: Any = None vol_fw_total: Any = None fblss_ccfe: Any = None fblli2sio4: Any = None @@ -1532,7 +1536,7 @@ class ComponentMassesParam(NamedTuple): fblbreed=0.154, i_blanket_type=1, vffwi=0, - vffwo=0, + f_a_fw_coolant_outboard=0, vol_fw_total=0, fblss_ccfe=0, fblli2sio4=0, @@ -1662,7 +1666,11 @@ def test_component_masses(componentmassesparam, monkeypatch, ccfe_hcpb): fwbs_variables, "i_blanket_type", componentmassesparam.i_blanket_type ) monkeypatch.setattr(fwbs_variables, "vffwi", componentmassesparam.vffwi) - monkeypatch.setattr(fwbs_variables, "vffwo", componentmassesparam.vffwo) + monkeypatch.setattr( + fwbs_variables, + "f_a_fw_coolant_outboard", + componentmassesparam.f_a_fw_coolant_outboard, + ) monkeypatch.setattr( fwbs_variables, "vol_fw_total", componentmassesparam.vol_fw_total ) From a07b4bf011f01d639c7f36da4b3e5e81171c60b8 Mon Sep 17 00:00:00 2001 From: mn3981 Date: Sun, 26 Jan 2025 17:58:00 +0000 Subject: [PATCH 12/21] =?UTF-8?q?=F0=9F=94=84=20Rename=20`vffwi`=20to=20`f?= =?UTF-8?q?=5Fa=5Ffw=5Fcoolant=5Finboard`=20for=20clarity=20and=20consiste?= =?UTF-8?q?ncy=20across=20the=20codebase?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- process/hcpb.py | 12 ++++++------ process/stellarator.py | 16 ++++++++++------ source/fortran/fwbs_variables.f90 | 4 ++-- tests/integration/ref_dicts.json | 6 +++--- tests/unit/test_ccfe_hcpb.py | 32 +++++++++++++++++++------------ 5 files changed, 41 insertions(+), 29 deletions(-) diff --git a/process/hcpb.py b/process/hcpb.py index 89cbb86ac3..aa717ae6bc 100644 --- a/process/hcpb.py +++ b/process/hcpb.py @@ -234,7 +234,7 @@ def component_masses(self): coolvol + build_variables.a_fw_inboard * build_variables.dr_fw_inboard - * fwbs_variables.vffwi + * fwbs_variables.f_a_fw_coolant_inboard + build_variables.a_fw_outboard * build_variables.dr_fw_outboard * fwbs_variables.f_a_fw_coolant_outboard @@ -247,7 +247,7 @@ def component_masses(self): fwbs_variables.fwclfr = ( build_variables.a_fw_inboard * build_variables.dr_fw_inboard - * fwbs_variables.vffwi + * fwbs_variables.f_a_fw_coolant_inboard + build_variables.a_fw_outboard * build_variables.dr_fw_outboard * fwbs_variables.f_a_fw_coolant_outboard @@ -296,7 +296,7 @@ def component_masses(self): fwbs_variables.vol_fw_total = ( build_variables.a_fw_inboard * build_variables.dr_fw_inboard - * (1.0 - fwbs_variables.vffwi) + * (1.0 - fwbs_variables.f_a_fw_coolant_inboard) + build_variables.a_fw_outboard * build_variables.dr_fw_outboard * (1.0 - fwbs_variables.f_a_fw_coolant_outboard) @@ -391,17 +391,17 @@ def nuclear_heating_magnets(self, output: bool): # First wall void fractions # inboard FW coolant void fraction - fwbs_variables.vffwi = ( + fwbs_variables.f_a_fw_coolant_inboard = ( np.pi * fwbs_variables.afw**2 / (fwbs_variables.pitch * build_variables.dr_fw_inboard) ) # outboard FW coolant void fraction - fwbs_variables.f_a_fw_coolant_outboard = fwbs_variables.vffwi + fwbs_variables.f_a_fw_coolant_outboard = fwbs_variables.f_a_fw_coolant_inboard # mean FW coolant void fraction - vffwm = fwbs_variables.vffwi + vffwm = fwbs_variables.f_a_fw_coolant_inboard # Calculate smeared densities of blanket sections # gaseous He coolant in armour, FW & blanket: He mass is neglected diff --git a/process/stellarator.py b/process/stellarator.py index 41f2bc399f..58299f01b7 100644 --- a/process/stellarator.py +++ b/process/stellarator.py @@ -1245,13 +1245,13 @@ def stfwbs(self, output: bool): # Void fraction in first wall / breeding zone, # for use in fwbs_variables.fwmass and coolvol calculation below - vffwi = ( + f_a_fw_coolant_inboard = ( 1.0e0 - fwbs_variables.fblbe - fwbs_variables.fblbreed - fwbs_variables.fblss ) - f_a_fw_coolant_outboard = vffwi + f_a_fw_coolant_outboard = f_a_fw_coolant_inboard else: fwbs_variables.pnuc_cp = 0.0e0 @@ -1393,7 +1393,7 @@ def stfwbs(self, output: bool): bfwi = 0.5e0 * build_variables.dr_fw_inboard bfwo = 0.5e0 * build_variables.dr_fw_outboard - vffwi = ( + f_a_fw_coolant_inboard = ( fwbs_variables.afwi * fwbs_variables.afwi / (bfwi * bfwi) ) # inboard FW coolant void fraction f_a_fw_coolant_outboard = ( @@ -1774,14 +1774,16 @@ def stfwbs(self, output: bool): fwbs_variables.fwmass = fwbs_variables.denstl * ( build_variables.a_fw_inboard * build_variables.dr_fw_inboard - * (1.0e0 - vffwi) + * (1.0e0 - f_a_fw_coolant_inboard) + build_variables.a_fw_outboard * build_variables.dr_fw_outboard * (1.0e0 - f_a_fw_coolant_outboard) ) coolvol = ( coolvol - + build_variables.a_fw_inboard * build_variables.dr_fw_inboard * vffwi + + build_variables.a_fw_inboard + * build_variables.dr_fw_inboard + * f_a_fw_coolant_inboard + build_variables.a_fw_outboard * build_variables.dr_fw_outboard * f_a_fw_coolant_outboard @@ -1791,7 +1793,9 @@ def stfwbs(self, output: bool): # in fispact.f90, safety.f90 fwbs_variables.fwclfr = ( - build_variables.a_fw_inboard * build_variables.dr_fw_inboard * vffwi + build_variables.a_fw_inboard + * build_variables.dr_fw_inboard + * f_a_fw_coolant_inboard + build_variables.a_fw_outboard * build_variables.dr_fw_outboard * f_a_fw_coolant_outboard diff --git a/source/fortran/fwbs_variables.f90 b/source/fortran/fwbs_variables.f90 index bd7e171d7a..5ca10bd8d7 100644 --- a/source/fortran/fwbs_variables.f90 +++ b/source/fortran/fwbs_variables.f90 @@ -177,7 +177,7 @@ module fwbs_variables !! ( neut_absorb = -1 --> a fit on simplified MCNP neutronic !! calculation is used assuming water cooled (13%) tungesten carbyde ) - real(dp) :: vffwi, f_a_fw_coolant_outboard + real(dp) :: f_a_fw_coolant_inboard, f_a_fw_coolant_outboard !! Inboard/outboard FW coolant cross-sectional area void fraction real(dp) :: psurffwi, psurffwo @@ -705,7 +705,7 @@ subroutine init_fwbs_variables whtblli4sio4 = 0.0D0 whtbltibe12 = 0.0D0 f_neut_shield = -1.0D0 - vffwi = 0.0D0 + f_a_fw_coolant_inboard = 0.0D0 f_a_fw_coolant_outboard = 0.0D0 psurffwi = 0.0D0 psurffwo = 0.0D0 diff --git a/tests/integration/ref_dicts.json b/tests/integration/ref_dicts.json index 6f984a2c61..8881add66e 100644 --- a/tests/integration/ref_dicts.json +++ b/tests/integration/ref_dicts.json @@ -7912,7 +7912,7 @@ "vfblkti": null, "vfblkto": null, "vfcblkt": 0.05295, - "vffwi": 0.0, + "f_a_fw_coolant_inboard": 0.0, "f_a_fw_coolant_outboard": 0.0, "vfi": 0.0, "vfi_star": 0.0, @@ -11021,7 +11021,7 @@ "vfblkti": "Inboard/outboard void fraction of blanket", "vfblkto": "Inboard/outboard void fraction of blanket", "vfcblkt": "He coolant fraction of blanket by volume (`i_blanket_type= 1,3` (CCFE HCPB))", - "vffwi": "Inboard/outboard FW coolant void fraction", + "f_a_fw_coolant_inboard": "Inboard/outboard FW coolant void fraction", "f_a_fw_coolant_outboard": "Inboard/outboard FW coolant void fraction", "vfi": "", "vfi_star": "", @@ -17252,7 +17252,7 @@ "hvv", "volshldi", "volshldo", - "vffwi", + "f_a_fw_coolant_inboard", "f_a_fw_coolant_outboard", "psurffwi", "psurffwo", diff --git a/tests/unit/test_ccfe_hcpb.py b/tests/unit/test_ccfe_hcpb.py index b584be0a66..a56b01e731 100644 --- a/tests/unit/test_ccfe_hcpb.py +++ b/tests/unit/test_ccfe_hcpb.py @@ -69,7 +69,7 @@ class NuclearHeatingMagnetsParam(NamedTuple): ptfnuc: Any = None - vffwi: Any = None + f_a_fw_coolant_inboard: Any = None f_a_fw_coolant_outboard: Any = None @@ -105,7 +105,7 @@ class NuclearHeatingMagnetsParam(NamedTuple): expected_ptfnuc: Any = None - expected_vffwi: Any = None + expected_f_a_fw_coolant_inboard: Any = None expected_f_a_fw_coolant_outboard: Any = None @@ -149,7 +149,7 @@ class NuclearHeatingMagnetsParam(NamedTuple): vdewin=1159.4792053672361, fw_armour_thickness=0.0050000000000000001, ptfnuc=0, - vffwi=0, + f_a_fw_coolant_inboard=0, f_a_fw_coolant_outboard=0, fusion_power=1986.0623241661431, itart=0, @@ -167,7 +167,7 @@ class NuclearHeatingMagnetsParam(NamedTuple): x_shield=0, tfc_nuc_heating=0, expected_ptfnuc=0.044541749095475737, - expected_vffwi=0.31415926535897931, + expected_f_a_fw_coolant_inboard=0.31415926535897931, expected_f_a_fw_coolant_outboard=0.31415926535897931, expected_armour_density=13202.434141839649, expected_fw_density=5349.557730199961, @@ -198,7 +198,7 @@ class NuclearHeatingMagnetsParam(NamedTuple): vdewin=1161.1450715665972, fw_armour_thickness=0.0050000000000000001, ptfnuc=0.044184461825198453, - vffwi=0.31415926535897931, + f_a_fw_coolant_inboard=0.31415926535897931, f_a_fw_coolant_outboard=0.31415926535897931, fusion_power=1985.4423932312809, itart=0, @@ -216,7 +216,7 @@ class NuclearHeatingMagnetsParam(NamedTuple): x_shield=4.056, tfc_nuc_heating=22427.165831352642, expected_ptfnuc=0.044556605747797934, - expected_vffwi=0.31415926535897931, + expected_f_a_fw_coolant_inboard=0.31415926535897931, expected_f_a_fw_coolant_outboard=0.31415926535897931, expected_armour_density=13202.434141839649, expected_fw_density=5349.557730199961, @@ -300,7 +300,11 @@ def test_nuclear_heating_magnets(nuclearheatingmagnetsparam, monkeypatch, ccfe_h monkeypatch.setattr(fwbs_variables, "ptfnuc", nuclearheatingmagnetsparam.ptfnuc) - monkeypatch.setattr(fwbs_variables, "vffwi", nuclearheatingmagnetsparam.vffwi) + monkeypatch.setattr( + fwbs_variables, + "f_a_fw_coolant_inboard", + nuclearheatingmagnetsparam.f_a_fw_coolant_inboard, + ) monkeypatch.setattr( fwbs_variables, @@ -364,8 +368,8 @@ def test_nuclear_heating_magnets(nuclearheatingmagnetsparam, monkeypatch, ccfe_h nuclearheatingmagnetsparam.expected_ptfnuc ) - assert fwbs_variables.vffwi == pytest.approx( - nuclearheatingmagnetsparam.expected_vffwi + assert fwbs_variables.f_a_fw_coolant_inboard == pytest.approx( + nuclearheatingmagnetsparam.expected_f_a_fw_coolant_inboard ) assert fwbs_variables.f_a_fw_coolant_outboard == pytest.approx( @@ -1444,7 +1448,7 @@ class ComponentMassesParam(NamedTuple): densbreed: Any = None fblbreed: Any = None i_blanket_type: Any = None - vffwi: Any = None + f_a_fw_coolant_inboard: Any = None f_a_fw_coolant_outboard: Any = None vol_fw_total: Any = None fblss_ccfe: Any = None @@ -1535,7 +1539,7 @@ class ComponentMassesParam(NamedTuple): densbreed=0, fblbreed=0.154, i_blanket_type=1, - vffwi=0, + f_a_fw_coolant_inboard=0, f_a_fw_coolant_outboard=0, vol_fw_total=0, fblss_ccfe=0, @@ -1665,7 +1669,11 @@ def test_component_masses(componentmassesparam, monkeypatch, ccfe_hcpb): monkeypatch.setattr( fwbs_variables, "i_blanket_type", componentmassesparam.i_blanket_type ) - monkeypatch.setattr(fwbs_variables, "vffwi", componentmassesparam.vffwi) + monkeypatch.setattr( + fwbs_variables, + "f_a_fw_coolant_inboard", + componentmassesparam.f_a_fw_coolant_inboard, + ) monkeypatch.setattr( fwbs_variables, "f_a_fw_coolant_outboard", From aba673817920f77fd2aa02f6933475fb74e87b3d Mon Sep 17 00:00:00 2001 From: mn3981 Date: Sun, 26 Jan 2025 18:04:16 +0000 Subject: [PATCH 13/21] =?UTF-8?q?=F0=9F=94=84=20Rename=20`fwmass`=20to=20`?= =?UTF-8?q?m=5Ffw=5Ftotal`=20for=20clarity=20and=20consistency=20across=20?= =?UTF-8?q?the=20codebase?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../data/csv_output_large_tokamak_MFILE.DAT | 2 +- examples/data/large_tokamak_1_MFILE.DAT | 2 +- examples/data/large_tokamak_2_MFILE.DAT | 2 +- examples/data/large_tokamak_3_MFILE.DAT | 2 +- examples/data/large_tokamak_4_MFILE.DAT | 2 +- examples/data/scan_MFILE.DAT | 18 +++++------ process/dcll.py | 12 ++++---- process/hcpb.py | 12 ++++---- process/ife.py | 10 +++---- process/stellarator.py | 11 ++++--- process/structure.py | 10 +++---- source/fortran/fwbs_variables.f90 | 4 +-- .../data/large_tokamak_1_MFILE.DAT | 2 +- .../data/large_tokamak_2_MFILE.DAT | 2 +- .../data/large_tokamak_3_MFILE.DAT | 2 +- .../data/large_tokamak_4_MFILE.DAT | 2 +- .../integration/data/large_tokamak_MFILE.DAT | 2 +- tests/integration/data/scan_2D_MFILE.DAT | 30 +++++++++---------- tests/integration/data/scan_MFILE.DAT | 18 +++++------ tests/integration/ref_dicts.json | 6 ++-- tests/unit/data/large_tokamak_MFILE.DAT | 2 +- tests/unit/test_ccfe_hcpb.py | 22 +++++++------- tests/unit/test_dcll.py | 18 ++++++----- tests/unit/test_ife.py | 12 ++++---- tests/unit/test_structure.py | 4 +-- 25 files changed, 108 insertions(+), 101 deletions(-) diff --git a/examples/data/csv_output_large_tokamak_MFILE.DAT b/examples/data/csv_output_large_tokamak_MFILE.DAT index 41862e0160..525a4661b6 100644 --- a/examples/data/csv_output_large_tokamak_MFILE.DAT +++ b/examples/data/csv_output_large_tokamak_MFILE.DAT @@ -965,7 +965,7 @@ Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.8520E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.0178E+03 First_Wall_Armour_Mass_(kg)_____________________________________________ (fw_armour_mass)______________ 1.1298E+05 OP - First_Wall_Mass,_excluding_armour_(kg)__________________________________ (fwmass)______________________ 1.5449E+05 OP + First_Wall_Mass,_excluding_armour_(kg)__________________________________ (m_fw_total)______________________ 1.5449E+05 OP Blanket_Mass_-_Total(kg)________________________________________________ (whtblkt)_____________________ 2.9676E+06 OP ____Blanket_Mass_-_TiBe12_(kg)__________________________________________ (whtbltibe12)_________________ 1.0042E+06 OP ____Blanket_Mass_-_Li4SiO4_(kg)_________________________________________ (whtblli4sio4)________________ 1.0664E+06 OP diff --git a/examples/data/large_tokamak_1_MFILE.DAT b/examples/data/large_tokamak_1_MFILE.DAT index 527186cda7..f2cc3cfaf3 100644 --- a/examples/data/large_tokamak_1_MFILE.DAT +++ b/examples/data/large_tokamak_1_MFILE.DAT @@ -960,7 +960,7 @@ Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.8520E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.0178E+03 First_Wall_Armour_Mass_(kg)_____________________________________________ (fw_armour_mass)______________ 1.1298E+05 OP - First_Wall_Mass,_excluding_armour_(kg)__________________________________ (fwmass)______________________ 1.5449E+05 OP + First_Wall_Mass,_excluding_armour_(kg)__________________________________ (m_fw_total)______________________ 1.5449E+05 OP Blanket_Mass_-_Total(kg)________________________________________________ (whtblkt)_____________________ 2.9676E+06 OP ____Blanket_Mass_-_TiBe12_(kg)__________________________________________ (whtbltibe12)_________________ 1.0042E+06 OP ____Blanket_Mass_-_Li4SiO4_(kg)_________________________________________ (whtblli4sio4)________________ 1.0664E+06 OP diff --git a/examples/data/large_tokamak_2_MFILE.DAT b/examples/data/large_tokamak_2_MFILE.DAT index 7a2ef7ccfc..5ab31c2507 100644 --- a/examples/data/large_tokamak_2_MFILE.DAT +++ b/examples/data/large_tokamak_2_MFILE.DAT @@ -960,7 +960,7 @@ Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.8520E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.0178E+03 First_Wall_Armour_Mass_(kg)_____________________________________________ (fw_armour_mass)______________ 1.1298E+05 OP - First_Wall_Mass,_excluding_armour_(kg)__________________________________ (fwmass)______________________ 1.5449E+05 OP + First_Wall_Mass,_excluding_armour_(kg)__________________________________ (m_fw_total)______________________ 1.5449E+05 OP Blanket_Mass_-_Total(kg)________________________________________________ (whtblkt)_____________________ 2.9676E+06 OP ____Blanket_Mass_-_TiBe12_(kg)__________________________________________ (whtbltibe12)_________________ 1.0042E+06 OP ____Blanket_Mass_-_Li4SiO4_(kg)_________________________________________ (whtblli4sio4)________________ 1.0664E+06 OP diff --git a/examples/data/large_tokamak_3_MFILE.DAT b/examples/data/large_tokamak_3_MFILE.DAT index a4376861ac..dcf57a4529 100644 --- a/examples/data/large_tokamak_3_MFILE.DAT +++ b/examples/data/large_tokamak_3_MFILE.DAT @@ -960,7 +960,7 @@ Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.8520E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.0178E+03 First_Wall_Armour_Mass_(kg)_____________________________________________ (fw_armour_mass)______________ 1.1298E+05 OP - First_Wall_Mass,_excluding_armour_(kg)__________________________________ (fwmass)______________________ 1.5449E+05 OP + First_Wall_Mass,_excluding_armour_(kg)__________________________________ (m_fw_total)______________________ 1.5449E+05 OP Blanket_Mass_-_Total(kg)________________________________________________ (whtblkt)_____________________ 2.9676E+06 OP ____Blanket_Mass_-_TiBe12_(kg)__________________________________________ (whtbltibe12)_________________ 1.0042E+06 OP ____Blanket_Mass_-_Li4SiO4_(kg)_________________________________________ (whtblli4sio4)________________ 1.0664E+06 OP diff --git a/examples/data/large_tokamak_4_MFILE.DAT b/examples/data/large_tokamak_4_MFILE.DAT index e2b7da573b..941fea72dc 100644 --- a/examples/data/large_tokamak_4_MFILE.DAT +++ b/examples/data/large_tokamak_4_MFILE.DAT @@ -960,7 +960,7 @@ Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.8520E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.0178E+03 First_Wall_Armour_Mass_(kg)_____________________________________________ (fw_armour_mass)______________ 1.1298E+05 OP - First_Wall_Mass,_excluding_armour_(kg)__________________________________ (fwmass)______________________ 1.5449E+05 OP + First_Wall_Mass,_excluding_armour_(kg)__________________________________ (m_fw_total)______________________ 1.5449E+05 OP Blanket_Mass_-_Total(kg)________________________________________________ (whtblkt)_____________________ 2.9676E+06 OP ____Blanket_Mass_-_TiBe12_(kg)__________________________________________ (whtbltibe12)_________________ 1.0042E+06 OP ____Blanket_Mass_-_Li4SiO4_(kg)_________________________________________ (whtblli4sio4)________________ 1.0664E+06 OP diff --git a/examples/data/scan_MFILE.DAT b/examples/data/scan_MFILE.DAT index 60745a0772..49715e8627 100644 --- a/examples/data/scan_MFILE.DAT +++ b/examples/data/scan_MFILE.DAT @@ -789,7 +789,7 @@ Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.7675E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.2227E+03 First_Wall_Armour_Mass_(kg)_____________________________________________ (fw_armour_mass)______________ 1.4395E+05 OP - First_Wall_Mass,_excluding_armour_(kg)__________________________________ (fwmass)______________________ 1.9300E+05 OP + First_Wall_Mass,_excluding_armour_(kg)__________________________________ (m_fw_total)______________________ 1.9300E+05 OP Blanket_Mass_-_Total(kg)________________________________________________ (whtblkt)_____________________ 3.7129E+06 OP ____Blanket_Mass_-_TiBe12_(kg)__________________________________________ (whtbltibe12)_________________ 1.2564E+06 OP ____Blanket_Mass_-_Li2SiO4_(kg)_________________________________________ (whtblli4sio4)________________ 1.3342E+06 OP @@ -1784,7 +1784,7 @@ Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.7675E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.2227E+03 First_Wall_Armour_Mass_(kg)_____________________________________________ (fw_armour_mass)______________ 1.4395E+05 OP - First_Wall_Mass,_excluding_armour_(kg)__________________________________ (fwmass)______________________ 1.9300E+05 OP + First_Wall_Mass,_excluding_armour_(kg)__________________________________ (m_fw_total)______________________ 1.9300E+05 OP Blanket_Mass_-_Total(kg)________________________________________________ (whtblkt)_____________________ 3.7129E+06 OP ____Blanket_Mass_-_TiBe12_(kg)__________________________________________ (whtbltibe12)_________________ 1.2564E+06 OP ____Blanket_Mass_-_Li2SiO4_(kg)_________________________________________ (whtblli4sio4)________________ 1.3342E+06 OP @@ -2779,7 +2779,7 @@ Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.7675E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.2227E+03 First_Wall_Armour_Mass_(kg)_____________________________________________ (fw_armour_mass)______________ 1.4395E+05 OP - First_Wall_Mass,_excluding_armour_(kg)__________________________________ (fwmass)______________________ 1.9300E+05 OP + First_Wall_Mass,_excluding_armour_(kg)__________________________________ (m_fw_total)______________________ 1.9300E+05 OP Blanket_Mass_-_Total(kg)________________________________________________ (whtblkt)_____________________ 3.7129E+06 OP ____Blanket_Mass_-_TiBe12_(kg)__________________________________________ (whtbltibe12)_________________ 1.2564E+06 OP ____Blanket_Mass_-_Li2SiO4_(kg)_________________________________________ (whtblli4sio4)________________ 1.3342E+06 OP @@ -3774,7 +3774,7 @@ Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.7675E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.2227E+03 First_Wall_Armour_Mass_(kg)_____________________________________________ (fw_armour_mass)______________ 1.4395E+05 OP - First_Wall_Mass,_excluding_armour_(kg)__________________________________ (fwmass)______________________ 1.9300E+05 OP + First_Wall_Mass,_excluding_armour_(kg)__________________________________ (m_fw_total)______________________ 1.9300E+05 OP Blanket_Mass_-_Total(kg)________________________________________________ (whtblkt)_____________________ 3.7129E+06 OP ____Blanket_Mass_-_TiBe12_(kg)__________________________________________ (whtbltibe12)_________________ 1.2564E+06 OP ____Blanket_Mass_-_Li2SiO4_(kg)_________________________________________ (whtblli4sio4)________________ 1.3342E+06 OP @@ -4769,7 +4769,7 @@ Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.7675E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.2227E+03 First_Wall_Armour_Mass_(kg)_____________________________________________ (fw_armour_mass)______________ 1.4395E+05 OP - First_Wall_Mass,_excluding_armour_(kg)__________________________________ (fwmass)______________________ 1.9300E+05 OP + First_Wall_Mass,_excluding_armour_(kg)__________________________________ (m_fw_total)______________________ 1.9300E+05 OP Blanket_Mass_-_Total(kg)________________________________________________ (whtblkt)_____________________ 3.7129E+06 OP ____Blanket_Mass_-_TiBe12_(kg)__________________________________________ (whtbltibe12)_________________ 1.2564E+06 OP ____Blanket_Mass_-_Li2SiO4_(kg)_________________________________________ (whtblli4sio4)________________ 1.3342E+06 OP @@ -5764,7 +5764,7 @@ Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.7675E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.2227E+03 First_Wall_Armour_Mass_(kg)_____________________________________________ (fw_armour_mass)______________ 1.4395E+05 OP - First_Wall_Mass,_excluding_armour_(kg)__________________________________ (fwmass)______________________ 1.9300E+05 OP + First_Wall_Mass,_excluding_armour_(kg)__________________________________ (m_fw_total)______________________ 1.9300E+05 OP Blanket_Mass_-_Total(kg)________________________________________________ (whtblkt)_____________________ 3.7129E+06 OP ____Blanket_Mass_-_TiBe12_(kg)__________________________________________ (whtbltibe12)_________________ 1.2564E+06 OP ____Blanket_Mass_-_Li2SiO4_(kg)_________________________________________ (whtblli4sio4)________________ 1.3342E+06 OP @@ -6759,7 +6759,7 @@ Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.7675E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.2227E+03 First_Wall_Armour_Mass_(kg)_____________________________________________ (fw_armour_mass)______________ 1.4395E+05 OP - First_Wall_Mass,_excluding_armour_(kg)__________________________________ (fwmass)______________________ 1.9300E+05 OP + First_Wall_Mass,_excluding_armour_(kg)__________________________________ (m_fw_total)______________________ 1.9300E+05 OP Blanket_Mass_-_Total(kg)________________________________________________ (whtblkt)_____________________ 3.7129E+06 OP ____Blanket_Mass_-_TiBe12_(kg)__________________________________________ (whtbltibe12)_________________ 1.2564E+06 OP ____Blanket_Mass_-_Li2SiO4_(kg)_________________________________________ (whtblli4sio4)________________ 1.3342E+06 OP @@ -7754,7 +7754,7 @@ Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.7675E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.2227E+03 First_Wall_Armour_Mass_(kg)_____________________________________________ (fw_armour_mass)______________ 1.4395E+05 OP - First_Wall_Mass,_excluding_armour_(kg)__________________________________ (fwmass)______________________ 1.9300E+05 OP + First_Wall_Mass,_excluding_armour_(kg)__________________________________ (m_fw_total)______________________ 1.9300E+05 OP Blanket_Mass_-_Total(kg)________________________________________________ (whtblkt)_____________________ 3.7129E+06 OP ____Blanket_Mass_-_TiBe12_(kg)__________________________________________ (whtbltibe12)_________________ 1.2564E+06 OP ____Blanket_Mass_-_Li2SiO4_(kg)_________________________________________ (whtblli4sio4)________________ 1.3342E+06 OP @@ -8749,7 +8749,7 @@ Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.7675E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.2227E+03 First_Wall_Armour_Mass_(kg)_____________________________________________ (fw_armour_mass)______________ 1.4395E+05 OP - First_Wall_Mass,_excluding_armour_(kg)__________________________________ (fwmass)______________________ 1.9300E+05 OP + First_Wall_Mass,_excluding_armour_(kg)__________________________________ (m_fw_total)______________________ 1.9300E+05 OP Blanket_Mass_-_Total(kg)________________________________________________ (whtblkt)_____________________ 3.7129E+06 OP ____Blanket_Mass_-_TiBe12_(kg)__________________________________________ (whtbltibe12)_________________ 1.2564E+06 OP ____Blanket_Mass_-_Li2SiO4_(kg)_________________________________________ (whtblli4sio4)________________ 1.3342E+06 OP diff --git a/process/dcll.py b/process/dcll.py index 7128dee7e9..9ef6e8e08d 100644 --- a/process/dcll.py +++ b/process/dcll.py @@ -681,7 +681,7 @@ def dcll_masses(self, output: bool): * (1 - dcll_module.f_vol_stl_fw) * fwbs_variables.vol_fw_total ) - fwbs_variables.fwmass = dcll_module.fwmass_stl + dcll_module.fwmass_cool + fwbs_variables.m_fw_total = dcll_module.fwmass_stl + dcll_module.fwmass_cool # First wall armour volume (m^3) fwbs_variables.fw_armour_vol = ( physics_variables.a_plasma_surface * fwbs_variables.fw_armour_thickness @@ -707,7 +707,7 @@ def dcll_masses(self, output: bool): # Total mass of first wall and blanket fwbs_variables.armour_fw_bl_mass = ( fwbs_variables.fw_armour_mass - + fwbs_variables.fwmass + + fwbs_variables.m_fw_total + fwbs_variables.whtblkt ) @@ -716,7 +716,7 @@ def dcll_masses(self, output: bool): dcll_module.mass_segm_ib = ( fwbs_variables.whtblkt * (fwbs_variables.volblkti / fwbs_variables.volblkt) - + fwbs_variables.fwmass + + fwbs_variables.m_fw_total * ( build_variables.a_fw_inboard * build_variables.dr_fw_inboard @@ -735,7 +735,7 @@ def dcll_masses(self, output: bool): dcll_module.mass_segm_ob = ( fwbs_variables.whtblkt * (fwbs_variables.volblkto / fwbs_variables.volblkt) - + fwbs_variables.fwmass + + fwbs_variables.m_fw_total * ( build_variables.a_fw_outboard * build_variables.dr_fw_outboard @@ -787,8 +787,8 @@ def dcll_masses(self, output: bool): po.ovarre( self.outfile, "First Wall Mass, excluding armour (kg)", - "(fwmass)", - fwbs_variables.fwmass, + "(m_fw_total)", + fwbs_variables.m_fw_total, "OP ", ) po.ovarre( diff --git a/process/hcpb.py b/process/hcpb.py index aa717ae6bc..7f6dc960fd 100644 --- a/process/hcpb.py +++ b/process/hcpb.py @@ -303,7 +303,7 @@ def component_masses(self): ) # First wall mass, excluding armour (kg) - fwbs_variables.fwmass = fwbs_variables.denstl * fwbs_variables.vol_fw_total + fwbs_variables.m_fw_total = fwbs_variables.denstl * fwbs_variables.vol_fw_total # First wall armour volume (m^3) fwbs_variables.fw_armour_vol = ( @@ -370,7 +370,7 @@ def component_masses(self): # Total mass of first wall and blanket fwbs_variables.armour_fw_bl_mass = ( fwbs_variables.fw_armour_mass - + fwbs_variables.fwmass + + fwbs_variables.m_fw_total + fwbs_variables.whtblkt ) @@ -537,7 +537,7 @@ def nuclear_heating_fw(self): # Total nuclear heating in FW (MW) fwbs_variables.pnucfw = ( - fwbs_variables.fwmass + fwbs_variables.m_fw_total * ccfe_hcpb_module.fw_armour_u_nuc_heating * physics_variables.fusion_power ) @@ -545,7 +545,7 @@ def nuclear_heating_fw(self): if fwbs_variables.pnucfw < 0: raise RuntimeError( f"""Error in nuclear_heating_fw. {fwbs_variables.pnucfw = }, - {physics_variables.fusion_power = }, {fwbs_variables.fwmass = }""" + {physics_variables.fusion_power = }, {fwbs_variables.m_fw_total = }""" ) def nuclear_heating_blanket(self): @@ -1303,8 +1303,8 @@ def write_output(self): po.ovarre( self.outfile, "First Wall Mass, excluding armour (kg)", - "(fwmass)", - fwbs_variables.fwmass, + "(m_fw_total)", + fwbs_variables.m_fw_total, "OP ", ) po.ovarre( diff --git a/process/ife.py b/process/ife.py index f17916441b..3ec57a6716 100644 --- a/process/ife.py +++ b/process/ife.py @@ -1774,13 +1774,13 @@ def ifefbs(self, output: bool = False): ife_variables.v3matm[j, i] = ife_variables.v3matv[j, i] * den # Total masses of components (excluding coolant) - fwbs_variables.fwmass = 0.0 + fwbs_variables.m_fw_total = 0.0 fwbs_variables.whtblkt = 0.0 fwbs_variables.whtshld = 0.0 for i in range(5): for j in range(3): - fwbs_variables.fwmass = ( - fwbs_variables.fwmass + ife_variables.fwmatm[j, i] + fwbs_variables.m_fw_total = ( + fwbs_variables.m_fw_total + ife_variables.fwmatm[j, i] ) fwbs_variables.whtblkt = ( fwbs_variables.whtblkt + ife_variables.blmatm[j, i] @@ -1854,8 +1854,8 @@ def ifefbs(self, output: bool = False): process_output.ovarre( self.outfile, "First wall mass (kg)", - "(fwmass)", - fwbs_variables.fwmass, + "(m_fw_total)", + fwbs_variables.m_fw_total, ) process_output.ovarre( self.outfile, diff --git a/process/stellarator.py b/process/stellarator.py index 58299f01b7..ec355efd67 100644 --- a/process/stellarator.py +++ b/process/stellarator.py @@ -1243,7 +1243,7 @@ def stfwbs(self, output: bool): ) # Void fraction in first wall / breeding zone, - # for use in fwbs_variables.fwmass and coolvol calculation below + # for use in fwbs_variables.m_fw_total and coolvol calculation below f_a_fw_coolant_inboard = ( 1.0e0 @@ -1752,7 +1752,7 @@ def stfwbs(self, output: bool): # First wall mass # (first wall area is calculated else:where) - fwbs_variables.fwmass = ( + fwbs_variables.m_fw_total = ( build_variables.a_fw_total * (build_variables.dr_fw_inboard + build_variables.dr_fw_outboard) / 2.0e0 @@ -1771,7 +1771,7 @@ def stfwbs(self, output: bool): ) else: - fwbs_variables.fwmass = fwbs_variables.denstl * ( + fwbs_variables.m_fw_total = fwbs_variables.denstl * ( build_variables.a_fw_inboard * build_variables.dr_fw_inboard * (1.0e0 - f_a_fw_coolant_inboard) @@ -2221,7 +2221,10 @@ def stfwbs(self, output: bool): build_variables.a_fw_total, ) po.ovarre( - self.outfile, "First wall mass (kg)", "(fwmass)", fwbs_variables.fwmass + self.outfile, + "First wall mass (kg)", + "(m_fw_total)", + fwbs_variables.m_fw_total, ) po.ovarre( self.outfile, diff --git a/process/structure.py b/process/structure.py index 12771bcc67..295683104c 100644 --- a/process/structure.py +++ b/process/structure.py @@ -61,7 +61,7 @@ def run(self, output: bool = False) -> None: divv.divmas, total_weight_pf, tfv.whttf, - fwbsv.fwmass, + fwbsv.m_fw_total, fwbsv.whtblkt, fwbsv.coolmass, fwbsv.dewmkg, @@ -83,7 +83,7 @@ def structure( dvrtmass, pfmass, tfmass, - fwmass, + m_fw_total, blmass, coolmass, dewmass, @@ -136,8 +136,8 @@ def structure( :param blmass: blanket mass (kg) :type blmass: float - :param fwmass: first wall mass (kg) - :type fwmass: float + :param m_fw_total: first wall mass (kg) + :type m_fw_total: float :param coolmass: total water coolant mass (kg) :type coolmass: float @@ -189,7 +189,7 @@ def structure( # Torus leg support - ws1 = coolmass + fwmass + blmass + shldmass + dvrtmass + ws1 = coolmass + m_fw_total + blmass + shldmass + dvrtmass gsm1 = 5.0e0 * 9.807e0 * ws1 * dens / sigal # Ring beam diff --git a/source/fortran/fwbs_variables.f90 b/source/fortran/fwbs_variables.f90 index 5ca10bd8d7..c37f81ddc5 100644 --- a/source/fortran/fwbs_variables.f90 +++ b/source/fortran/fwbs_variables.f90 @@ -66,7 +66,7 @@ module fwbs_variables real(dp) :: fwlife !! first wall full-power year lifetime (y) - real(dp) :: fwmass + real(dp) :: m_fw_total !! first wall mass [kg] real(dp) :: fw_armour_mass @@ -679,7 +679,7 @@ subroutine init_fwbs_variables fhole = 0.0D0 fwbsshape = 2 fwlife = 0.0D0 - fwmass = 0.0D0 + m_fw_total = 0.0D0 fw_armour_mass = 0.0D0 fw_armour_thickness = 0.005D0 fw_armour_vol = 0.0D0 diff --git a/tests/integration/data/large_tokamak_1_MFILE.DAT b/tests/integration/data/large_tokamak_1_MFILE.DAT index 22f4e0950a..3e3faf13a6 100644 --- a/tests/integration/data/large_tokamak_1_MFILE.DAT +++ b/tests/integration/data/large_tokamak_1_MFILE.DAT @@ -959,7 +959,7 @@ Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.8520E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.0178E+03 First_Wall_Armour_Mass_(kg)_____________________________________________ (fw_armour_mass)______________ 1.1298E+05 OP - First_Wall_Mass,_excluding_armour_(kg)__________________________________ (fwmass)______________________ 1.5449E+05 OP + First_Wall_Mass,_excluding_armour_(kg)__________________________________ (m_fw_total)______________________ 1.5449E+05 OP Blanket_Mass_-_Total(kg)________________________________________________ (whtblkt)_____________________ 2.9676E+06 OP ____Blanket_Mass_-_TiBe12_(kg)__________________________________________ (whtbltibe12)_________________ 1.0042E+06 OP ____Blanket_Mass_-_Li4SiO4_(kg)_________________________________________ (whtblli4sio4)________________ 1.0664E+06 OP diff --git a/tests/integration/data/large_tokamak_2_MFILE.DAT b/tests/integration/data/large_tokamak_2_MFILE.DAT index 32916643f6..558bce8d64 100644 --- a/tests/integration/data/large_tokamak_2_MFILE.DAT +++ b/tests/integration/data/large_tokamak_2_MFILE.DAT @@ -960,7 +960,7 @@ Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.8520E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.0178E+03 First_Wall_Armour_Mass_(kg)_____________________________________________ (fw_armour_mass)______________ 1.1298E+05 OP - First_Wall_Mass,_excluding_armour_(kg)__________________________________ (fwmass)______________________ 1.5449E+05 OP + First_Wall_Mass,_excluding_armour_(kg)__________________________________ (m_fw_total)______________________ 1.5449E+05 OP Blanket_Mass_-_Total(kg)________________________________________________ (whtblkt)_____________________ 2.9676E+06 OP ____Blanket_Mass_-_TiBe12_(kg)__________________________________________ (whtbltibe12)_________________ 1.0042E+06 OP ____Blanket_Mass_-_Li4SiO4_(kg)_________________________________________ (whtblli4sio4)________________ 1.0664E+06 OP diff --git a/tests/integration/data/large_tokamak_3_MFILE.DAT b/tests/integration/data/large_tokamak_3_MFILE.DAT index 3cd29703e8..3a1324afac 100644 --- a/tests/integration/data/large_tokamak_3_MFILE.DAT +++ b/tests/integration/data/large_tokamak_3_MFILE.DAT @@ -960,7 +960,7 @@ Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.8520E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.0178E+03 First_Wall_Armour_Mass_(kg)_____________________________________________ (fw_armour_mass)______________ 1.1298E+05 OP - First_Wall_Mass,_excluding_armour_(kg)__________________________________ (fwmass)______________________ 1.5449E+05 OP + First_Wall_Mass,_excluding_armour_(kg)__________________________________ (m_fw_total)______________________ 1.5449E+05 OP Blanket_Mass_-_Total(kg)________________________________________________ (whtblkt)_____________________ 2.9676E+06 OP ____Blanket_Mass_-_TiBe12_(kg)__________________________________________ (whtbltibe12)_________________ 1.0042E+06 OP ____Blanket_Mass_-_Li4SiO4_(kg)_________________________________________ (whtblli4sio4)________________ 1.0664E+06 OP diff --git a/tests/integration/data/large_tokamak_4_MFILE.DAT b/tests/integration/data/large_tokamak_4_MFILE.DAT index 289b49aa11..ff84f744a4 100644 --- a/tests/integration/data/large_tokamak_4_MFILE.DAT +++ b/tests/integration/data/large_tokamak_4_MFILE.DAT @@ -960,7 +960,7 @@ Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.8520E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.0178E+03 First_Wall_Armour_Mass_(kg)_____________________________________________ (fw_armour_mass)______________ 1.1298E+05 OP - First_Wall_Mass,_excluding_armour_(kg)__________________________________ (fwmass)______________________ 1.5449E+05 OP + First_Wall_Mass,_excluding_armour_(kg)__________________________________ (m_fw_total)______________________ 1.5449E+05 OP Blanket_Mass_-_Total(kg)________________________________________________ (whtblkt)_____________________ 2.9676E+06 OP ____Blanket_Mass_-_TiBe12_(kg)__________________________________________ (whtbltibe12)_________________ 1.0042E+06 OP ____Blanket_Mass_-_Li4SiO4_(kg)_________________________________________ (whtblli4sio4)________________ 1.0664E+06 OP diff --git a/tests/integration/data/large_tokamak_MFILE.DAT b/tests/integration/data/large_tokamak_MFILE.DAT index cdecd7d9af..5077d528c3 100644 --- a/tests/integration/data/large_tokamak_MFILE.DAT +++ b/tests/integration/data/large_tokamak_MFILE.DAT @@ -963,7 +963,7 @@ Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.8520E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.0178E+03 First_Wall_Armour_Mass_(kg)_____________________________________________ (fw_armour_mass)______________ 1.1298E+05 OP - First_Wall_Mass,_excluding_armour_(kg)__________________________________ (fwmass)______________________ 1.5449E+05 OP + First_Wall_Mass,_excluding_armour_(kg)__________________________________ (m_fw_total)______________________ 1.5449E+05 OP Blanket_Mass_-_Total(kg)________________________________________________ (whtblkt)_____________________ 2.9676E+06 OP ____Blanket_Mass_-_TiBe12_(kg)__________________________________________ (whtbltibe12)_________________ 1.0042E+06 OP ____Blanket_Mass_-_Li4SiO4_(kg)_________________________________________ (whtblli4sio4)________________ 1.0664E+06 OP diff --git a/tests/integration/data/scan_2D_MFILE.DAT b/tests/integration/data/scan_2D_MFILE.DAT index 053178da51..fdec3673f4 100644 --- a/tests/integration/data/scan_2D_MFILE.DAT +++ b/tests/integration/data/scan_2D_MFILE.DAT @@ -961,7 +961,7 @@ Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.8520E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.0178E+03 First_Wall_Armour_Mass_(kg)_____________________________________________ (fw_armour_mass)______________ 1.1298E+05 OP - First_Wall_Mass,_excluding_armour_(kg)__________________________________ (fwmass)______________________ 1.5449E+05 OP + First_Wall_Mass,_excluding_armour_(kg)__________________________________ (m_fw_total)______________________ 1.5449E+05 OP Blanket_Mass_-_Total(kg)________________________________________________ (whtblkt)_____________________ 2.9676E+06 OP ____Blanket_Mass_-_TiBe12_(kg)__________________________________________ (whtbltibe12)_________________ 1.0042E+06 OP ____Blanket_Mass_-_Li4SiO4_(kg)_________________________________________ (whtblli4sio4)________________ 1.0664E+06 OP @@ -2124,7 +2124,7 @@ Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.8520E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.0178E+03 First_Wall_Armour_Mass_(kg)_____________________________________________ (fw_armour_mass)______________ 1.1298E+05 OP - First_Wall_Mass,_excluding_armour_(kg)__________________________________ (fwmass)______________________ 1.5449E+05 OP + First_Wall_Mass,_excluding_armour_(kg)__________________________________ (m_fw_total)______________________ 1.5449E+05 OP Blanket_Mass_-_Total(kg)________________________________________________ (whtblkt)_____________________ 2.9676E+06 OP ____Blanket_Mass_-_TiBe12_(kg)__________________________________________ (whtbltibe12)_________________ 1.0042E+06 OP ____Blanket_Mass_-_Li4SiO4_(kg)_________________________________________ (whtblli4sio4)________________ 1.0664E+06 OP @@ -3287,7 +3287,7 @@ Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.8520E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.0178E+03 First_Wall_Armour_Mass_(kg)_____________________________________________ (fw_armour_mass)______________ 1.1298E+05 OP - First_Wall_Mass,_excluding_armour_(kg)__________________________________ (fwmass)______________________ 1.5449E+05 OP + First_Wall_Mass,_excluding_armour_(kg)__________________________________ (m_fw_total)______________________ 1.5449E+05 OP Blanket_Mass_-_Total(kg)________________________________________________ (whtblkt)_____________________ 2.9676E+06 OP ____Blanket_Mass_-_TiBe12_(kg)__________________________________________ (whtbltibe12)_________________ 1.0042E+06 OP ____Blanket_Mass_-_Li4SiO4_(kg)_________________________________________ (whtblli4sio4)________________ 1.0664E+06 OP @@ -4450,7 +4450,7 @@ Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.8520E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.0178E+03 First_Wall_Armour_Mass_(kg)_____________________________________________ (fw_armour_mass)______________ 1.1298E+05 OP - First_Wall_Mass,_excluding_armour_(kg)__________________________________ (fwmass)______________________ 1.5449E+05 OP + First_Wall_Mass,_excluding_armour_(kg)__________________________________ (m_fw_total)______________________ 1.5449E+05 OP Blanket_Mass_-_Total(kg)________________________________________________ (whtblkt)_____________________ 2.9676E+06 OP ____Blanket_Mass_-_TiBe12_(kg)__________________________________________ (whtbltibe12)_________________ 1.0042E+06 OP ____Blanket_Mass_-_Li4SiO4_(kg)_________________________________________ (whtblli4sio4)________________ 1.0664E+06 OP @@ -5613,7 +5613,7 @@ Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.8520E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.0178E+03 First_Wall_Armour_Mass_(kg)_____________________________________________ (fw_armour_mass)______________ 1.1298E+05 OP - First_Wall_Mass,_excluding_armour_(kg)__________________________________ (fwmass)______________________ 1.5449E+05 OP + First_Wall_Mass,_excluding_armour_(kg)__________________________________ (m_fw_total)______________________ 1.5449E+05 OP Blanket_Mass_-_Total(kg)________________________________________________ (whtblkt)_____________________ 2.9676E+06 OP ____Blanket_Mass_-_TiBe12_(kg)__________________________________________ (whtbltibe12)_________________ 1.0042E+06 OP ____Blanket_Mass_-_Li4SiO4_(kg)_________________________________________ (whtblli4sio4)________________ 1.0664E+06 OP @@ -6776,7 +6776,7 @@ Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.8520E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.0178E+03 First_Wall_Armour_Mass_(kg)_____________________________________________ (fw_armour_mass)______________ 1.1298E+05 OP - First_Wall_Mass,_excluding_armour_(kg)__________________________________ (fwmass)______________________ 1.5449E+05 OP + First_Wall_Mass,_excluding_armour_(kg)__________________________________ (m_fw_total)______________________ 1.5449E+05 OP Blanket_Mass_-_Total(kg)________________________________________________ (whtblkt)_____________________ 2.9676E+06 OP ____Blanket_Mass_-_TiBe12_(kg)__________________________________________ (whtbltibe12)_________________ 1.0042E+06 OP ____Blanket_Mass_-_Li4SiO4_(kg)_________________________________________ (whtblli4sio4)________________ 1.0664E+06 OP @@ -7939,7 +7939,7 @@ Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.8520E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.0178E+03 First_Wall_Armour_Mass_(kg)_____________________________________________ (fw_armour_mass)______________ 1.1298E+05 OP - First_Wall_Mass,_excluding_armour_(kg)__________________________________ (fwmass)______________________ 1.5449E+05 OP + First_Wall_Mass,_excluding_armour_(kg)__________________________________ (m_fw_total)______________________ 1.5449E+05 OP Blanket_Mass_-_Total(kg)________________________________________________ (whtblkt)_____________________ 2.9676E+06 OP ____Blanket_Mass_-_TiBe12_(kg)__________________________________________ (whtbltibe12)_________________ 1.0042E+06 OP ____Blanket_Mass_-_Li4SiO4_(kg)_________________________________________ (whtblli4sio4)________________ 1.0664E+06 OP @@ -9102,7 +9102,7 @@ Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.8520E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.0178E+03 First_Wall_Armour_Mass_(kg)_____________________________________________ (fw_armour_mass)______________ 1.1298E+05 OP - First_Wall_Mass,_excluding_armour_(kg)__________________________________ (fwmass)______________________ 1.5449E+05 OP + First_Wall_Mass,_excluding_armour_(kg)__________________________________ (m_fw_total)______________________ 1.5449E+05 OP Blanket_Mass_-_Total(kg)________________________________________________ (whtblkt)_____________________ 2.9676E+06 OP ____Blanket_Mass_-_TiBe12_(kg)__________________________________________ (whtbltibe12)_________________ 1.0042E+06 OP ____Blanket_Mass_-_Li4SiO4_(kg)_________________________________________ (whtblli4sio4)________________ 1.0664E+06 OP @@ -10265,7 +10265,7 @@ Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.8520E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.0178E+03 First_Wall_Armour_Mass_(kg)_____________________________________________ (fw_armour_mass)______________ 1.1298E+05 OP - First_Wall_Mass,_excluding_armour_(kg)__________________________________ (fwmass)______________________ 1.5449E+05 OP + First_Wall_Mass,_excluding_armour_(kg)__________________________________ (m_fw_total)______________________ 1.5449E+05 OP Blanket_Mass_-_Total(kg)________________________________________________ (whtblkt)_____________________ 2.9676E+06 OP ____Blanket_Mass_-_TiBe12_(kg)__________________________________________ (whtbltibe12)_________________ 1.0042E+06 OP ____Blanket_Mass_-_Li4SiO4_(kg)_________________________________________ (whtblli4sio4)________________ 1.0664E+06 OP @@ -11428,7 +11428,7 @@ Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.8520E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.0178E+03 First_Wall_Armour_Mass_(kg)_____________________________________________ (fw_armour_mass)______________ 1.1298E+05 OP - First_Wall_Mass,_excluding_armour_(kg)__________________________________ (fwmass)______________________ 1.5449E+05 OP + First_Wall_Mass,_excluding_armour_(kg)__________________________________ (m_fw_total)______________________ 1.5449E+05 OP Blanket_Mass_-_Total(kg)________________________________________________ (whtblkt)_____________________ 2.9676E+06 OP ____Blanket_Mass_-_TiBe12_(kg)__________________________________________ (whtbltibe12)_________________ 1.0042E+06 OP ____Blanket_Mass_-_Li4SiO4_(kg)_________________________________________ (whtblli4sio4)________________ 1.0664E+06 OP @@ -12591,7 +12591,7 @@ Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.8520E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.0178E+03 First_Wall_Armour_Mass_(kg)_____________________________________________ (fw_armour_mass)______________ 1.1298E+05 OP - First_Wall_Mass,_excluding_armour_(kg)__________________________________ (fwmass)______________________ 1.5449E+05 OP + First_Wall_Mass,_excluding_armour_(kg)__________________________________ (m_fw_total)______________________ 1.5449E+05 OP Blanket_Mass_-_Total(kg)________________________________________________ (whtblkt)_____________________ 2.9676E+06 OP ____Blanket_Mass_-_TiBe12_(kg)__________________________________________ (whtbltibe12)_________________ 1.0042E+06 OP ____Blanket_Mass_-_Li4SiO4_(kg)_________________________________________ (whtblli4sio4)________________ 1.0664E+06 OP @@ -13754,7 +13754,7 @@ Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.8520E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.0178E+03 First_Wall_Armour_Mass_(kg)_____________________________________________ (fw_armour_mass)______________ 1.1298E+05 OP - First_Wall_Mass,_excluding_armour_(kg)__________________________________ (fwmass)______________________ 1.5449E+05 OP + First_Wall_Mass,_excluding_armour_(kg)__________________________________ (m_fw_total)______________________ 1.5449E+05 OP Blanket_Mass_-_Total(kg)________________________________________________ (whtblkt)_____________________ 2.9676E+06 OP ____Blanket_Mass_-_TiBe12_(kg)__________________________________________ (whtbltibe12)_________________ 1.0042E+06 OP ____Blanket_Mass_-_Li4SiO4_(kg)_________________________________________ (whtblli4sio4)________________ 1.0664E+06 OP @@ -14917,7 +14917,7 @@ Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.8520E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.0178E+03 First_Wall_Armour_Mass_(kg)_____________________________________________ (fw_armour_mass)______________ 1.1298E+05 OP - First_Wall_Mass,_excluding_armour_(kg)__________________________________ (fwmass)______________________ 1.5449E+05 OP + First_Wall_Mass,_excluding_armour_(kg)__________________________________ (m_fw_total)______________________ 1.5449E+05 OP Blanket_Mass_-_Total(kg)________________________________________________ (whtblkt)_____________________ 2.9676E+06 OP ____Blanket_Mass_-_TiBe12_(kg)__________________________________________ (whtbltibe12)_________________ 1.0042E+06 OP ____Blanket_Mass_-_Li4SiO4_(kg)_________________________________________ (whtblli4sio4)________________ 1.0664E+06 OP @@ -16080,7 +16080,7 @@ Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.8520E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.0178E+03 First_Wall_Armour_Mass_(kg)_____________________________________________ (fw_armour_mass)______________ 1.1298E+05 OP - First_Wall_Mass,_excluding_armour_(kg)__________________________________ (fwmass)______________________ 1.5449E+05 OP + First_Wall_Mass,_excluding_armour_(kg)__________________________________ (m_fw_total)______________________ 1.5449E+05 OP Blanket_Mass_-_Total(kg)________________________________________________ (whtblkt)_____________________ 2.9676E+06 OP ____Blanket_Mass_-_TiBe12_(kg)__________________________________________ (whtbltibe12)_________________ 1.0042E+06 OP ____Blanket_Mass_-_Li4SiO4_(kg)_________________________________________ (whtblli4sio4)________________ 1.0664E+06 OP @@ -17243,7 +17243,7 @@ Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.8520E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.0178E+03 First_Wall_Armour_Mass_(kg)_____________________________________________ (fw_armour_mass)______________ 1.1298E+05 OP - First_Wall_Mass,_excluding_armour_(kg)__________________________________ (fwmass)______________________ 1.5449E+05 OP + First_Wall_Mass,_excluding_armour_(kg)__________________________________ (m_fw_total)______________________ 1.5449E+05 OP Blanket_Mass_-_Total(kg)________________________________________________ (whtblkt)_____________________ 2.9676E+06 OP ____Blanket_Mass_-_TiBe12_(kg)__________________________________________ (whtbltibe12)_________________ 1.0042E+06 OP ____Blanket_Mass_-_Li4SiO4_(kg)_________________________________________ (whtblli4sio4)________________ 1.0664E+06 OP diff --git a/tests/integration/data/scan_MFILE.DAT b/tests/integration/data/scan_MFILE.DAT index c1121b1ff2..ffcc7f6513 100644 --- a/tests/integration/data/scan_MFILE.DAT +++ b/tests/integration/data/scan_MFILE.DAT @@ -789,7 +789,7 @@ Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.7675E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.2227E+03 First_Wall_Armour_Mass_(kg)_____________________________________________ (fw_armour_mass)______________ 1.4395E+05 OP - First_Wall_Mass,_excluding_armour_(kg)__________________________________ (fwmass)______________________ 1.9300E+05 OP + First_Wall_Mass,_excluding_armour_(kg)__________________________________ (m_fw_total)______________________ 1.9300E+05 OP Blanket_Mass_-_Total(kg)________________________________________________ (whtblkt)_____________________ 3.7129E+06 OP ____Blanket_Mass_-_TiBe12_(kg)__________________________________________ (whtbltibe12)_________________ 1.2564E+06 OP ____Blanket_Mass_-_Li2SiO4_(kg)_________________________________________ (whtblli4sio4)________________ 1.3342E+06 OP @@ -1784,7 +1784,7 @@ Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.7675E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.2227E+03 First_Wall_Armour_Mass_(kg)_____________________________________________ (fw_armour_mass)______________ 1.4395E+05 OP - First_Wall_Mass,_excluding_armour_(kg)__________________________________ (fwmass)______________________ 1.9300E+05 OP + First_Wall_Mass,_excluding_armour_(kg)__________________________________ (m_fw_total)______________________ 1.9300E+05 OP Blanket_Mass_-_Total(kg)________________________________________________ (whtblkt)_____________________ 3.7129E+06 OP ____Blanket_Mass_-_TiBe12_(kg)__________________________________________ (whtbltibe12)_________________ 1.2564E+06 OP ____Blanket_Mass_-_Li2SiO4_(kg)_________________________________________ (whtblli4sio4)________________ 1.3342E+06 OP @@ -2779,7 +2779,7 @@ Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.7675E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.2227E+03 First_Wall_Armour_Mass_(kg)_____________________________________________ (fw_armour_mass)______________ 1.4395E+05 OP - First_Wall_Mass,_excluding_armour_(kg)__________________________________ (fwmass)______________________ 1.9300E+05 OP + First_Wall_Mass,_excluding_armour_(kg)__________________________________ (m_fw_total)______________________ 1.9300E+05 OP Blanket_Mass_-_Total(kg)________________________________________________ (whtblkt)_____________________ 3.7129E+06 OP ____Blanket_Mass_-_TiBe12_(kg)__________________________________________ (whtbltibe12)_________________ 1.2564E+06 OP ____Blanket_Mass_-_Li2SiO4_(kg)_________________________________________ (whtblli4sio4)________________ 1.3342E+06 OP @@ -3774,7 +3774,7 @@ Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.7675E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.2227E+03 First_Wall_Armour_Mass_(kg)_____________________________________________ (fw_armour_mass)______________ 1.4395E+05 OP - First_Wall_Mass,_excluding_armour_(kg)__________________________________ (fwmass)______________________ 1.9300E+05 OP + First_Wall_Mass,_excluding_armour_(kg)__________________________________ (m_fw_total)______________________ 1.9300E+05 OP Blanket_Mass_-_Total(kg)________________________________________________ (whtblkt)_____________________ 3.7129E+06 OP ____Blanket_Mass_-_TiBe12_(kg)__________________________________________ (whtbltibe12)_________________ 1.2564E+06 OP ____Blanket_Mass_-_Li2SiO4_(kg)_________________________________________ (whtblli4sio4)________________ 1.3342E+06 OP @@ -4769,7 +4769,7 @@ Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.7675E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.2227E+03 First_Wall_Armour_Mass_(kg)_____________________________________________ (fw_armour_mass)______________ 1.4395E+05 OP - First_Wall_Mass,_excluding_armour_(kg)__________________________________ (fwmass)______________________ 1.9300E+05 OP + First_Wall_Mass,_excluding_armour_(kg)__________________________________ (m_fw_total)______________________ 1.9300E+05 OP Blanket_Mass_-_Total(kg)________________________________________________ (whtblkt)_____________________ 3.7129E+06 OP ____Blanket_Mass_-_TiBe12_(kg)__________________________________________ (whtbltibe12)_________________ 1.2564E+06 OP ____Blanket_Mass_-_Li2SiO4_(kg)_________________________________________ (whtblli4sio4)________________ 1.3342E+06 OP @@ -5764,7 +5764,7 @@ Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.7675E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.2227E+03 First_Wall_Armour_Mass_(kg)_____________________________________________ (fw_armour_mass)______________ 1.4395E+05 OP - First_Wall_Mass,_excluding_armour_(kg)__________________________________ (fwmass)______________________ 1.9300E+05 OP + First_Wall_Mass,_excluding_armour_(kg)__________________________________ (m_fw_total)______________________ 1.9300E+05 OP Blanket_Mass_-_Total(kg)________________________________________________ (whtblkt)_____________________ 3.7129E+06 OP ____Blanket_Mass_-_TiBe12_(kg)__________________________________________ (whtbltibe12)_________________ 1.2564E+06 OP ____Blanket_Mass_-_Li2SiO4_(kg)_________________________________________ (whtblli4sio4)________________ 1.3342E+06 OP @@ -6759,7 +6759,7 @@ Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.7675E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.2227E+03 First_Wall_Armour_Mass_(kg)_____________________________________________ (fw_armour_mass)______________ 1.4395E+05 OP - First_Wall_Mass,_excluding_armour_(kg)__________________________________ (fwmass)______________________ 1.9300E+05 OP + First_Wall_Mass,_excluding_armour_(kg)__________________________________ (m_fw_total)______________________ 1.9300E+05 OP Blanket_Mass_-_Total(kg)________________________________________________ (whtblkt)_____________________ 3.7129E+06 OP ____Blanket_Mass_-_TiBe12_(kg)__________________________________________ (whtbltibe12)_________________ 1.2564E+06 OP ____Blanket_Mass_-_Li2SiO4_(kg)_________________________________________ (whtblli4sio4)________________ 1.3342E+06 OP @@ -7754,7 +7754,7 @@ Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.7675E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.2227E+03 First_Wall_Armour_Mass_(kg)_____________________________________________ (fw_armour_mass)______________ 1.4395E+05 OP - First_Wall_Mass,_excluding_armour_(kg)__________________________________ (fwmass)______________________ 1.9300E+05 OP + First_Wall_Mass,_excluding_armour_(kg)__________________________________ (m_fw_total)______________________ 1.9300E+05 OP Blanket_Mass_-_Total(kg)________________________________________________ (whtblkt)_____________________ 3.7129E+06 OP ____Blanket_Mass_-_TiBe12_(kg)__________________________________________ (whtbltibe12)_________________ 1.2564E+06 OP ____Blanket_Mass_-_Li2SiO4_(kg)_________________________________________ (whtblli4sio4)________________ 1.3342E+06 OP @@ -8749,7 +8749,7 @@ Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.7675E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.2227E+03 First_Wall_Armour_Mass_(kg)_____________________________________________ (fw_armour_mass)______________ 1.4395E+05 OP - First_Wall_Mass,_excluding_armour_(kg)__________________________________ (fwmass)______________________ 1.9300E+05 OP + First_Wall_Mass,_excluding_armour_(kg)__________________________________ (m_fw_total)______________________ 1.9300E+05 OP Blanket_Mass_-_Total(kg)________________________________________________ (whtblkt)_____________________ 3.7129E+06 OP ____Blanket_Mass_-_TiBe12_(kg)__________________________________________ (whtbltibe12)_________________ 1.2564E+06 OP ____Blanket_Mass_-_Li2SiO4_(kg)_________________________________________ (whtblli4sio4)________________ 1.3342E+06 OP diff --git a/tests/integration/ref_dicts.json b/tests/integration/ref_dicts.json index 8881add66e..11ce732f46 100644 --- a/tests/integration/ref_dicts.json +++ b/tests/integration/ref_dicts.json @@ -2105,7 +2105,7 @@ "temp_fw_coolant_in": 573.0, "dr_fw_inboard": 0.0, "fwlife": 0.0, - "fwmass": 0.0, + "m_fw_total": 0.0, "fwmatf": [ 0.05, 0.05, @@ -9685,7 +9685,7 @@ "temp_fw_coolant_in": "inlet temperature of first wall coolant (K)", "dr_fw_inboard": "inboard first wall thickness, initial estimate as calculated (m)", "fwlife": "first wall full-power year lifetime (y)", - "fwmass": "first wall mass (kg)", + "m_fw_total": "first wall mass (kg)", "fwmatf": "IFE first wall material fractions", "fwmatm": "IFE first wall material masses (kg)", "fwmatv": "IFE first wall material volumes (kg)", @@ -18026,7 +18026,7 @@ "fhole", "fwbsshape", "fwlife", - "fwmass", + "m_fw_total", "fw_armour_mass", "fw_armour_thickness", "fw_armour_vol", diff --git a/tests/unit/data/large_tokamak_MFILE.DAT b/tests/unit/data/large_tokamak_MFILE.DAT index b3ae45800d..d1ac126a90 100644 --- a/tests/unit/data/large_tokamak_MFILE.DAT +++ b/tests/unit/data/large_tokamak_MFILE.DAT @@ -963,7 +963,7 @@ Shield_Volume_(m3)______________________________________________________ (volshld)_____________________ 7.8520E+02 Vacuum_vessel_volume_(m3)_______________________________________________ (vdewin)______________________ 1.0178E+03 First_Wall_Armour_Mass_(kg)_____________________________________________ (fw_armour_mass)______________ 1.1298E+05 OP - First_Wall_Mass,_excluding_armour_(kg)__________________________________ (fwmass)______________________ 1.5449E+05 OP + First_Wall_Mass,_excluding_armour_(kg)__________________________________ (m_fw_total)______________________ 1.5449E+05 OP Blanket_Mass_-_Total(kg)________________________________________________ (whtblkt)_____________________ 2.9676E+06 OP ____Blanket_Mass_-_TiBe12_(kg)__________________________________________ (whtbltibe12)_________________ 1.0042E+06 OP ____Blanket_Mass_-_Li4SiO4_(kg)_________________________________________ (whtblli4sio4)________________ 1.0664E+06 OP diff --git a/tests/unit/test_ccfe_hcpb.py b/tests/unit/test_ccfe_hcpb.py index a56b01e731..b3d090ab98 100644 --- a/tests/unit/test_ccfe_hcpb.py +++ b/tests/unit/test_ccfe_hcpb.py @@ -412,7 +412,7 @@ def test_nuclear_heating_magnets(nuclearheatingmagnetsparam, monkeypatch, ccfe_h class NuclearHeatingFwParam(NamedTuple): pnucfw: Any = None - fwmass: Any = None + m_fw_total: Any = None fusion_power: Any = None @@ -428,7 +428,7 @@ class NuclearHeatingFwParam(NamedTuple): ( NuclearHeatingFwParam( pnucfw=0, - fwmass=224802.80270851994, + m_fw_total=224802.80270851994, fusion_power=1986.0623241661431, fw_armour_u_nuc_heating=0, expected_pnucfw=279.04523551646628, @@ -436,7 +436,7 @@ class NuclearHeatingFwParam(NamedTuple): ), NuclearHeatingFwParam( pnucfw=276.80690153753221, - fwmass=182115.83467868491, + m_fw_total=182115.83467868491, fusion_power=1985.4423932312809, fw_armour_u_nuc_heating=6.2500000000000005e-07, expected_pnucfw=225.98781165610032, @@ -459,7 +459,7 @@ def test_nuclear_heating_fw(nuclearheatingfwparam, monkeypatch, ccfe_hcpb): monkeypatch.setattr(fwbs_variables, "pnucfw", nuclearheatingfwparam.pnucfw) - monkeypatch.setattr(fwbs_variables, "fwmass", nuclearheatingfwparam.fwmass) + monkeypatch.setattr(fwbs_variables, "m_fw_total", nuclearheatingfwparam.m_fw_total) monkeypatch.setattr( physics_variables, "fusion_power", nuclearheatingfwparam.fusion_power @@ -1430,7 +1430,7 @@ class ComponentMassesParam(NamedTuple): vfpblkt: Any = None whtshld: Any = None wpenshld: Any = None - fwmass: Any = None + m_fw_total: Any = None fw_armour_vol: Any = None fw_armour_thickness: Any = None fw_armour_mass: Any = None @@ -1466,7 +1466,7 @@ class ComponentMassesParam(NamedTuple): expected_wtblli2o: Any = None expected_whtshld: Any = None expected_wpenshld: Any = None - expected_fwmass: Any = None + expected_m_fw_total: Any = None expected_fw_armour_vol: Any = None expected_fw_armour_mass: Any = None expected_armour_fw_bl_mass: Any = None @@ -1521,7 +1521,7 @@ class ComponentMassesParam(NamedTuple): vfpblkt=0.10000000000000001, whtshld=0, wpenshld=0, - fwmass=0, + m_fw_total=0, fw_armour_vol=0, fw_armour_thickness=0.0050000000000000001, fw_armour_mass=0, @@ -1557,7 +1557,7 @@ class ComponentMassesParam(NamedTuple): expected_wtblli2o=1064289.0394976311, expected_whtshld=2445141.3347883238, expected_wpenshld=2445141.3347883238, - expected_fwmass=188693.16002348688, + expected_m_fw_total=188693.16002348688, expected_fw_armour_vol=5.8692138856227967, expected_fw_armour_mass=112982.36729823884, expected_armour_fw_bl_mass=3263343.5901344167, @@ -1639,7 +1639,7 @@ def test_component_masses(componentmassesparam, monkeypatch, ccfe_hcpb): monkeypatch.setattr(fwbs_variables, "vfpblkt", componentmassesparam.vfpblkt) monkeypatch.setattr(fwbs_variables, "whtshld", componentmassesparam.whtshld) monkeypatch.setattr(fwbs_variables, "wpenshld", componentmassesparam.wpenshld) - monkeypatch.setattr(fwbs_variables, "fwmass", componentmassesparam.fwmass) + monkeypatch.setattr(fwbs_variables, "m_fw_total", componentmassesparam.m_fw_total) monkeypatch.setattr( fwbs_variables, "fw_armour_vol", componentmassesparam.fw_armour_vol ) @@ -1722,7 +1722,9 @@ def test_component_masses(componentmassesparam, monkeypatch, ccfe_hcpb): assert fwbs_variables.wpenshld == pytest.approx( componentmassesparam.expected_wpenshld ) - assert fwbs_variables.fwmass == pytest.approx(componentmassesparam.expected_fwmass) + assert fwbs_variables.m_fw_total == pytest.approx( + componentmassesparam.expected_m_fw_total + ) assert fwbs_variables.fw_armour_vol == pytest.approx( componentmassesparam.expected_fw_armour_vol ) diff --git a/tests/unit/test_dcll.py b/tests/unit/test_dcll.py index 1edfc77c06..7f6f782d7c 100644 --- a/tests/unit/test_dcll.py +++ b/tests/unit/test_dcll.py @@ -312,7 +312,7 @@ class DcllMassesParam(NamedTuple): whtblkt: Any = None - fwmass: Any = None + m_fw_total: Any = None fw_armour_vol: Any = None @@ -428,7 +428,7 @@ class DcllMassesParam(NamedTuple): expected_whtblkt: Any = None - expected_fwmass: Any = None + expected_m_fw_total: Any = None expected_fw_armour_vol: Any = None @@ -534,7 +534,7 @@ class DcllMassesParam(NamedTuple): volblkti=401.90579863726225, volblkto=995.99450251303142, whtblkt=0, - fwmass=0, + m_fw_total=0, fw_armour_vol=0, fw_armour_thickness=0.0050000000000000001, fw_armour_mass=0, @@ -592,7 +592,7 @@ class DcllMassesParam(NamedTuple): expected_blbmith=0.37000000000000011, expected_blbmoth=0.49699999999999994, expected_whtblkt=10654509.24412049, - expected_fwmass=193353.16636179245, + expected_m_fw_total=193353.16636179245, expected_fw_armour_vol=7.0163598878346534, expected_fw_armour_mass=135064.92784081708, expected_vol_fw_total=28.820872142117942, @@ -653,7 +653,7 @@ class DcllMassesParam(NamedTuple): volblkti=402.02180553751157, volblkto=998.46427094945204, whtblkt=10654509.24412049, - fwmass=193353.16636179245, + m_fw_total=193353.16636179245, fw_armour_vol=7.0163598878346534, fw_armour_thickness=0.0050000000000000001, fw_armour_mass=135064.92784081708, @@ -711,7 +711,7 @@ class DcllMassesParam(NamedTuple): expected_blbmith=0.37000000000000011, expected_blbmoth=0.49699999999999994, expected_whtblkt=10673841.813263938, - expected_fwmass=228388.37777659783, + expected_m_fw_total=228388.37777659783, expected_fw_armour_vol=7.0163598878346534, expected_fw_armour_mass=135064.92784081708, expected_vol_fw_total=34.043157184860888, @@ -817,7 +817,7 @@ def test_dcll_masses(dcllmassesparam, monkeypatch, dcll): monkeypatch.setattr(fwbs_variables, "whtblkt", dcllmassesparam.whtblkt) - monkeypatch.setattr(fwbs_variables, "fwmass", dcllmassesparam.fwmass) + monkeypatch.setattr(fwbs_variables, "m_fw_total", dcllmassesparam.m_fw_total) monkeypatch.setattr(fwbs_variables, "fw_armour_vol", dcllmassesparam.fw_armour_vol) @@ -957,7 +957,9 @@ def test_dcll_masses(dcllmassesparam, monkeypatch, dcll): assert fwbs_variables.whtblkt == pytest.approx(dcllmassesparam.expected_whtblkt) - assert fwbs_variables.fwmass == pytest.approx(dcllmassesparam.expected_fwmass) + assert fwbs_variables.m_fw_total == pytest.approx( + dcllmassesparam.expected_m_fw_total + ) assert fwbs_variables.fw_armour_vol == pytest.approx( dcllmassesparam.expected_fw_armour_vol diff --git a/tests/unit/test_ife.py b/tests/unit/test_ife.py index 1c5dcddf80..03b1e4f277 100644 --- a/tests/unit/test_ife.py +++ b/tests/unit/test_ife.py @@ -1212,7 +1212,7 @@ class IfefbsParam(NamedTuple): abktflnc: Any = None cfactr: Any = None denstl: Any = None - fwmass: Any = None + m_fw_total: Any = None whtblkt: Any = None whtshld: Any = None whtblbe: Any = None @@ -1240,7 +1240,7 @@ class IfefbsParam(NamedTuple): fbreed: Any = None ifetyp: Any = None wallmw: Any = None - expected_fwmass: Any = None + expected_m_fw_total: Any = None expected_whtblkt: Any = None expected_whtshld: Any = None expected_bktlife: Any = None @@ -1262,7 +1262,7 @@ class IfefbsParam(NamedTuple): abktflnc=20, cfactr=0.75000000000000011, denstl=7800, - fwmass=0, + m_fw_total=0, whtblkt=0, whtshld=0, whtblbe=0, @@ -1451,7 +1451,7 @@ class IfefbsParam(NamedTuple): fbreed=0.52600000000000002, ifetyp=1, wallmw=8.8876851857005388, - expected_fwmass=20574.366184891722, + expected_m_fw_total=20574.366184891722, expected_whtblkt=347956.92928704334, expected_whtshld=1067310.9593707009, expected_bktlife=3.000406304846492, @@ -1547,7 +1547,7 @@ def test_ifefbs(ifefbsparam, monkeypatch, ife): monkeypatch.setattr(cost_variables, "abktflnc", ifefbsparam.abktflnc) monkeypatch.setattr(cost_variables, "cfactr", ifefbsparam.cfactr) monkeypatch.setattr(fwbs_variables, "denstl", ifefbsparam.denstl) - monkeypatch.setattr(fwbs_variables, "fwmass", ifefbsparam.fwmass) + monkeypatch.setattr(fwbs_variables, "m_fw_total", ifefbsparam.m_fw_total) monkeypatch.setattr(fwbs_variables, "whtblkt", ifefbsparam.whtblkt) monkeypatch.setattr(fwbs_variables, "whtshld", ifefbsparam.whtshld) monkeypatch.setattr(fwbs_variables, "whtblbe", ifefbsparam.whtblbe) @@ -1578,7 +1578,7 @@ def test_ifefbs(ifefbsparam, monkeypatch, ife): ife.ifefbs(output=False) - assert fwbs_variables.fwmass == pytest.approx(ifefbsparam.expected_fwmass) + assert fwbs_variables.m_fw_total == pytest.approx(ifefbsparam.expected_m_fw_total) assert fwbs_variables.whtblkt == pytest.approx(ifefbsparam.expected_whtblkt) assert fwbs_variables.whtshld == pytest.approx(ifefbsparam.expected_whtshld) assert fwbs_variables.bktlife == pytest.approx(ifefbsparam.expected_bktlife) diff --git a/tests/unit/test_structure.py b/tests/unit/test_structure.py index 28169f0ce9..af7a70dd29 100644 --- a/tests/unit/test_structure.py +++ b/tests/unit/test_structure.py @@ -29,7 +29,7 @@ def test_structure(self, structure): dvrtmass: float = 43563.275828777645 pfmass: float = 5446188.2481440185 tfmass: float = 21234909.756419446 - fwmass: float = 224802.80270851994 + m_fw_total: float = 224802.80270851994 blmass: float = 3501027.3252278985 coolmass: float = 1199.6389920083477 dewmass: float = 16426726.727684354 @@ -56,7 +56,7 @@ def test_structure(self, structure): dvrtmass, pfmass, tfmass, - fwmass, + m_fw_total, blmass, coolmass, dewmass, From 68529d06999544477236e2cb0864ebebfcba9fe3 Mon Sep 17 00:00:00 2001 From: mn3981 Date: Sun, 26 Jan 2025 18:15:30 +0000 Subject: [PATCH 14/21] =?UTF-8?q?=F0=9F=94=84=20Rename=20`fwcoolant`=20to?= =?UTF-8?q?=20`i=5Ffw=5Fcoolant=5Ftype`=20for=20clarity=20and=20consistenc?= =?UTF-8?q?y=20across=20the=20codebase?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../proc-pages/eng-models/fw-blanket.md | 6 ++-- process/blanket_library.py | 30 +++++++++++-------- process/fw.py | 4 +-- source/fortran/fwbs_variables.f90 | 4 +-- source/fortran/input.f90 | 8 ++--- tests/integration/ref_dicts.json | 6 ++-- .../input_files/st_regression.IN.DAT | 2 +- tests/unit/test_blanket_library.py | 8 ++--- tests/unit/test_fw.py | 8 ++--- 9 files changed, 40 insertions(+), 36 deletions(-) diff --git a/documentation/proc-pages/eng-models/fw-blanket.md b/documentation/proc-pages/eng-models/fw-blanket.md index f248924c9f..d6708f7c86 100644 --- a/documentation/proc-pages/eng-models/fw-blanket.md +++ b/documentation/proc-pages/eng-models/fw-blanket.md @@ -84,7 +84,7 @@ Summary of key variables and switches: | maximum temp (K) | `tfwmatmax` | --- | --- | | FCI switch | --- | --- | `ifci` | | Coolant | :-----------: | ------------------------ | -------------------------- | -| primary coolant switch | `fwcoolant` | `coolwh` | --- | +| primary coolant switch | `i_fw_coolant_type` | `coolwh` | --- | | secondary coolant switch | --- | --- | `i_bb_liq` | | inlet temp (K) | `temp_fw_coolant_in` | `inlet_temp` | `inlet_temp_liq` | | outlet temp (K) | `temp_fw_coolant_out` | `outlet_temp` | `outlet_temp_liq` | @@ -159,8 +159,8 @@ There are three blanket model options, chosen by the user to match their selecte The default assuption for all blanket models is that the first wall and breeding blanket have the same coolant (flow = FW inlet -> FW outlet -> BB inlet-> BB outlet). It is possible to choose a different coolant for the FW and breeding blanket, in which case the mechanical pumping powers for the FW and BB are calculated seperately. The model has three mechanical pumping power options, chosen by the user to match their selected blanket design using the switch 'ipump' (default=0): - 0. Same coolant for FW and BB ('fwcoolant`=`coolwh`) - 1. Different coolant for FW and BB ('fwcoolant`/=`coolwh`) + 0. Same coolant for FW and BB ('i_fw_coolant_type`=`coolwh`) + 1. Different coolant for FW and BB ('i_fw_coolant_type`/=`coolwh`) !!! Note "Note" For the dual-coolant blanket the 'ipump' switch is relavent for the blanket structure coolant and not the liquid metal breeder/coolant choice. diff --git a/process/blanket_library.py b/process/blanket_library.py index 4f7cb3cc2e..89fd9d4536 100644 --- a/process/blanket_library.py +++ b/process/blanket_library.py @@ -441,12 +441,14 @@ def primary_coolant_properties(self, output: bool): # Make sure that, if the inputs for the FW and blanket inputs are different, # the ipump variable is appropriately set for seperate coolants if ( - f2py_compatible_to_string(fwbs_variables.fwcoolant).title() == "Helium" + f2py_compatible_to_string(fwbs_variables.i_fw_coolant_type).title() + == "Helium" and fwbs_variables.coolwh == 2 ): fwbs_variables.ipump = 1 if ( - f2py_compatible_to_string(fwbs_variables.fwcoolant).title() == "Water" + f2py_compatible_to_string(fwbs_variables.i_fw_coolant_type).title() + == "Water" and fwbs_variables.coolwh == 1 ): fwbs_variables.ipump = 1 @@ -459,7 +461,7 @@ def primary_coolant_properties(self, output: bool): ) * 0.5 # FW/BB fw_bb_fluid_properties = FluidProperties.of( - f2py_compatible_to_string(fwbs_variables.fwcoolant), + f2py_compatible_to_string(fwbs_variables.i_fw_coolant_type), temperature=mid_temp, pressure=fwbs_variables.pres_fw_coolant.item(), ) @@ -480,7 +482,7 @@ def primary_coolant_properties(self, output: bool): fwbs_variables.temp_fw_coolant_in + fwbs_variables.temp_fw_coolant_out ) * 0.5 fw_fluid_properties = FluidProperties.of( - f2py_compatible_to_string(fwbs_variables.fwcoolant), + f2py_compatible_to_string(fwbs_variables.i_fw_coolant_type), temperature=mid_temp_fw, pressure=fwbs_variables.pres_fw_coolant, ) @@ -534,8 +536,8 @@ def primary_coolant_properties(self, output: bool): po.ovarst( self.outfile, "Coolant type", - "(fwcoolant)", - f'"{fwbs_variables.fwcoolant}"', + "(i_fw_coolant_type)", + f'"{fwbs_variables.i_fw_coolant_type}"', ) po.ovarrf( self.outfile, @@ -1528,7 +1530,7 @@ def thermo_hydraulic_model(self, output: bool): Coolant FW BB primary BB secondary - primary coolant switch fwcoolant coolwh --- + primary coolant switch i_fw_coolant_type coolwh --- secondary coolant switch --- --- i_bb_liq inlet temp (K) temp_fw_coolant_in inlet_temp inlet_temp_liq outlet temp (K) temp_fw_coolant_out outlet_temp outlet_temp_liq @@ -1591,12 +1593,14 @@ def thermo_hydraulic_model(self, output: bool): # Make sure that, if the inputs for the FW and blanket inputs are different, # the ipump variable is appropriately set for seperate coolants if ( - f2py_compatible_to_string(fwbs_variables.fwcoolant).title() == "Helium" + f2py_compatible_to_string(fwbs_variables.i_fw_coolant_type).title() + == "Helium" and fwbs_variables.coolwh == 2 ): fwbs_variables.ipump = 1 if ( - f2py_compatible_to_string(fwbs_variables.fwcoolant).title() == "Water" + f2py_compatible_to_string(fwbs_variables.i_fw_coolant_type).title() + == "Water" and fwbs_variables.coolwh == 1 ): fwbs_variables.ipump = 1 @@ -1847,7 +1851,7 @@ def thermo_hydraulic_model(self, output: bool): pdrop=deltap_fw_blkt, mf=blanket_library.mftotal, primary_coolant_switch=f2py_compatible_to_string( - fwbs_variables.fwcoolant + fwbs_variables.i_fw_coolant_type ), coolant_density=fwbs_variables.rhof_fw, label="First Wall and Blanket", @@ -1883,7 +1887,7 @@ def thermo_hydraulic_model(self, output: bool): pdrop=deltap_fw.item(), mf=blanket_library.mffw, primary_coolant_switch=f2py_compatible_to_string( - fwbs_variables.fwcoolant + fwbs_variables.i_fw_coolant_type ), coolant_density=fwbs_variables.rhof_fw, label="First Wall", @@ -1957,8 +1961,8 @@ def thermo_hydraulic_model(self, output: bool): po.ovarst( self.outfile, "First wall coolant type", - "(fwcoolant)", - f'"{fwbs_variables.fwcoolant}"', + "(i_fw_coolant_type)", + f'"{fwbs_variables.i_fw_coolant_type}"', ) po.ovarre( self.outfile, diff --git a/process/fw.py b/process/fw.py index 8c9884f217..087f0ab3a3 100644 --- a/process/fw.py +++ b/process/fw.py @@ -75,14 +75,14 @@ def fw_temp( # Calculate inlet coolant fluid properties (fixed pressure) ib_fluid_properties = FluidProperties.of( - f2py_compatible_to_string(fwbs_variables.fwcoolant), + f2py_compatible_to_string(fwbs_variables.i_fw_coolant_type), temperature=fwbs_variables.temp_fw_coolant_in.item(), pressure=fwbs_variables.pres_fw_coolant.item(), ) # Calculate outlet coolant fluid properties (fixed pressure) ob_fluid_properties = FluidProperties.of( - f2py_compatible_to_string(fwbs_variables.fwcoolant), + f2py_compatible_to_string(fwbs_variables.i_fw_coolant_type), temperature=fwbs_variables.temp_fw_coolant_out.item(), pressure=fwbs_variables.pres_fw_coolant.item(), ) diff --git a/source/fortran/fwbs_variables.f90 b/source/fortran/fwbs_variables.f90 index c37f81ddc5..2814f1d7fe 100644 --- a/source/fortran/fwbs_variables.f90 +++ b/source/fortran/fwbs_variables.f90 @@ -309,7 +309,7 @@ module fwbs_variables !! inner radius of outboard first wall/blanket coolant channels (stellarator only) [m] !#TODO move to stellarator? - character(len=6) :: fwcoolant + character(len=6) :: i_fw_coolant_type !! switch for first wall coolant (can be different from blanket coolant): !! !! - 'helium' @@ -739,7 +739,7 @@ subroutine init_fwbs_variables coolwh = 1 afwi = 0.008D0 afwo = 0.008D0 - fwcoolant = 'helium' + i_fw_coolant_type = 'helium' fw_wall = 0.003D0 afw = 0.006D0 pitch = 0.02D0 diff --git a/source/fortran/input.f90 b/source/fortran/input.f90 index 001e62e91c..13a6be8db6 100644 --- a/source/fortran/input.f90 +++ b/source/fortran/input.f90 @@ -266,7 +266,7 @@ subroutine parse_input_file(in_file,out_file,show_changes) omegan, prn1, frrp, xpertin, c1div, betai, bpsout, xparain, fdiva, & zeffdiv, hldivlim, rlenmax, divfix, c3div, & hldiv, i_hldiv - use fwbs_variables, only: fblhebpo, vfblkt, fdiv, fvolso, fwcoolant, & + use fwbs_variables, only: fblhebpo, vfblkt, fdiv, fvolso, i_fw_coolant_type, & pitch, i_blanket_type, blktmodel, afwi, fblli2o, nphcdin, breeder_multiplier, & fw_armour_thickness, roughness, fwclfr, breedmat, fblli, fblvd, & iblanket_thickness, vfcblkt, breeder_f, fbllipb, fhcd, vfshld, fblhebmi, & @@ -1939,9 +1939,9 @@ subroutine parse_input_file(in_file,out_file,show_changes) case ('pres_fw_coolant') call parse_real_variable('pres_fw_coolant', pres_fw_coolant, 1.0d5, 1.0D8, & 'first wall coolant pressure (Pa)') - case ('fwcoolant') - call parse_string_variable('fwcoolant', fwcoolant, 'first wall coolant') - call lower_case(fwcoolant) + case ('i_fw_coolant_type') + call parse_string_variable('i_fw_coolant_type', i_fw_coolant_type, 'first wall coolant') + call lower_case(i_fw_coolant_type) case ('roughness') call parse_real_variable('roughness', roughness, 0.0d0, 1.0D-2, & 'first wall channel roughness epsilon') diff --git a/tests/integration/ref_dicts.json b/tests/integration/ref_dicts.json index 11ce732f46..04e22a3efb 100644 --- a/tests/integration/ref_dicts.json +++ b/tests/integration/ref_dicts.json @@ -2081,7 +2081,7 @@ "fwbs_umain_time": 0.25, "fwbsshape": 2.0, "fwclfr": 0.15, - "fwcoolant": "'helium'", + "i_fw_coolant_type": "'helium'", "fwdr": 0.01, "fwdzl": 0.01, "fwdzu": 0.01, @@ -9673,7 +9673,7 @@ "fwbs_umain_time": "Fwbs unplanned maintenance time (years)", "fwbsshape": "switch for first wall, blanket, shield and vacuum vessel shape:\n
          \n
        • =1 D-shaped (cylinder inboard + ellipse outboard)
        • \n
        • =2 defined by two ellipses
        • \n
        ", "fwclfr": "first wall coolant fraction (calculated if `lpulse=1` or `ipowerflow=1`)", - "fwcoolant": "switch for first wall coolant (can be different from blanket coolant):\n
          \n
        • 'helium'
        • \n
        • 'water'
        • \n
        ", + "i_fw_coolant_type": "switch for first wall coolant (can be different from blanket coolant):\n
          \n
        • 'helium'
        • \n
        • 'water'
        • \n
        ", "fwdr": "radial thickness of IFE first wall (m)", "fwdzl": "vertical thickness of IFE first wall below chamber (m)", "fwdzu": "vertical thickness of IFE first wall above chamber (m)", @@ -18082,7 +18082,7 @@ "coolwh", "afwi", "afwo", - "fwcoolant", + "i_fw_coolant_type", "fw_wall", "afw", "pitch", diff --git a/tests/regression/input_files/st_regression.IN.DAT b/tests/regression/input_files/st_regression.IN.DAT index 086a479c1d..d2693937f4 100644 --- a/tests/regression/input_files/st_regression.IN.DAT +++ b/tests/regression/input_files/st_regression.IN.DAT @@ -2337,7 +2337,7 @@ etaiso = 0.9 * DESCRIPTION: First wall coolant pressure [Pa] (`secondary_cycle>1`) (default = 15.5D6) * JUSTIFICATION: Not yet set. -fwcoolant = helium +i_fw_coolant_type = helium * DESCRIPTION: switch for first wall coolant (can be different from blanket coolant) (default = helium): * 'helium' * 'water' diff --git a/tests/unit/test_blanket_library.py b/tests/unit/test_blanket_library.py index cdc1382108..f0694c6cf6 100644 --- a/tests/unit/test_blanket_library.py +++ b/tests/unit/test_blanket_library.py @@ -27,7 +27,7 @@ def blanket_library_fixture(): class PrimaryCoolantPropertiesParam(NamedTuple): - fwcoolant: Any = None + i_fw_coolant_type: Any = None temp_fw_coolant_in: Any = None @@ -84,7 +84,7 @@ class PrimaryCoolantPropertiesParam(NamedTuple): "primarycoolantpropertiesparam", ( PrimaryCoolantPropertiesParam( - fwcoolant="helium", + i_fw_coolant_type="helium", temp_fw_coolant_in=573, temp_fw_coolant_out=773, pres_fw_coolant=8000000, @@ -112,7 +112,7 @@ class PrimaryCoolantPropertiesParam(NamedTuple): expected_visc_fw=3.5036293160410249e-05, ), PrimaryCoolantPropertiesParam( - fwcoolant="helium", + i_fw_coolant_type="helium", temp_fw_coolant_in=573, temp_fw_coolant_out=773, pres_fw_coolant=8000000, @@ -159,7 +159,7 @@ def test_primary_coolant_properties( # monkeypatch doesnt work for strings # but helium is the default # monkeypatch.setattr( - # fwbs_variables, "fwcoolant", primarycoolantpropertiesparam.fwcoolant + # fwbs_variables, "i_fw_coolant_type", primarycoolantpropertiesparam.i_fw_coolant_type # ) monkeypatch.setattr( diff --git a/tests/unit/test_fw.py b/tests/unit/test_fw.py index 01f086acf1..dfa888b551 100644 --- a/tests/unit/test_fw.py +++ b/tests/unit/test_fw.py @@ -19,7 +19,7 @@ def fw(): class FwTempParam(NamedTuple): fw_th_conductivity: Any = None - fwcoolant: Any = None + i_fw_coolant_type: Any = None temp_fw_coolant_in: Any = None @@ -63,7 +63,7 @@ class FwTempParam(NamedTuple): ( FwTempParam( fw_th_conductivity=28.34, - fwcoolant="helium", + i_fw_coolant_type="helium", temp_fw_coolant_in=573, pres_fw_coolant=8000000, temp_fw_coolant_out=773, @@ -85,7 +85,7 @@ class FwTempParam(NamedTuple): ), FwTempParam( fw_th_conductivity=28.34, - fwcoolant="helium", + i_fw_coolant_type="helium", temp_fw_coolant_in=573, pres_fw_coolant=8000000, temp_fw_coolant_out=773, @@ -125,7 +125,7 @@ def test_fw_temp(fwtempparam, monkeypatch, fw): # monkeypatch doesnt work for strings # but helium is the default - # monkeypatch.setattr(fwbs_variables, "fwcoolant", fwtempparam.fwcoolant) + # monkeypatch.setattr(fwbs_variables, "i_fw_coolant_type", fwtempparam.i_fw_coolant_type) monkeypatch.setattr( fwbs_variables, "temp_fw_coolant_in", fwtempparam.temp_fw_coolant_in From 1636d27d943aa8e4d2f618ab0f72394a27e3f976 Mon Sep 17 00:00:00 2001 From: mn3981 Date: Fri, 31 Jan 2025 15:05:21 +0000 Subject: [PATCH 15/21] =?UTF-8?q?=F0=9F=94=84=20Rename=20`afw`=20to=20`rad?= =?UTF-8?q?ius=5Ffw=5Fchannel`=20for=20clarity=20and=20consistency=20acros?= =?UTF-8?q?s=20the=20codebase?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../proc-pages/eng-models/fw-blanket.md | 8 +-- process/blanket_library.py | 55 ++++++++++--------- process/dcll.py | 2 +- process/fw.py | 26 +++++---- process/hcpb.py | 4 +- process/stellarator.py | 2 +- process/utilities/errorlist.json | 2 +- source/fortran/fwbs_variables.f90 | 4 +- source/fortran/input.f90 | 6 +- tests/integration/ref_dicts.json | 10 ++-- tests/integration/test_blanket_library_int.py | 10 ++-- .../input_files/st_regression.IN.DAT | 2 +- tests/unit/test_blanket_library.py | 12 ++-- tests/unit/test_ccfe_hcpb.py | 12 ++-- tests/unit/test_fw.py | 10 ++-- tests/unit/test_stellarator.py | 10 ++-- 16 files changed, 98 insertions(+), 77 deletions(-) diff --git a/documentation/proc-pages/eng-models/fw-blanket.md b/documentation/proc-pages/eng-models/fw-blanket.md index d6708f7c86..c5225f1e49 100644 --- a/documentation/proc-pages/eng-models/fw-blanket.md +++ b/documentation/proc-pages/eng-models/fw-blanket.md @@ -76,7 +76,7 @@ Summary of key variables and switches: | :----------------------: | :---------------------: | ------------------------ | ------------------------------------ | | Coolant Channels | :-----------: | ------------------------ | -------------------------- | | length (m) | `fw_channel_length` | --- | --- | -| width (m) | `afw` (radius, cicular) | `afw` | `a_bz_liq`, `b_bz_liq` (rectangular) | +| width (m) | `radius_fw_channel` (radius, cicular) | `radius_fw_channel` | `a_bz_liq`, `b_bz_liq` (rectangular) | | wall thickness (m) | `fw_wall` | fw_wall | `th_wall_secondary` | | pitch (m) | `pitch` | --- | --- | | roughness epsilon | `roughness` | --- | --- | @@ -110,7 +110,7 @@ Minimum distance travelled by surface heat load = $\texttt{fw} \_ \texttt{wall}$ Maximum distance travelled by surface heat load = $\texttt{diagonal}$ $$ -\texttt{diagonal}=\sqrt{(\texttt{afw}+\texttt{fw} \_ \texttt{wall})^2 + \left(\frac{\texttt{pitch}}{2}-\texttt{afw}\right)^2 } +\texttt{diagonal}=\sqrt{(\texttt{radius_fw_channel}+\texttt{fw} \_ \texttt{wall})^2 + \left(\frac{\texttt{pitch}}{2}-\texttt{radius_fw_channel}\right)^2 } $$ Typical distance travelled by surface heat load: @@ -121,7 +121,7 @@ $$ $$ -\texttt{diagonal}=\sqrt{(\texttt{afw}+\texttt{fw} \_ \texttt{wall})^2 + \left(\frac{\texttt{pitch}}{2}-\texttt{afw}\right)^2 } +\texttt{diagonal}=\sqrt{(\texttt{radius_fw_channel}+\texttt{fw} \_ \texttt{wall})^2 + \left(\frac{\texttt{pitch}}{2}-\texttt{radius_fw_channel}\right)^2 } $$ The energy travels over a cross-section which is initially $= \texttt{pitch}$ @@ -129,7 +129,7 @@ It spreads out, arriving at the coolant pipe over an area of half the circumfere We use the mean of these values: $$ -\texttt{mean} \_ \texttt{width} = \frac{\texttt{pitch} + \pi \times \texttt{afw}}{2} +\texttt{mean} \_ \texttt{width} = \frac{\texttt{pitch} + \pi \times \texttt{radius_fw_channel}}{2} $$ The temperature difference between the plasma-facing surface and the coolant is then: diff --git a/process/blanket_library.py b/process/blanket_library.py index 89fd9d4536..a0d754fcb2 100644 --- a/process/blanket_library.py +++ b/process/blanket_library.py @@ -789,8 +789,8 @@ def thermo_hydraulic_model_pressure_drop_calculations(self, output: bool): fwbs_variables.vfblkt * fwbs_variables.volblkto ) / ( np.pi - * fwbs_variables.afw - * fwbs_variables.afw + * fwbs_variables.radius_fw_channel + * fwbs_variables.radius_fw_channel * blanket_library.bzfllengo ) npblkto_liq = ( @@ -823,8 +823,8 @@ def thermo_hydraulic_model_pressure_drop_calculations(self, output: bool): fwbs_variables.vfblkt * fwbs_variables.volblkti ) / ( np.pi - * fwbs_variables.afw - * fwbs_variables.afw + * fwbs_variables.radius_fw_channel + * fwbs_variables.radius_fw_channel * blanket_library.bzfllengi ) # Have DEMO DCLL set here for now @@ -862,8 +862,8 @@ def thermo_hydraulic_model_pressure_drop_calculations(self, output: bool): fwbs_variables.vfblkt * fwbs_variables.volblkto ) / ( np.pi - * fwbs_variables.afw - * fwbs_variables.afw + * fwbs_variables.radius_fw_channel + * fwbs_variables.radius_fw_channel * blanket_library.bzfllengo ) npblkto_liq = ( @@ -904,8 +904,8 @@ def thermo_hydraulic_model_pressure_drop_calculations(self, output: bool): fwbs_variables.vfblkt * fwbs_variables.volblkti ) / ( np.pi - * fwbs_variables.afw - * fwbs_variables.afw + * fwbs_variables.radius_fw_channel + * fwbs_variables.radius_fw_channel * blanket_library.bzfllengi ) # Have DEMO DCLL set here for now @@ -949,8 +949,8 @@ def thermo_hydraulic_model_pressure_drop_calculations(self, output: bool): fwbs_variables.vfblkt * fwbs_variables.volblkto ) / ( np.pi - * fwbs_variables.afw - * fwbs_variables.afw + * fwbs_variables.radius_fw_channel + * fwbs_variables.radius_fw_channel * blanket_library.bzfllengo ) @@ -973,8 +973,8 @@ def thermo_hydraulic_model_pressure_drop_calculations(self, output: bool): fwbs_variables.vfblkt * fwbs_variables.volblkti ) / ( np.pi - * fwbs_variables.afw - * fwbs_variables.afw + * fwbs_variables.radius_fw_channel + * fwbs_variables.radius_fw_channel * blanket_library.bzfllengi ) @@ -1469,7 +1469,7 @@ def liquid_breeder_properties(self, output: bool = False): def flow_velocity(self, i_channel_shape, mass_flow_rate, flow_density): """Calculate the coolant flow velocity (m/s) for given pipe mass flow rate and pipe size/shape. - N.B. Assumed that primary BB and FW coolants have same pipe radius (= afw). + N.B. Assumed that primary BB and FW coolants have same pipe radius (= radius_fw_channel). author: G. Graham, CCFE :param i_channel_shape: Switch for circular or rectangular channel crossection. @@ -1482,7 +1482,10 @@ def flow_velocity(self, i_channel_shape, mass_flow_rate, flow_density): if i_channel_shape == 1: return mass_flow_rate / ( - flow_density * np.pi * fwbs_variables.afw * fwbs_variables.afw + flow_density + * np.pi + * fwbs_variables.radius_fw_channel + * fwbs_variables.radius_fw_channel ) # If secondary coolant then rectangular channels assumed @@ -1520,7 +1523,7 @@ def thermo_hydraulic_model(self, output: bool): Coolant Channels FW BB primary BB Liquid Breeder/Coolant length (m) fw_channel_length - width (m) afw (radius, cicular) afw a_bz_liq, b_bz_liq (rectangular) + width (m) radius_fw_channel (radius, cicular) radius_fw_channel a_bz_liq, b_bz_liq (rectangular) wall thickness (m) fw_wall fw_wall th_wall_secondary pitch (m) pitch roughness epsilon roughness @@ -1653,7 +1656,7 @@ def thermo_hydraulic_model(self, output: bool): # This subroutine recalculates cp and rhof. (blanket_library.tpeakfwi, _, _, blanket_library.mffwpi) = self.fw.fw_temp( output, - fwbs_variables.afw, + fwbs_variables.radius_fw_channel, build_variables.dr_fw_inboard, build_variables.a_fw_inboard, fwbs_variables.psurffwi, @@ -1668,7 +1671,7 @@ def thermo_hydraulic_model(self, output: bool): # ) = fw_module.fw_temp( # int(output), # self.outfile, - # fwbs_variables.afw, + # fwbs_variables.radius_fw_channel, # build_variables.dr_fw_inboard, # build_variables.a_fw_inboard, # fwbs_variables.psurffwi, @@ -1677,7 +1680,7 @@ def thermo_hydraulic_model(self, output: bool): # ) (fwbs_variables.tpeakfwo, cf, rhof, fwbs_variables.mffwpo) = self.fw.fw_temp( output, - fwbs_variables.afw, + fwbs_variables.radius_fw_channel, build_variables.dr_fw_outboard, build_variables.a_fw_outboard, fwbs_variables.psurffwo, @@ -1687,7 +1690,7 @@ def thermo_hydraulic_model(self, output: bool): # (fwbs_variables.tpeakfwo, cf, rhof, fwbs_variables.mffwpo) = fw_module.fw_temp( # int(output), # self.outfile, - # fwbs_variables.afw, + # fwbs_variables.radius_fw_channel, # build_variables.dr_fw_outboard, # build_variables.a_fw_outboard, # fwbs_variables.psurffwo, @@ -1973,8 +1976,8 @@ def thermo_hydraulic_model(self, output: bool): po.ovarre( self.outfile, "Radius of first wall cooling channels (m)", - "(afw)", - fwbs_variables.afw, + "(radius_fw_channel)", + fwbs_variables.radius_fw_channel, ) po.ovarre( self.outfile, @@ -2451,13 +2454,15 @@ def pressure_drop( # In preveious version of pumppower: # - elbow radius assumed = 0.018m for 90 degree elbow, from WCLL # - elbow radius assumed half that of 90 deg case for 180 deg elbow - # Intialised value for afw is 0.006m, so elbow radius = 3 * afw, + # Intialised value for radius_fw_channel is 0.006m, so elbow radius = 3 * radius_fw_channel, # aka 1.5 * pipe diameter, which seems to be engineering standard for - # a steel pipe long-radius elbow (short-radius elbow = 2 * afw). + # a steel pipe long-radius elbow (short-radius elbow = 2 * radius_fw_channel). # If primary coolant or secondary coolant (See DCLL) elbow_radius = ( - (3 * fwbs_variables.afw) if (i_ps == 1) else fwbs_variables.b_bz_liq + (3 * fwbs_variables.radius_fw_channel) + if (i_ps == 1) + else fwbs_variables.b_bz_liq ) # 90 degree elbow pressure drop coefficient @@ -2537,7 +2542,7 @@ def hydraulic_diameter(self, i_channel_shape): """ # If primary coolant then circular channels assumed if i_channel_shape == 1: - return 2.0 * fwbs_variables.afw + return 2.0 * fwbs_variables.radius_fw_channel # If secondary coolant then rectangular channels assumed if i_channel_shape == 2: diff --git a/process/dcll.py b/process/dcll.py index 9ef6e8e08d..95be0f98e7 100644 --- a/process/dcll.py +++ b/process/dcll.py @@ -93,7 +93,7 @@ def __init__(self, blanket_library) -> None: def run(self, output: bool): # MDK (27/11/2015) build_variables.dr_fw_inboard = ( - 2 * fwbs_variables.afw + 2 * fwbs_variables.fw_wall + 2 * fwbs_variables.radius_fw_channel + 2 * fwbs_variables.fw_wall ) build_variables.dr_fw_outboard = build_variables.dr_fw_inboard diff --git a/process/fw.py b/process/fw.py index 087f0ab3a3..5e6bb62174 100644 --- a/process/fw.py +++ b/process/fw.py @@ -22,7 +22,7 @@ def __init__(self) -> None: def fw_temp( self, output: bool, - afw, + radius_fw_channel, thickness, area, prad_incident, @@ -31,7 +31,7 @@ def fw_temp( ): """Thermo-hydraulic calculations for the first wall author: P J Knight, CCFE, Culham Science Centre - afw : input real : first wall coolant channel radius (m) + radius_fw_channel : input real : first wall coolant channel radius (m) thickness : first wall thickness (dr_fw_inboard or dr_fw_outboard) (m) area : input real : area of first wall section under consideration (m2) (i.e. area of inboard wall or outboard wall) @@ -61,7 +61,7 @@ def fw_temp( fwvol = area * thickness # First wall channel area (m2) - channel_area = np.pi * afw**2 + channel_area = np.pi * radius_fw_channel**2 # Heat generation in the first wall due to neutron flux deposited in the material (W/m3) qppp = 1e6 * pnuc_deposited / fwvol @@ -137,7 +137,7 @@ def fw_temp( hcoeff = self.heat_transfer( masflx, ob_fluid_properties.density, - afw, + radius_fw_channel, ob_fluid_properties.specific_heat_const_p, ob_fluid_properties.viscosity, ob_fluid_properties.thermal_conductivity, @@ -171,7 +171,7 @@ def fw_temp( # Note I do NOT assume that the channel covers the full width of the first wall: # Effective area for heat transfer (m2) - effective_area_for_heat_transfer = 2 * afw + effective_area_for_heat_transfer = 2 * radius_fw_channel # Temperature drop in first-wall material (K) deltat_solid_1D = ( @@ -186,7 +186,8 @@ def fw_temp( # Calculate maximum distance travelled by surface heat load (m) # fw_wall | Minimum distance travelled by surface heat load (m) diagonal = np.sqrt( - (fwbs_variables.pitch / 2 - afw) ** 2 + (afw + fwbs_variables.fw_wall) ** 2 + (fwbs_variables.pitch / 2 - radius_fw_channel) ** 2 + + (radius_fw_channel + fwbs_variables.fw_wall) ** 2 ) # Mean distance travelled by surface heat (m) @@ -195,14 +196,14 @@ def fw_temp( # This heat starts off spread over width = 'pitch'. # It ends up spread over one half the circumference. # Use the mean of these values. - mean_width = (fwbs_variables.pitch + np.pi * afw) / 2 # (m) + mean_width = (fwbs_variables.pitch + np.pi * radius_fw_channel) / 2 # (m) # As before, use a combined load 'onedload' # Temperature drop in first-wall material (K) deltat_solid = onedload * mean_distance / (tkfw * mean_width) # Temperature drop between channel inner wall and bulk coolant (K) - deltat_coolant = load / (2 * np.pi * afw * hcoeff) + deltat_coolant = load / (2 * np.pi * radius_fw_channel * hcoeff) # Peak first wall temperature (K) tpeakfw = fwbs_variables.temp_fw_coolant_out + deltat_solid + deltat_coolant @@ -211,7 +212,12 @@ def fw_temp( po.oheadr( self.outfile, "Heat transfer parameters at the coolant outlet: " + label ) - po.ovarre(self.outfile, "Radius of coolant channel (m)", "(afw)", afw) + po.ovarre( + self.outfile, + "Radius of coolant channel (m)", + "(radius_fw_channel)", + radius_fw_channel, + ) po.ovarre( self.outfile, "Mean surface heat flux on first wall (W/m2) ", @@ -389,7 +395,7 @@ def friction(self, reynolds): # Bracketed term in Haaland equation bracket = ( - fwbs_variables.roughness / fwbs_variables.afw / 3.7 + fwbs_variables.roughness / fwbs_variables.radius_fw_channel / 3.7 ) ** 1.11 + 6.9 / reynolds # Calculate Darcy friction factor diff --git a/process/hcpb.py b/process/hcpb.py index 7f6dc960fd..8b47f68724 100644 --- a/process/hcpb.py +++ b/process/hcpb.py @@ -45,7 +45,7 @@ def run(self, output: bool): # MDK (27/11/2015) build_variables.dr_fw_inboard = ( - 2 * fwbs_variables.afw + 2 * fwbs_variables.fw_wall + 2 * fwbs_variables.radius_fw_channel + 2 * fwbs_variables.fw_wall ) build_variables.dr_fw_outboard = build_variables.dr_fw_inboard @@ -393,7 +393,7 @@ def nuclear_heating_magnets(self, output: bool): # inboard FW coolant void fraction fwbs_variables.f_a_fw_coolant_inboard = ( np.pi - * fwbs_variables.afw**2 + * fwbs_variables.radius_fw_channel**2 / (fwbs_variables.pitch * build_variables.dr_fw_inboard) ) diff --git a/process/stellarator.py b/process/stellarator.py index ec355efd67..562e518838 100644 --- a/process/stellarator.py +++ b/process/stellarator.py @@ -346,7 +346,7 @@ def stbild(self, output: bool): # First Wall build_variables.dr_fw_inboard = ( - 2.0e0 * fwbs_variables.afw + 2.0e0 * fwbs_variables.fw_wall + 2.0e0 * fwbs_variables.radius_fw_channel + 2.0e0 * fwbs_variables.fw_wall ) build_variables.dr_fw_outboard = build_variables.dr_fw_inboard diff --git a/process/utilities/errorlist.json b/process/utilities/errorlist.json index 7f7dbd38a2..a9ce5e0461 100644 --- a/process/utilities/errorlist.json +++ b/process/utilities/errorlist.json @@ -453,7 +453,7 @@ { "no": 89, "level": 3, - "message": "ITERATE_FW: Inner pipe radius afw >= outer pipe radius bfw" + "message": "ITERATE_FW: Inner pipe radius radius_fw_channel >= outer pipe radius bfw" }, { "no": 90, diff --git a/source/fortran/fwbs_variables.f90 b/source/fortran/fwbs_variables.f90 index 2814f1d7fe..f422c9db85 100644 --- a/source/fortran/fwbs_variables.f90 +++ b/source/fortran/fwbs_variables.f90 @@ -318,7 +318,7 @@ module fwbs_variables real(dp) :: fw_wall !! wall thickness of first wall coolant channels [m] - real(dp) :: afw + real(dp) :: radius_fw_channel !! radius of first wall cooling channels [m] real(dp) :: pitch @@ -741,7 +741,7 @@ subroutine init_fwbs_variables afwo = 0.008D0 i_fw_coolant_type = 'helium' fw_wall = 0.003D0 - afw = 0.006D0 + radius_fw_channel = 0.006D0 pitch = 0.02D0 temp_fw_coolant_in = 573.0D0 temp_fw_coolant_out = 823.0D0 diff --git a/source/fortran/input.f90 b/source/fortran/input.f90 index 13a6be8db6..014a79d3bf 100644 --- a/source/fortran/input.f90 +++ b/source/fortran/input.f90 @@ -274,7 +274,7 @@ subroutine parse_input_file(in_file,out_file,show_changes) fvolsi, etahtp, nblktmodpo, pres_fw_coolant, emult, temp_fw_coolant_out, nblktmodpi, & fblhebpi, fblss, inlet_temp, outlet_temp, fblbreed, qnuc, blpressure, & blpressure_liq, n_liq_recirc, pnuc_fw_ratio_dcll, f_nuc_pow_bz_struct, & - declblkt, fblhebmo, blkttype, afw, inuclear, declshld, hcdportsize, & + declblkt, fblhebmo, blkttype, radius_fw_channel, inuclear, declshld, hcdportsize, & npdiv, peaking_factor, primary_pumping, dr_pf_cryostat, secondary_cycle, secondary_cycle_liq, & denstl, declfw, nphcdout, i_blkt_inboard, vfpblkt, temp_fw_coolant_in, wallpf, fblbe, & fhole, fwbsshape, coolp, tfwmatmax, irefprop, fw_channel_length, & @@ -1920,8 +1920,8 @@ subroutine parse_input_file(in_file,out_file,show_changes) call parse_real_array('zref', zref, isub1, ngrpmx, & 'height of location 3 and 4 coil groups / minor radius', icode) - case ('afw') - call parse_real_variable('afw', afw, 1.0D-3, 0.5D0, & + case ('radius_fw_channel') + call parse_real_variable('radius_fw_channel', radius_fw_channel, 1.0D-3, 0.5D0, & 'Inner radius of first wall coolant channel (m)') case ('fw_wall') diff --git a/tests/integration/ref_dicts.json b/tests/integration/ref_dicts.json index 04e22a3efb..64dc6a791a 100644 --- a/tests/integration/ref_dicts.json +++ b/tests/integration/ref_dicts.json @@ -222,7 +222,7 @@ "admv": 100000.0, "admvol": 0.0, "m_fuel_amu": 0.0, - "afw": 0.006, + "radius_fw_channel": 0.006, "afwi": 0.008, "afwo": 0.008, "aintmass": 0.0, @@ -8792,7 +8792,7 @@ "admv": "administration building volume (m3)", "admvol": "volume of administration buildings (m3)", "m_fuel_amu": "average mass of fuel portion of ions (amu)", - "afw": "radius of first wall cooling channels (m)", + "radius_fw_channel": "radius of first wall cooling channels (m)", "afwi": "inner radius of inboard first wall/blanket coolant channels (stellarator only) (m)", "afwo": "inner radius of outboard first wall/blanket coolant channels (stellarator only) (m)", "aintmass": "intercoil structure mass (kg)", @@ -11557,7 +11557,7 @@ "lb": 10000.0, "ub": 1000000.0 }, - "afw": { + "radius_fw_channel": { "lb": 0.001, "ub": 0.5 }, @@ -18084,7 +18084,7 @@ "afwo", "i_fw_coolant_type", "fw_wall", - "afw", + "radius_fw_channel", "pitch", "temp_fw_coolant_in", "temp_fw_coolant_out", @@ -19988,7 +19988,7 @@ "abserr_sol": "real_variable", "adivflnc": "real_variable", "admv": "real_variable", - "afw": "real_variable", + "radius_fw_channel": "real_variable", "afwi": "real_variable", "afwo": "real_variable", "airtemp": "real_variable", diff --git a/tests/integration/test_blanket_library_int.py b/tests/integration/test_blanket_library_int.py index bce2fbdfe7..dce510e868 100644 --- a/tests/integration/test_blanket_library_int.py +++ b/tests/integration/test_blanket_library_int.py @@ -28,12 +28,14 @@ def test_hydraulic_diameter(monkeypatch, blanket_library_fixture): Test for hydraulic_diameter function. """ # Set var values - monkeypatch.setattr(fwbs, "afw", 1.0) + monkeypatch.setattr(fwbs, "radius_fw_channel", 1.0) monkeypatch.setattr(fwbs, "a_bz_liq", 1.0) monkeypatch.setattr(fwbs, "b_bz_liq", 1.0) # hydraulic_diameter input = i_channel_shape: 1 = circle, 2 = rectangle - assert blanket_library_fixture.hydraulic_diameter(1) == 2.0 # 2.0D0*afw + assert ( + blanket_library_fixture.hydraulic_diameter(1) == 2.0 + ) # 2.0D0*radius_fw_channel assert ( blanket_library_fixture.hydraulic_diameter(2) == 1.0 ) # 2*a_bz_liq*b_bz_liq/(a_bz_liq+b_bz_liq) @@ -69,7 +71,7 @@ def test_flow_velocity(monkeypatch, blanket_library_fixture): Test for flow_velocity function. """ # Set var values - monkeypatch.setattr(fwbs, "afw", 1.0) + monkeypatch.setattr(fwbs, "radius_fw_channel", 1.0) monkeypatch.setattr(fwbs, "a_bz_liq", 1.0) monkeypatch.setattr(fwbs, "b_bz_liq", 1.0) @@ -183,7 +185,7 @@ def test_pressure_drop(monkeypatch, blanket_library_fixture): """ # Set var values - monkeypatch.setattr(fwbs, "afw", 1.0) + monkeypatch.setattr(fwbs, "radius_fw_channel", 1.0) monkeypatch.setattr(fwbs, "a_bz_liq", 1.0) monkeypatch.setattr(fwbs, "b_bz_liq", 1.0) monkeypatch.setattr(fwbs, "roughness", 1.0e-6) diff --git a/tests/regression/input_files/st_regression.IN.DAT b/tests/regression/input_files/st_regression.IN.DAT index d2693937f4..0eb4038052 100644 --- a/tests/regression/input_files/st_regression.IN.DAT +++ b/tests/regression/input_files/st_regression.IN.DAT @@ -2313,7 +2313,7 @@ etaiso = 0.9 *~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ First Wall ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~* *‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ -*afw = +*radius_fw_channel = * DESCRIPTION: Radius of first wall cooling channels [m] (default = 0.006) * JUSTIFICATION: diff --git a/tests/unit/test_blanket_library.py b/tests/unit/test_blanket_library.py index f0694c6cf6..8034b4f6b7 100644 --- a/tests/unit/test_blanket_library.py +++ b/tests/unit/test_blanket_library.py @@ -258,7 +258,7 @@ def test_primary_coolant_properties( def test_deltap_tot_inboard_first_wall(monkeypatch, blanket_library_fixture): - monkeypatch.setattr(fwbs_variables, "afw", 0.006) + monkeypatch.setattr(fwbs_variables, "radius_fw_channel", 0.006) monkeypatch.setattr(fwbs_variables, "a_bz_liq", 0.22481) data = { @@ -284,7 +284,7 @@ def test_deltap_tot_inboard_first_wall(monkeypatch, blanket_library_fixture): def test_deltap_tot_outboard_blanket_breeder_liquid( monkeypatch, blanket_library_fixture ): - monkeypatch.setattr(fwbs_variables, "afw", 0.006) + monkeypatch.setattr(fwbs_variables, "radius_fw_channel", 0.006) monkeypatch.setattr(fwbs_variables, "a_bz_liq", 0.22481) monkeypatch.setattr(fwbs_variables, "ifci", 1) monkeypatch.setattr(fwbs_variables, "b_bz_liq", 0.11625) @@ -1739,7 +1739,7 @@ def test_liquid_breeder_properties( class PressureDropParam(NamedTuple): - afw: Any = None + radius_fw_channel: Any = None a_bz_liq: Any = None b_bz_liq: Any = None roughness: Any = None @@ -1760,7 +1760,7 @@ class PressureDropParam(NamedTuple): "pressuredropparam", ( PressureDropParam( - afw=0.0060000000000000001, + radius_fw_channel=0.0060000000000000001, a_bz_liq=0.20000000000000001, b_bz_liq=0.20000000000000001, roughness=9.9999999999999995e-07, @@ -1790,7 +1790,9 @@ def test_pressure_drop(pressuredropparam, monkeypatch, blanket_library_fixture): :param monkeypatch: pytest fixture used to mock module/class variables :type monkeypatch: _pytest.monkeypatch.monkeypatch """ - monkeypatch.setattr(fwbs_variables, "afw", pressuredropparam.afw) + monkeypatch.setattr( + fwbs_variables, "radius_fw_channel", pressuredropparam.radius_fw_channel + ) monkeypatch.setattr(fwbs_variables, "a_bz_liq", pressuredropparam.a_bz_liq) monkeypatch.setattr(fwbs_variables, "b_bz_liq", pressuredropparam.b_bz_liq) monkeypatch.setattr(fwbs_variables, "roughness", pressuredropparam.roughness) diff --git a/tests/unit/test_ccfe_hcpb.py b/tests/unit/test_ccfe_hcpb.py index b3d090ab98..5701ea274f 100644 --- a/tests/unit/test_ccfe_hcpb.py +++ b/tests/unit/test_ccfe_hcpb.py @@ -47,7 +47,7 @@ class NuclearHeatingMagnetsParam(NamedTuple): dr_shld_outboard: Any = None - afw: Any = None + radius_fw_channel: Any = None pitch: Any = None @@ -138,7 +138,7 @@ class NuclearHeatingMagnetsParam(NamedTuple): dr_blkt_outboard=0.98199999999999998, dr_shld_inboard=0.30000000000000004, dr_shld_outboard=0.80000000000000004, - afw=0.0060000000000000001, + radius_fw_channel=0.0060000000000000001, pitch=0.02, denstl=7800, whtblkt=3501027.3252278985, @@ -187,7 +187,7 @@ class NuclearHeatingMagnetsParam(NamedTuple): dr_blkt_outboard=0.98199999999999998, dr_shld_inboard=0.30000000000000004, dr_shld_outboard=0.80000000000000004, - afw=0.0060000000000000001, + radius_fw_channel=0.0060000000000000001, pitch=0.02, denstl=7800, whtblkt=3507503.3737008357, @@ -274,7 +274,11 @@ def test_nuclear_heating_magnets(nuclearheatingmagnetsparam, monkeypatch, ccfe_h build_variables, "dr_shld_outboard", nuclearheatingmagnetsparam.dr_shld_outboard ) - monkeypatch.setattr(fwbs_variables, "afw", nuclearheatingmagnetsparam.afw) + monkeypatch.setattr( + fwbs_variables, + "radius_fw_channel", + nuclearheatingmagnetsparam.radius_fw_channel, + ) monkeypatch.setattr(fwbs_variables, "pitch", nuclearheatingmagnetsparam.pitch) diff --git a/tests/unit/test_fw.py b/tests/unit/test_fw.py index dfa888b551..47ec09be41 100644 --- a/tests/unit/test_fw.py +++ b/tests/unit/test_fw.py @@ -39,7 +39,7 @@ class FwTempParam(NamedTuple): pnuc_deposited: Any = None - afw: Any = None + radius_fw_channel: Any = None thickness: Any = None @@ -73,7 +73,7 @@ class FwTempParam(NamedTuple): peaking_factor=1, fw_wall=0.0030000000000000001, pnuc_deposited=75.219932653459054, - afw=0.0060000000000000001, + radius_fw_channel=0.0060000000000000001, thickness=0.018000000000000002, area=612.23369764444396, prad_incident=97.271629070225231, @@ -95,7 +95,7 @@ class FwTempParam(NamedTuple): peaking_factor=1, fw_wall=0.0030000000000000001, pnuc_deposited=121.50088652655793, - afw=0.0060000000000000001, + radius_fw_channel=0.0060000000000000001, thickness=0.018000000000000002, area=988.92586580655245, prad_incident=176.95628839065773, @@ -152,7 +152,7 @@ def test_fw_temp(fwtempparam, monkeypatch, fw): tpeakfw, cfmean, rhofmean, massrate = fw.fw_temp( False, pnuc_deposited=fwtempparam.pnuc_deposited, - afw=fwtempparam.afw, + radius_fw_channel=fwtempparam.radius_fw_channel, thickness=fwtempparam.thickness, area=fwtempparam.area, prad_incident=fwtempparam.prad_incident, @@ -169,7 +169,7 @@ def test_fw_temp(fwtempparam, monkeypatch, fw): def test_friction(monkeypatch, fw): - monkeypatch.setattr(fwbs_variables, "afw", 0.1) + monkeypatch.setattr(fwbs_variables, "radius_fw_channel", 0.1) monkeypatch.setattr(fwbs_variables, "roughness", 1e-6) assert fw.friction(5500) == pytest.approx(0.0366668931278784) diff --git a/tests/unit/test_stellarator.py b/tests/unit/test_stellarator.py index 964139e5f8..b6961ef5aa 100644 --- a/tests/unit/test_stellarator.py +++ b/tests/unit/test_stellarator.py @@ -268,7 +268,7 @@ class StbildParam(NamedTuple): required_radial_space: Any = None - afw: Any = None + radius_fw_channel: Any = None blktmodel: Any = None @@ -373,7 +373,7 @@ class StbildParam(NamedTuple): available_radial_space=0, f_avspace=1, required_radial_space=0, - afw=0.0060000000000000001, + radius_fw_channel=0.0060000000000000001, blktmodel=0, fdiv=0.115, fhcd=0, @@ -443,7 +443,7 @@ class StbildParam(NamedTuple): available_radial_space=1.8828828828828827, f_avspace=1, required_radial_space=2.0332922403587861, - afw=0.0060000000000000001, + radius_fw_channel=0.0060000000000000001, blktmodel=0, fdiv=0.021924555536480182, fhcd=0, @@ -585,7 +585,9 @@ def test_stbild(stbildparam, monkeypatch, stellarator): build_variables, "required_radial_space", stbildparam.required_radial_space ) - monkeypatch.setattr(fwbs_variables, "afw", stbildparam.afw) + monkeypatch.setattr( + fwbs_variables, "radius_fw_channel", stbildparam.radius_fw_channel + ) monkeypatch.setattr(fwbs_variables, "blktmodel", stbildparam.blktmodel) From 551c3bc1eaca749ae02e9cbe609b65c5c79020e0 Mon Sep 17 00:00:00 2001 From: mn3981 Date: Fri, 31 Jan 2025 15:07:37 +0000 Subject: [PATCH 16/21] =?UTF-8?q?=F0=9F=94=84=20Rename=20`fw=5Fwall`=20to?= =?UTF-8?q?=20`dr=5Ffw=5Fwall`=20for=20clarity=20and=20consistency=20acros?= =?UTF-8?q?s=20the=20codebase?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- documentation/proc-pages/eng-models/fw-blanket.md | 2 +- process/blanket_library.py | 6 +++--- process/dcll.py | 2 +- process/fw.py | 8 ++++---- process/hcpb.py | 2 +- process/stellarator.py | 2 +- source/fortran/fwbs_variables.f90 | 4 ++-- source/fortran/input.f90 | 6 +++--- tests/integration/ref_dicts.json | 10 +++++----- tests/regression/input_files/st_regression.IN.DAT | 2 +- tests/unit/test_fw.py | 8 ++++---- tests/unit/test_stellarator.py | 8 ++++---- 12 files changed, 30 insertions(+), 30 deletions(-) diff --git a/documentation/proc-pages/eng-models/fw-blanket.md b/documentation/proc-pages/eng-models/fw-blanket.md index c5225f1e49..869d6ce0f0 100644 --- a/documentation/proc-pages/eng-models/fw-blanket.md +++ b/documentation/proc-pages/eng-models/fw-blanket.md @@ -77,7 +77,7 @@ Summary of key variables and switches: | Coolant Channels | :-----------: | ------------------------ | -------------------------- | | length (m) | `fw_channel_length` | --- | --- | | width (m) | `radius_fw_channel` (radius, cicular) | `radius_fw_channel` | `a_bz_liq`, `b_bz_liq` (rectangular) | -| wall thickness (m) | `fw_wall` | fw_wall | `th_wall_secondary` | +| wall thickness (m) | `dr_fw_wall` | dr_fw_wall | `th_wall_secondary` | | pitch (m) | `pitch` | --- | --- | | roughness epsilon | `roughness` | --- | --- | | peak FW temp (K) | `tpeak` | --- | --- | diff --git a/process/blanket_library.py b/process/blanket_library.py index a0d754fcb2..c87d6c6670 100644 --- a/process/blanket_library.py +++ b/process/blanket_library.py @@ -1524,7 +1524,7 @@ def thermo_hydraulic_model(self, output: bool): length (m) fw_channel_length width (m) radius_fw_channel (radius, cicular) radius_fw_channel a_bz_liq, b_bz_liq (rectangular) - wall thickness (m) fw_wall fw_wall th_wall_secondary + wall thickness (m) dr_fw_wall dr_fw_wall th_wall_secondary pitch (m) pitch roughness epsilon roughness peak FW temp (K) tpeak @@ -1970,8 +1970,8 @@ def thermo_hydraulic_model(self, output: bool): po.ovarre( self.outfile, "Wall thickness of first wall cooling channels (m)", - "(fw_wall)", - fwbs_variables.fw_wall, + "(dr_fw_wall)", + fwbs_variables.dr_fw_wall, ) po.ovarre( self.outfile, diff --git a/process/dcll.py b/process/dcll.py index 95be0f98e7..3994bb4a1b 100644 --- a/process/dcll.py +++ b/process/dcll.py @@ -93,7 +93,7 @@ def __init__(self, blanket_library) -> None: def run(self, output: bool): # MDK (27/11/2015) build_variables.dr_fw_inboard = ( - 2 * fwbs_variables.radius_fw_channel + 2 * fwbs_variables.fw_wall + 2 * fwbs_variables.radius_fw_channel + 2 * fwbs_variables.dr_fw_wall ) build_variables.dr_fw_outboard = build_variables.dr_fw_inboard diff --git a/process/fw.py b/process/fw.py index 5e6bb62174..aaeb0783c7 100644 --- a/process/fw.py +++ b/process/fw.py @@ -176,7 +176,7 @@ def fw_temp( # Temperature drop in first-wall material (K) deltat_solid_1D = ( onedload - * fwbs_variables.fw_wall + * fwbs_variables.dr_fw_wall / (tkfw * effective_area_for_heat_transfer) ) @@ -184,14 +184,14 @@ def fw_temp( # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! # Calculate maximum distance travelled by surface heat load (m) - # fw_wall | Minimum distance travelled by surface heat load (m) + # dr_fw_wall | Minimum distance travelled by surface heat load (m) diagonal = np.sqrt( (fwbs_variables.pitch / 2 - radius_fw_channel) ** 2 - + (radius_fw_channel + fwbs_variables.fw_wall) ** 2 + + (radius_fw_channel + fwbs_variables.dr_fw_wall) ** 2 ) # Mean distance travelled by surface heat (m) - mean_distance = (fwbs_variables.fw_wall + diagonal) / 2 + mean_distance = (fwbs_variables.dr_fw_wall + diagonal) / 2 # This heat starts off spread over width = 'pitch'. # It ends up spread over one half the circumference. diff --git a/process/hcpb.py b/process/hcpb.py index 8b47f68724..76447bd98a 100644 --- a/process/hcpb.py +++ b/process/hcpb.py @@ -45,7 +45,7 @@ def run(self, output: bool): # MDK (27/11/2015) build_variables.dr_fw_inboard = ( - 2 * fwbs_variables.radius_fw_channel + 2 * fwbs_variables.fw_wall + 2 * fwbs_variables.radius_fw_channel + 2 * fwbs_variables.dr_fw_wall ) build_variables.dr_fw_outboard = build_variables.dr_fw_inboard diff --git a/process/stellarator.py b/process/stellarator.py index 562e518838..85400e56fc 100644 --- a/process/stellarator.py +++ b/process/stellarator.py @@ -346,7 +346,7 @@ def stbild(self, output: bool): # First Wall build_variables.dr_fw_inboard = ( - 2.0e0 * fwbs_variables.radius_fw_channel + 2.0e0 * fwbs_variables.fw_wall + 2.0e0 * fwbs_variables.radius_fw_channel + 2.0e0 * fwbs_variables.dr_fw_wall ) build_variables.dr_fw_outboard = build_variables.dr_fw_inboard diff --git a/source/fortran/fwbs_variables.f90 b/source/fortran/fwbs_variables.f90 index f422c9db85..92bb0a227d 100644 --- a/source/fortran/fwbs_variables.f90 +++ b/source/fortran/fwbs_variables.f90 @@ -315,7 +315,7 @@ module fwbs_variables !! - 'helium' !! - 'water' - real(dp) :: fw_wall + real(dp) :: dr_fw_wall !! wall thickness of first wall coolant channels [m] real(dp) :: radius_fw_channel @@ -740,7 +740,7 @@ subroutine init_fwbs_variables afwi = 0.008D0 afwo = 0.008D0 i_fw_coolant_type = 'helium' - fw_wall = 0.003D0 + dr_fw_wall = 0.003D0 radius_fw_channel = 0.006D0 pitch = 0.02D0 temp_fw_coolant_in = 573.0D0 diff --git a/source/fortran/input.f90 b/source/fortran/input.f90 index 014a79d3bf..55254488fc 100644 --- a/source/fortran/input.f90 +++ b/source/fortran/input.f90 @@ -270,7 +270,7 @@ subroutine parse_input_file(in_file,out_file,show_changes) pitch, i_blanket_type, blktmodel, afwi, fblli2o, nphcdin, breeder_multiplier, & fw_armour_thickness, roughness, fwclfr, breedmat, fblli, fblvd, & iblanket_thickness, vfcblkt, breeder_f, fbllipb, fhcd, vfshld, fblhebmi, & - f_neut_shield, fw_th_conductivity, nblktmodti, fw_wall, afwo, & + f_neut_shield, fw_th_conductivity, nblktmodti, dr_fw_wall, afwo, & fvolsi, etahtp, nblktmodpo, pres_fw_coolant, emult, temp_fw_coolant_out, nblktmodpi, & fblhebpi, fblss, inlet_temp, outlet_temp, fblbreed, qnuc, blpressure, & blpressure_liq, n_liq_recirc, pnuc_fw_ratio_dcll, f_nuc_pow_bz_struct, & @@ -1924,8 +1924,8 @@ subroutine parse_input_file(in_file,out_file,show_changes) call parse_real_variable('radius_fw_channel', radius_fw_channel, 1.0D-3, 0.5D0, & 'Inner radius of first wall coolant channel (m)') - case ('fw_wall') - call parse_real_variable('fw_wall', fw_wall, 0.5D-3, 0.1D0, & + case ('dr_fw_wall') + call parse_real_variable('dr_fw_wall', dr_fw_wall, 0.5D-3, 0.1D0, & 'wall thickness of first wall coolant channels (m)') case ('pitch') call parse_real_variable('pitch', pitch, 0.5D-3, 0.1D0, & diff --git a/tests/integration/ref_dicts.json b/tests/integration/ref_dicts.json index 64dc6a791a..6e21b1b7f7 100644 --- a/tests/integration/ref_dicts.json +++ b/tests/integration/ref_dicts.json @@ -2069,7 +2069,7 @@ "fw_channel_length": 4.0, "fw_density": 0.0, "fw_th_conductivity": 28.34, - "fw_wall": 0.003, + "dr_fw_wall": 0.003, "fwallcst": 0.0, "fwalld": 1.0, "a_fw_total": 0.0, @@ -9661,7 +9661,7 @@ "fw_channel_length": "Length of a single first wall channel (all in parallel) (m)\n (`iteration variable 114`, useful for `constraint equation 39`)", "fw_density": "FW density [kg/m3]", "fw_th_conductivity": "thermal conductivity of first wall material at 293 K (W/m/K) (Temperature dependence\n is as for unirradiated Eurofer)", - "fw_wall": "wall thickness of first wall coolant channels (m)", + "dr_fw_wall": "wall thickness of first wall coolant channels (m)", "fwallcst": "first wall cost (M$)", "fwalld": "f-value for maximum wall load (`constraint equation 8`, `iteration variable 14`)", "a_fw_total": "first wall total surface area (m2)", @@ -12997,7 +12997,7 @@ "lb": 1.0, "ub": 100.0 }, - "fw_wall": { + "dr_fw_wall": { "lb": 0.0005, "ub": 0.1 }, @@ -18083,7 +18083,7 @@ "afwi", "afwo", "i_fw_coolant_type", - "fw_wall", + "dr_fw_wall", "radius_fw_channel", "pitch", "temp_fw_coolant_in", @@ -20358,7 +20358,7 @@ "fw_armour_thickness": "real_variable", "fw_channel_length": "real_variable", "fw_th_conductivity": "real_variable", - "fw_wall": "real_variable", + "dr_fw_wall": "real_variable", "fwalld": "real_variable", "fwbs_nref": "real_variable", "fwbs_nu": "real_variable", diff --git a/tests/regression/input_files/st_regression.IN.DAT b/tests/regression/input_files/st_regression.IN.DAT index 0eb4038052..9f054c2d09 100644 --- a/tests/regression/input_files/st_regression.IN.DAT +++ b/tests/regression/input_files/st_regression.IN.DAT @@ -2317,7 +2317,7 @@ etaiso = 0.9 * DESCRIPTION: Radius of first wall cooling channels [m] (default = 0.006) * JUSTIFICATION: -*fw_wall = +*dr_fw_wall = * DESCRIPTION: Wall thickness of first wall coolant channels [m] (default = 0.003) * JUSTIFICATION: diff --git a/tests/unit/test_fw.py b/tests/unit/test_fw.py index 47ec09be41..ff99c44e04 100644 --- a/tests/unit/test_fw.py +++ b/tests/unit/test_fw.py @@ -35,7 +35,7 @@ class FwTempParam(NamedTuple): peaking_factor: Any = None - fw_wall: Any = None + dr_fw_wall: Any = None pnuc_deposited: Any = None @@ -71,7 +71,7 @@ class FwTempParam(NamedTuple): fw_channel_length=4, tpeak=873, peaking_factor=1, - fw_wall=0.0030000000000000001, + dr_fw_wall=0.0030000000000000001, pnuc_deposited=75.219932653459054, radius_fw_channel=0.0060000000000000001, thickness=0.018000000000000002, @@ -93,7 +93,7 @@ class FwTempParam(NamedTuple): fw_channel_length=4, tpeak=873, peaking_factor=1, - fw_wall=0.0030000000000000001, + dr_fw_wall=0.0030000000000000001, pnuc_deposited=121.50088652655793, radius_fw_channel=0.0060000000000000001, thickness=0.018000000000000002, @@ -147,7 +147,7 @@ def test_fw_temp(fwtempparam, monkeypatch, fw): monkeypatch.setattr(fwbs_variables, "peaking_factor", fwtempparam.peaking_factor) - monkeypatch.setattr(fwbs_variables, "fw_wall", fwtempparam.fw_wall) + monkeypatch.setattr(fwbs_variables, "dr_fw_wall", fwtempparam.dr_fw_wall) tpeakfw, cfmean, rhofmean, massrate = fw.fw_temp( False, diff --git a/tests/unit/test_stellarator.py b/tests/unit/test_stellarator.py index b6961ef5aa..0d9f5da27b 100644 --- a/tests/unit/test_stellarator.py +++ b/tests/unit/test_stellarator.py @@ -278,7 +278,7 @@ class StbildParam(NamedTuple): fhole: Any = None - fw_wall: Any = None + dr_fw_wall: Any = None ipowerflow: Any = None @@ -378,7 +378,7 @@ class StbildParam(NamedTuple): fdiv=0.115, fhcd=0, fhole=0, - fw_wall=0.0030000000000000001, + dr_fw_wall=0.0030000000000000001, ipowerflow=1, rmajor=22, rminor=1.7842660178426601, @@ -448,7 +448,7 @@ class StbildParam(NamedTuple): fdiv=0.021924555536480182, fhcd=0, fhole=0, - fw_wall=0.0030000000000000001, + dr_fw_wall=0.0030000000000000001, ipowerflow=1, rmajor=22, rminor=1.7842660178426601, @@ -597,7 +597,7 @@ def test_stbild(stbildparam, monkeypatch, stellarator): monkeypatch.setattr(fwbs_variables, "fhole", stbildparam.fhole) - monkeypatch.setattr(fwbs_variables, "fw_wall", stbildparam.fw_wall) + monkeypatch.setattr(fwbs_variables, "dr_fw_wall", stbildparam.dr_fw_wall) monkeypatch.setattr(heat_transport_variables, "ipowerflow", stbildparam.ipowerflow) From ca1fcd030d364610b6bae30d1bd9cd8d31ccca76 Mon Sep 17 00:00:00 2001 From: mn3981 Date: Fri, 31 Jan 2025 15:15:57 +0000 Subject: [PATCH 17/21] =?UTF-8?q?=F0=9F=94=84=20Rename=20`pitch`=20to=20`d?= =?UTF-8?q?x=5Ffw=5Fmodule`=20for=20clarity=20and=20consistency=20across?= =?UTF-8?q?=20the=20codebase?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../proc-pages/eng-models/fw-blanket.md | 10 +++++----- process/blanket_library.py | 8 ++++---- process/fw.py | 17 ++++++++++------- process/hcpb.py | 2 +- process/io/plot_scans.py | 2 +- process/io/variable_metadata.py | 2 +- source/fortran/fwbs_variables.f90 | 4 ++-- source/fortran/input.f90 | 6 +++--- source/fortran/scan.f90 | 8 ++++---- tests/integration/ref_dicts.json | 10 +++++----- .../regression/input_files/st_regression.IN.DAT | 2 +- tests/unit/test_ccfe_hcpb.py | 10 ++++++---- tests/unit/test_fw.py | 8 ++++---- 13 files changed, 47 insertions(+), 42 deletions(-) diff --git a/documentation/proc-pages/eng-models/fw-blanket.md b/documentation/proc-pages/eng-models/fw-blanket.md index 869d6ce0f0..ce06c0754d 100644 --- a/documentation/proc-pages/eng-models/fw-blanket.md +++ b/documentation/proc-pages/eng-models/fw-blanket.md @@ -78,7 +78,7 @@ Summary of key variables and switches: | length (m) | `fw_channel_length` | --- | --- | | width (m) | `radius_fw_channel` (radius, cicular) | `radius_fw_channel` | `a_bz_liq`, `b_bz_liq` (rectangular) | | wall thickness (m) | `dr_fw_wall` | dr_fw_wall | `th_wall_secondary` | -| pitch (m) | `pitch` | --- | --- | +| dx_fw_module (m) | `dx_fw_module` | --- | --- | | roughness epsilon | `roughness` | --- | --- | | peak FW temp (K) | `tpeak` | --- | --- | | maximum temp (K) | `tfwmatmax` | --- | --- | @@ -110,7 +110,7 @@ Minimum distance travelled by surface heat load = $\texttt{fw} \_ \texttt{wall}$ Maximum distance travelled by surface heat load = $\texttt{diagonal}$ $$ -\texttt{diagonal}=\sqrt{(\texttt{radius_fw_channel}+\texttt{fw} \_ \texttt{wall})^2 + \left(\frac{\texttt{pitch}}{2}-\texttt{radius_fw_channel}\right)^2 } +\texttt{diagonal}=\sqrt{(\texttt{radius_fw_channel}+\texttt{fw} \_ \texttt{wall})^2 + \left(\frac{\texttt{dx_fw_module}}{2}-\texttt{radius_fw_channel}\right)^2 } $$ Typical distance travelled by surface heat load: @@ -121,15 +121,15 @@ $$ $$ -\texttt{diagonal}=\sqrt{(\texttt{radius_fw_channel}+\texttt{fw} \_ \texttt{wall})^2 + \left(\frac{\texttt{pitch}}{2}-\texttt{radius_fw_channel}\right)^2 } +\texttt{diagonal}=\sqrt{(\texttt{radius_fw_channel}+\texttt{fw} \_ \texttt{wall})^2 + \left(\frac{\texttt{dx_fw_module}}{2}-\texttt{radius_fw_channel}\right)^2 } $$ -The energy travels over a cross-section which is initially $= \texttt{pitch}$ +The energy travels over a cross-section which is initially $= \texttt{dx_fw_module}$ It spreads out, arriving at the coolant pipe over an area of half the circumference. We use the mean of these values: $$ -\texttt{mean} \_ \texttt{width} = \frac{\texttt{pitch} + \pi \times \texttt{radius_fw_channel}}{2} +\texttt{mean} \_ \texttt{width} = \frac{\texttt{dx_fw_module} + \pi \times \texttt{radius_fw_channel}}{2} $$ The temperature difference between the plasma-facing surface and the coolant is then: diff --git a/process/blanket_library.py b/process/blanket_library.py index c87d6c6670..7717407594 100644 --- a/process/blanket_library.py +++ b/process/blanket_library.py @@ -756,12 +756,12 @@ def thermo_hydraulic_model_pressure_drop_calculations(self, output: bool): # FW Pipe Flow and Velocity ###### - # Total number of first wall pipes from channel length and pitch (02/12/2015) + # Total number of first wall pipes from channel length and dx_fw_module (02/12/2015) blanket_library.npfwi = build_variables.a_fw_inboard / ( - fwbs_variables.fw_channel_length * fwbs_variables.pitch + fwbs_variables.fw_channel_length * fwbs_variables.dx_fw_module ) blanket_library.npfwo = build_variables.a_fw_outboard / ( - fwbs_variables.fw_channel_length * fwbs_variables.pitch + fwbs_variables.fw_channel_length * fwbs_variables.dx_fw_module ) # Mass flow rate per FW coolant pipe (kg/s): @@ -1525,7 +1525,7 @@ def thermo_hydraulic_model(self, output: bool): length (m) fw_channel_length width (m) radius_fw_channel (radius, cicular) radius_fw_channel a_bz_liq, b_bz_liq (rectangular) wall thickness (m) dr_fw_wall dr_fw_wall th_wall_secondary - pitch (m) pitch + dx_fw_module (m) dx_fw_module roughness epsilon roughness peak FW temp (K) tpeak maximum temp (K) tfwmatmax diff --git a/process/fw.py b/process/fw.py index aaeb0783c7..cc5f66a646 100644 --- a/process/fw.py +++ b/process/fw.py @@ -99,7 +99,7 @@ def fw_temp( ) / 2 # coolant specific heat capacity (J/K) # Heat load per unit length of one first wall pipe (W/m) - load = (nuclear_heat_per_area + qpp) * fwbs_variables.pitch + load = (nuclear_heat_per_area + qpp) * fwbs_variables.dx_fw_module # Coolant mass flow rate (kg/s) (use mean properties) massrate = ( @@ -166,7 +166,8 @@ def fw_temp( # Worst case load (as above) per unit length in 1-D calculation (W/m) onedload = fwbs_variables.peaking_factor * ( - qppp * fwbs_variables.pitch * thickness / 4 + qpp * fwbs_variables.pitch + qppp * fwbs_variables.dx_fw_module * thickness / 4 + + qpp * fwbs_variables.dx_fw_module ) # Note I do NOT assume that the channel covers the full width of the first wall: @@ -186,17 +187,19 @@ def fw_temp( # Calculate maximum distance travelled by surface heat load (m) # dr_fw_wall | Minimum distance travelled by surface heat load (m) diagonal = np.sqrt( - (fwbs_variables.pitch / 2 - radius_fw_channel) ** 2 + (fwbs_variables.dx_fw_module / 2 - radius_fw_channel) ** 2 + (radius_fw_channel + fwbs_variables.dr_fw_wall) ** 2 ) # Mean distance travelled by surface heat (m) mean_distance = (fwbs_variables.dr_fw_wall + diagonal) / 2 - # This heat starts off spread over width = 'pitch'. + # This heat starts off spread over width = 'dx_fw_module'. # It ends up spread over one half the circumference. # Use the mean of these values. - mean_width = (fwbs_variables.pitch + np.pi * radius_fw_channel) / 2 # (m) + mean_width = ( + fwbs_variables.dx_fw_module + np.pi * radius_fw_channel + ) / 2 # (m) # As before, use a combined load 'onedload' # Temperature drop in first-wall material (K) @@ -247,8 +250,8 @@ def fw_temp( po.ovarre( self.outfile, "Pitch of coolant channels (m)", - "(pitch)", - fwbs_variables.pitch, + "(dx_fw_module)", + fwbs_variables.dx_fw_module, ) po.ovarre( self.outfile, diff --git a/process/hcpb.py b/process/hcpb.py index 76447bd98a..bed8290b69 100644 --- a/process/hcpb.py +++ b/process/hcpb.py @@ -394,7 +394,7 @@ def nuclear_heating_magnets(self, output: bool): fwbs_variables.f_a_fw_coolant_inboard = ( np.pi * fwbs_variables.radius_fw_channel**2 - / (fwbs_variables.pitch * build_variables.dr_fw_inboard) + / (fwbs_variables.dx_fw_module * build_variables.dr_fw_inboard) ) # outboard FW coolant void fraction diff --git a/process/io/plot_scans.py b/process/io/plot_scans.py index b6c1ad66f2..5415165a3d 100644 --- a/process/io/plot_scans.py +++ b/process/io/plot_scans.py @@ -270,7 +270,7 @@ def main(args=None): 72: "bz_channel_conduct_liq", 73: "pnuc_fw_ratio_dcll", 74: "f_nuc_pow_bz_struct", - 75: "pitch", + 75: "dx_fw_module", 76: "etath", 77: "startupratio", 78: "fkind", diff --git a/process/io/variable_metadata.py b/process/io/variable_metadata.py index 3093b52cd3..7a91957df2 100644 --- a/process/io/variable_metadata.py +++ b/process/io/variable_metadata.py @@ -349,7 +349,7 @@ class VariableMetadata: description="Fraction of nuclear power deposited in the blanket structure", units="", ), - "pitch": VariableMetadata( + "dx_fw_module": VariableMetadata( latex=r"FW pitch [m]", description="Pitch of the first wall", units="m" ), "coe": VariableMetadata( diff --git a/source/fortran/fwbs_variables.f90 b/source/fortran/fwbs_variables.f90 index 92bb0a227d..3bb180a4c5 100644 --- a/source/fortran/fwbs_variables.f90 +++ b/source/fortran/fwbs_variables.f90 @@ -321,7 +321,7 @@ module fwbs_variables real(dp) :: radius_fw_channel !! radius of first wall cooling channels [m] - real(dp) :: pitch + real(dp) :: dx_fw_module !! pitch of first wall cooling channels [m] real(dp) :: temp_fw_coolant_in @@ -742,7 +742,7 @@ subroutine init_fwbs_variables i_fw_coolant_type = 'helium' dr_fw_wall = 0.003D0 radius_fw_channel = 0.006D0 - pitch = 0.02D0 + dx_fw_module = 0.02D0 temp_fw_coolant_in = 573.0D0 temp_fw_coolant_out = 823.0D0 pres_fw_coolant = 15.5D6 diff --git a/source/fortran/input.f90 b/source/fortran/input.f90 index 55254488fc..19161f8d96 100644 --- a/source/fortran/input.f90 +++ b/source/fortran/input.f90 @@ -267,7 +267,7 @@ subroutine parse_input_file(in_file,out_file,show_changes) zeffdiv, hldivlim, rlenmax, divfix, c3div, & hldiv, i_hldiv use fwbs_variables, only: fblhebpo, vfblkt, fdiv, fvolso, i_fw_coolant_type, & - pitch, i_blanket_type, blktmodel, afwi, fblli2o, nphcdin, breeder_multiplier, & + dx_fw_module, i_blanket_type, blktmodel, afwi, fblli2o, nphcdin, breeder_multiplier, & fw_armour_thickness, roughness, fwclfr, breedmat, fblli, fblvd, & iblanket_thickness, vfcblkt, breeder_f, fbllipb, fhcd, vfshld, fblhebmi, & f_neut_shield, fw_th_conductivity, nblktmodti, dr_fw_wall, afwo, & @@ -1927,8 +1927,8 @@ subroutine parse_input_file(in_file,out_file,show_changes) case ('dr_fw_wall') call parse_real_variable('dr_fw_wall', dr_fw_wall, 0.5D-3, 0.1D0, & 'wall thickness of first wall coolant channels (m)') - case ('pitch') - call parse_real_variable('pitch', pitch, 0.5D-3, 0.1D0, & + case ('dx_fw_module') + call parse_real_variable('dx_fw_module', dx_fw_module, 0.5D-3, 0.1D0, & 'pitch of first wall cooling channels (m)') case ('temp_fw_coolant_in') call parse_real_variable('temp_fw_coolant_in', temp_fw_coolant_in, 300.0d0, 1500.0D0, & diff --git a/source/fortran/scan.f90 b/source/fortran/scan.f90 index 71f80dc436..9da077cc32 100644 --- a/source/fortran/scan.f90 +++ b/source/fortran/scan.f90 @@ -110,7 +110,7 @@ module scan_module !!
      • 72 `bz_channel_conduct_liq' : Conductance of liquid metal breeder duct walls (A V-1 m-1) !!
      • 73 `pnuc_fw_ratio_dcll' : Ratio of FW nuclear power as fraction of total (FW+BB) !!
      • 74 `f_nuc_pow_bz_struct' : Fraction of BZ power cooled by primary coolant for dual-coolant balnket - !!
      • 75 pitch : pitch of first wall cooling channels (m) + !!
      • 75 dx_fw_module : pitch of first wall cooling channels (m) !!
      • 76 etath : Thermal conversion eff. !!
      • 77 startupratio : Gyrotron redundancy !!
      • 78 fkind : Multiplier for Nth of a kind costs @@ -601,7 +601,7 @@ subroutine scan_select(nwp, swp, iscn, vlab, xlab) use divertor_variables, only: hldivlim use error_handling, only: idiags, report_error use fwbs_variables, only: inlet_temp_liq, outlet_temp_liq, blpressure_liq, & - n_liq_recirc, bz_channel_conduct_liq, pnuc_fw_ratio_dcll, f_nuc_pow_bz_struct, pitch + n_liq_recirc, bz_channel_conduct_liq, pnuc_fw_ratio_dcll, f_nuc_pow_bz_struct, dx_fw_module use impurity_radiation_module, only: fimp, coreradius, impurity_arr_frac use physics_variables, only: kappa, beta_norm_max, te, aspect, ftar, bt, & rad_fraction_sol, triang, rmajor, beamfus0, hfact @@ -835,8 +835,8 @@ subroutine scan_select(nwp, swp, iscn, vlab, xlab) f_nuc_pow_bz_struct = swp(iscn) vlab = 'f_nuc_pow_bz_struct' ; xlab = 'Fraction of BZ power cooled by primary coolant for dual-coolant balnket' case(75) - pitch = swp(iscn) - vlab = 'pitch' ; xlab = 'pitch of first wall cooling channels (m)' + dx_fw_module = swp(iscn) + vlab = 'dx_fw_module' ; xlab = 'pitch of first wall cooling channels (m)' case (76) etath = swp(iscn) vlab = 'etath' ; xlab = 'Thermal conversion eff.' diff --git a/tests/integration/ref_dicts.json b/tests/integration/ref_dicts.json index 6e21b1b7f7..f3d7a01b33 100644 --- a/tests/integration/ref_dicts.json +++ b/tests/integration/ref_dicts.json @@ -3540,7 +3540,7 @@ "pinjwp": 0.0, "pinjwpfix": 0.0, "p_plasma_inner_rad_mw": 0.0, - "pitch": 0.02, + "dx_fw_module": 0.02, "plasma_current": 0.0, "plasipf": 0.0, "plasma_res_factor": 1.0, @@ -10298,7 +10298,7 @@ "pinjwp": "injector wall plug power (MW)", "pinjwpfix": "secondary injector wall plug power (MW)", "p_plasma_inner_rad_mw": "radiation power from inner zone (MW)", - "pitch": "pitch of first wall cooling channels (m)", + "dx_fw_module": "pitch of first wall cooling channels (m)", "plasma_current": "plasma current (A)", "plasipf": "plasma driven current fraction (Bootstrap + Diamagnetic + PS)", "plasma_res_factor": "plasma resistivity pre-factor", @@ -13913,7 +13913,7 @@ "lb": 0.0, "ub": 1000.0 }, - "pitch": { + "dx_fw_module": { "lb": 0.0005, "ub": 0.1 }, @@ -18085,7 +18085,7 @@ "i_fw_coolant_type", "dr_fw_wall", "radius_fw_channel", - "pitch", + "dx_fw_module", "temp_fw_coolant_in", "temp_fw_coolant_out", "pres_fw_coolant", @@ -20605,7 +20605,7 @@ "pinjalw": "real_variable", "pinjfixmw": "real_variable", "pinjmax": "real_variable", - "pitch": "real_variable", + "dx_fw_module": "real_variable", "plasma_res_factor": "real_variable", "plleni": "real_variable", "plleno": "real_variable", diff --git a/tests/regression/input_files/st_regression.IN.DAT b/tests/regression/input_files/st_regression.IN.DAT index 9f054c2d09..e6e1ff72ac 100644 --- a/tests/regression/input_files/st_regression.IN.DAT +++ b/tests/regression/input_files/st_regression.IN.DAT @@ -2321,7 +2321,7 @@ etaiso = 0.9 * DESCRIPTION: Wall thickness of first wall coolant channels [m] (default = 0.003) * JUSTIFICATION: -*pitch = +*dx_fw_module = * DESCRIPTION: Pitch of first wall cooling channels [m] (default = 0.02) * JUSTIFICATION: diff --git a/tests/unit/test_ccfe_hcpb.py b/tests/unit/test_ccfe_hcpb.py index 5701ea274f..7cef2785d5 100644 --- a/tests/unit/test_ccfe_hcpb.py +++ b/tests/unit/test_ccfe_hcpb.py @@ -49,7 +49,7 @@ class NuclearHeatingMagnetsParam(NamedTuple): radius_fw_channel: Any = None - pitch: Any = None + dx_fw_module: Any = None denstl: Any = None @@ -139,7 +139,7 @@ class NuclearHeatingMagnetsParam(NamedTuple): dr_shld_inboard=0.30000000000000004, dr_shld_outboard=0.80000000000000004, radius_fw_channel=0.0060000000000000001, - pitch=0.02, + dx_fw_module=0.02, denstl=7800, whtblkt=3501027.3252278985, volblkt=1397.9003011502937, @@ -188,7 +188,7 @@ class NuclearHeatingMagnetsParam(NamedTuple): dr_shld_inboard=0.30000000000000004, dr_shld_outboard=0.80000000000000004, radius_fw_channel=0.0060000000000000001, - pitch=0.02, + dx_fw_module=0.02, denstl=7800, whtblkt=3507503.3737008357, volblkt=1400.4860764869636, @@ -280,7 +280,9 @@ def test_nuclear_heating_magnets(nuclearheatingmagnetsparam, monkeypatch, ccfe_h nuclearheatingmagnetsparam.radius_fw_channel, ) - monkeypatch.setattr(fwbs_variables, "pitch", nuclearheatingmagnetsparam.pitch) + monkeypatch.setattr( + fwbs_variables, "dx_fw_module", nuclearheatingmagnetsparam.dx_fw_module + ) monkeypatch.setattr(fwbs_variables, "denstl", nuclearheatingmagnetsparam.denstl) diff --git a/tests/unit/test_fw.py b/tests/unit/test_fw.py index ff99c44e04..f10a25d7ef 100644 --- a/tests/unit/test_fw.py +++ b/tests/unit/test_fw.py @@ -27,7 +27,7 @@ class FwTempParam(NamedTuple): temp_fw_coolant_out: Any = None - pitch: Any = None + dx_fw_module: Any = None fw_channel_length: Any = None @@ -67,7 +67,7 @@ class FwTempParam(NamedTuple): temp_fw_coolant_in=573, pres_fw_coolant=8000000, temp_fw_coolant_out=773, - pitch=0.005000000000000001, + dx_fw_module=0.005000000000000001, fw_channel_length=4, tpeak=873, peaking_factor=1, @@ -89,7 +89,7 @@ class FwTempParam(NamedTuple): temp_fw_coolant_in=573, pres_fw_coolant=8000000, temp_fw_coolant_out=773, - pitch=0.005000000000000001, + dx_fw_module=0.005000000000000001, fw_channel_length=4, tpeak=873, peaking_factor=1, @@ -137,7 +137,7 @@ def test_fw_temp(fwtempparam, monkeypatch, fw): fwbs_variables, "temp_fw_coolant_out", fwtempparam.temp_fw_coolant_out ) - monkeypatch.setattr(fwbs_variables, "pitch", fwtempparam.pitch) + monkeypatch.setattr(fwbs_variables, "dx_fw_module", fwtempparam.dx_fw_module) monkeypatch.setattr( fwbs_variables, "fw_channel_length", fwtempparam.fw_channel_length From 7d7e908ff35e2810927e13d50d85e9849cb19417 Mon Sep 17 00:00:00 2001 From: mn3981 Date: Fri, 31 Jan 2025 15:26:16 +0000 Subject: [PATCH 18/21] =?UTF-8?q?=F0=9F=94=84=20Update=20description=20of?= =?UTF-8?q?=20`dx=5Ffw=5Fmodule`=20for=20clarity=20and=20consistency=20acr?= =?UTF-8?q?oss=20the=20codebase?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- process/fw.py | 2 +- process/io/variable_metadata.py | 4 +++- source/fortran/fwbs_variables.f90 | 2 +- source/fortran/input.f90 | 2 +- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/process/fw.py b/process/fw.py index cc5f66a646..8e757056cf 100644 --- a/process/fw.py +++ b/process/fw.py @@ -249,7 +249,7 @@ def fw_temp( ) po.ovarre( self.outfile, - "Pitch of coolant channels (m)", + "Width of a FW module containing a cooling channel [m]", "(dx_fw_module)", fwbs_variables.dx_fw_module, ) diff --git a/process/io/variable_metadata.py b/process/io/variable_metadata.py index 7a91957df2..4323bd1500 100644 --- a/process/io/variable_metadata.py +++ b/process/io/variable_metadata.py @@ -350,7 +350,9 @@ class VariableMetadata: units="", ), "dx_fw_module": VariableMetadata( - latex=r"FW pitch [m]", description="Pitch of the first wall", units="m" + latex=r"FW pitch [m]", + description="Width of a FW module containing a cooling channel [m]", + units="m", ), "coe": VariableMetadata( latex=r"$\mathrm{LCOE}$ [$m\$/kWh$]", diff --git a/source/fortran/fwbs_variables.f90 b/source/fortran/fwbs_variables.f90 index 3bb180a4c5..78694dceaa 100644 --- a/source/fortran/fwbs_variables.f90 +++ b/source/fortran/fwbs_variables.f90 @@ -322,7 +322,7 @@ module fwbs_variables !! radius of first wall cooling channels [m] real(dp) :: dx_fw_module - !! pitch of first wall cooling channels [m] + !! Width of a FW module containing a cooling channel [m] real(dp) :: temp_fw_coolant_in !! inlet temperature of first wall coolant [K] diff --git a/source/fortran/input.f90 b/source/fortran/input.f90 index 19161f8d96..1403fd521d 100644 --- a/source/fortran/input.f90 +++ b/source/fortran/input.f90 @@ -1929,7 +1929,7 @@ subroutine parse_input_file(in_file,out_file,show_changes) 'wall thickness of first wall coolant channels (m)') case ('dx_fw_module') call parse_real_variable('dx_fw_module', dx_fw_module, 0.5D-3, 0.1D0, & - 'pitch of first wall cooling channels (m)') + 'Width of a FW module containing a cooling channel [m]') case ('temp_fw_coolant_in') call parse_real_variable('temp_fw_coolant_in', temp_fw_coolant_in, 300.0d0, 1500.0D0, & 'inlet temperature of first wall coolant (K)') From cfb9d8e577f4a6266b3bcc0a9e94b3c9aca0f14a Mon Sep 17 00:00:00 2001 From: mn3981 Date: Fri, 31 Jan 2025 22:28:33 +0000 Subject: [PATCH 19/21] =?UTF-8?q?=F0=9F=94=84=20Refactor=20`fw=5Ftemp`=20m?= =?UTF-8?q?ethod=20parameters=20and=20variable=20names=20for=20clarity=20a?= =?UTF-8?q?nd=20consistency?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- process/fw.py | 160 +++++++++++++++++++++++++++----------------------- 1 file changed, 86 insertions(+), 74 deletions(-) diff --git a/process/fw.py b/process/fw.py index 8e757056cf..80b81ab714 100644 --- a/process/fw.py +++ b/process/fw.py @@ -22,106 +22,109 @@ def __init__(self) -> None: def fw_temp( self, output: bool, - radius_fw_channel, - thickness, - area, - prad_incident, - pnuc_deposited, - label, - ): - """Thermo-hydraulic calculations for the first wall - author: P J Knight, CCFE, Culham Science Centre - radius_fw_channel : input real : first wall coolant channel radius (m) - thickness : first wall thickness (dr_fw_inboard or dr_fw_outboard) (m) - area : input real : area of first wall section under consideration (m2) - (i.e. area of inboard wall or outboard wall) - prad_incident : input real : Surface heat flux on first wall (outboard and inboard) (MW) - pnuc_deposited : input real : nuclear power deposited in FW (IB or OB) (MW) - tpeakfw : output real : peak first wall temperature (K) - cfmean : output real : coolant specific heat capacity at constant - pressure (J/kg/K) - rhofmean : output real : coolant density (kg/m3) - massrate : output real : coolant mass flow rate in a single channel (kg/s) - label : input string : information string - Detailed thermal hydraulic model for the blanket (first wall + - breeding zone). - Given the heating incident on the first wall, and the coolant - outlet temperature, the maximum temperature of the first wall is - calculated to check it is below material limits (tfwmatmax). + radius_fw_channel: float, + dr_fw: float, + a_fw: float, + prad_incident: float, + pnuc_deposited: float, + label: str, + ) -> tuple: + """ + Thermo-hydraulic calculations for the first wall. + + Args: + output (bool): Flag to indicate if output is required. + radius_fw_channel (float): First wall coolant channel radius (m). + dr_fw (float): First wall thickness (m). + a_fw (float): Area of first wall section under consideration (m^2). + prad_incident (float): Surface heat flux on first wall (MW). + pnuc_deposited (float): Nuclear power deposited in FW (MW). + label (str): Information string. + + Returns: + tuple: Contains peak first wall temperature (K), coolant specific heat capacity at constant pressure (J/kg/K), + coolant density (kg/m^3), and coolant mass flow rate in a single channel (kg/s). + + Detailed thermal hydraulic model for the blanket (first wall + breeding zone). + Given the heating incident on the first wall, and the coolant outlet temperature, + the maximum temperature of the first wall is calculated to check it is below material limits. The routine is called separately for the inboard and outboard sides. The calculation of the maximum temperature is described by Gardner: - "Temperature distribution in the first wall", K:\\Power Plant Physics and - Technology\\ PROCESS\\PROCESS References & Systems Codes\\Pulsed option - - Gardner. - This is in turn taken from "Methods of First Wall Structural - Analysis with Application to the Long Pulse Commercial Tokamak Reactor - Design", R.J. LeClaire, MIT, PFC/RR-84-9 + "Temperature distribution in the first wall", K:\\Power Plant Physics and Technology\\ PROCESS\\PROCESS References & Systems Codes\\Pulsed option - Gardner. + This is in turn taken from "Methods of First Wall Structural Analysis with Application to the Long Pulse Commercial Tokamak Reactor Design", R.J. LeClaire, MIT, PFC/RR-84-9. """ - # First wall volume (inboard or outboard depending on arguments) (m3) - fwvol = area * thickness - # First wall channel area (m2) - channel_area = np.pi * radius_fw_channel**2 + # First wall volume (inboard or outboard depending on arguments) (m^3) + vol_fw = a_fw * dr_fw + + # First wall channel area (m^2) + a_fw_channel = np.pi * radius_fw_channel**2 # Heat generation in the first wall due to neutron flux deposited in the material (W/m3) - qppp = 1e6 * pnuc_deposited / fwvol + pden_fw_nuclear = 1e6 * pnuc_deposited / vol_fw # the nuclear heating in the coolant is small. (W/m2) # Note that the full first wall volume is used including coolant even though - nuclear_heat_per_area = qppp * thickness + nuclear_heat_per_area = pden_fw_nuclear * dr_fw # Heat flux incident on the first wall surface (W/m2) - qpp = 1e6 * prad_incident / area + pflux_fw_rad = 1e6 * prad_incident / a_fw # Calculate inlet coolant fluid properties (fixed pressure) - ib_fluid_properties = FluidProperties.of( + inlet_coolant_properties = FluidProperties.of( f2py_compatible_to_string(fwbs_variables.i_fw_coolant_type), temperature=fwbs_variables.temp_fw_coolant_in.item(), pressure=fwbs_variables.pres_fw_coolant.item(), ) # Calculate outlet coolant fluid properties (fixed pressure) - ob_fluid_properties = FluidProperties.of( + outlet_coolant_properties = FluidProperties.of( f2py_compatible_to_string(fwbs_variables.i_fw_coolant_type), temperature=fwbs_variables.temp_fw_coolant_out.item(), pressure=fwbs_variables.pres_fw_coolant.item(), ) # Mean properties (inlet + outlet)/2 - rhofmean = ( - ib_fluid_properties.density + ob_fluid_properties.density - ) / 2 # coolant density (kg/m3) + # Average coolant density (kg/m3) + den_fw_coolant_average = ( + inlet_coolant_properties.density + outlet_coolant_properties.density + ) / 2 + # kfmean = (kfi + kfo) / 2 # coolant thermal conductivity (W/m.K) # viscfmean = (viscfi + viscfo) / 2 # coolant viscosity (Pa.s) - cfmean = ( - ib_fluid_properties.specific_heat_const_p - + ob_fluid_properties.specific_heat_const_p - ) / 2 # coolant specific heat capacity (J/K) - # Heat load per unit length of one first wall pipe (W/m) - load = (nuclear_heat_per_area + qpp) * fwbs_variables.dx_fw_module + # Mean properties (inlet + outlet)/2 + # Average coolant specific heat capacity (J/K) + heatcap_fw_coolant_average = ( + inlet_coolant_properties.specific_heat_const_p + + outlet_coolant_properties.specific_heat_const_p + ) / 2 + + # Heat load per unit length of one first wall segment (W/m) + # Nuclear particle and radiation heating + load = (nuclear_heat_per_area + pflux_fw_rad) * fwbs_variables.dx_fw_module # Coolant mass flow rate (kg/s) (use mean properties) - massrate = ( + mflow_fw_coolant = ( fwbs_variables.fw_channel_length * load - / cfmean + / heatcap_fw_coolant_average / (fwbs_variables.temp_fw_coolant_out - fwbs_variables.temp_fw_coolant_in) ) # Coolant mass flux in a single channel (kg/m2/s) - masflx = massrate / channel_area + mflux_fw_coolant = mflow_fw_coolant / a_fw_channel # Conditions at the outlet, where the temperature is highest # ----------------------------------------------------------- - # Outlet coolant velocity (m/s) - velocity = masflx / ob_fluid_properties.density + # coolant velocity (m/s) + vel_fw_coolant_average = mflux_fw_coolant / outlet_coolant_properties.density # Mean temperature of the wall material on the plasma side of the coolant 'tpeak' # is the estimate from the previous iteration of the wall surface temperature # (underneath the armour) - temp_k = (fwbs_variables.temp_fw_coolant_out + fwbs_variables.tpeak) / 2 # (K) + temp_k = (fwbs_variables.temp_fw_coolant_out + fwbs_variables.tpeak) / 2 # Print debug info if temperature too low/high or NaN/Inf if np.isnan(temp_k): @@ -133,14 +136,14 @@ def fw_temp( # Thermal conductivity of first wall material (W/m.K) tkfw = self.fw_thermal_conductivity(temp_k) - # Heat transfer coefficient (W/m2K) + # Heat transfer coefficient (W m^-2 K^-1) hcoeff = self.heat_transfer( - masflx, - ob_fluid_properties.density, + mflux_fw_coolant, + outlet_coolant_properties.density, radius_fw_channel, - ob_fluid_properties.specific_heat_const_p, - ob_fluid_properties.viscosity, - ob_fluid_properties.thermal_conductivity, + outlet_coolant_properties.specific_heat_const_p, + outlet_coolant_properties.viscosity, + outlet_coolant_properties.thermal_conductivity, ) # Temperature drops between first-wall surface and bulk coolant ! @@ -166,8 +169,8 @@ def fw_temp( # Worst case load (as above) per unit length in 1-D calculation (W/m) onedload = fwbs_variables.peaking_factor * ( - qppp * fwbs_variables.dx_fw_module * thickness / 4 - + qpp * fwbs_variables.dx_fw_module + pden_fw_nuclear * fwbs_variables.dx_fw_module * dr_fw / 4 + + pflux_fw_rad * fwbs_variables.dx_fw_module ) # Note I do NOT assume that the channel covers the full width of the first wall: @@ -217,15 +220,15 @@ def fw_temp( ) po.ovarre( self.outfile, - "Radius of coolant channel (m)", + "Radius of FW coolant channel (m)", "(radius_fw_channel)", radius_fw_channel, ) po.ovarre( self.outfile, - "Mean surface heat flux on first wall (W/m2) ", - "(qpp)", - qpp, + "Mean surface radiation flux on first wall (W/m2) ", + "(pflux_fw_rad)", + pflux_fw_rad, "OP ", ) po.ovarre( @@ -243,7 +246,7 @@ def fw_temp( ) po.ovarre( self.outfile, - "Length of a single coolant channel (all in parallel) (m)", + "Vertical length of a single coolant channel (all in parallel) (m)", "(fw_channel_length)", fwbs_variables.fw_channel_length, ) @@ -264,18 +267,22 @@ def fw_temp( self.outfile, "Coolant density (kg/m3)", "(rhofo)", - ob_fluid_properties.density, + outlet_coolant_properties.density, "OP ", ) po.ovarre( self.outfile, "Coolant mass flow rate in one channel (kg/s)", - "(massrate)", - massrate, + "(mflow_fw_coolant)", + mflow_fw_coolant, "OP ", ) po.ovarre( - self.outfile, "Coolant velocity (m/s)", "(velocity)", velocity, "OP " + self.outfile, + "Coolant velocity (m/s)", + "(vel_fw_coolant_average)", + vel_fw_coolant_average, + "OP ", ) po.ovarre( self.outfile, @@ -315,7 +322,12 @@ def fw_temp( "OP ", ) - return tpeakfw, cfmean, rhofmean, massrate + return ( + tpeakfw, + heatcap_fw_coolant_average, + den_fw_coolant_average, + mflow_fw_coolant, + ) def fw_thermal_conductivity(self, t): """Calculates the thermal conductivity of the first wall From b552e9d4d52e9a0d1b6b42f6919b73d42616130f Mon Sep 17 00:00:00 2001 From: Jonathan Matthews Date: Tue, 11 Feb 2025 10:01:07 +0000 Subject: [PATCH 20/21] replaced afwi and afwo for stellarators with tokamak variable radius_fw_channel --- process/stellarator.py | 8 ++++++-- source/fortran/fwbs_variables.f90 | 10 ---------- source/fortran/input.f90 | 10 ++-------- tests/integration/ref_dicts.json | 12 ------------ 4 files changed, 8 insertions(+), 32 deletions(-) diff --git a/process/stellarator.py b/process/stellarator.py index 85400e56fc..4bbe9b6f0c 100644 --- a/process/stellarator.py +++ b/process/stellarator.py @@ -1394,10 +1394,14 @@ def stfwbs(self, output: bool): bfwo = 0.5e0 * build_variables.dr_fw_outboard f_a_fw_coolant_inboard = ( - fwbs_variables.afwi * fwbs_variables.afwi / (bfwi * bfwi) + fwbs_variables.radius_fw_channel + * fwbs_variables.radius_fw_channel + / (bfwi * bfwi) ) # inboard FW coolant void fraction f_a_fw_coolant_outboard = ( - fwbs_variables.afwo * fwbs_variables.afwo / (bfwo * bfwo) + fwbs_variables.radius_fw_channel + * fwbs_variables.radius_fw_channel + / (bfwo * bfwo) ) # outboard FW coolant void fraction # First wall decay length (m) - improved calculation required diff --git a/source/fortran/fwbs_variables.f90 b/source/fortran/fwbs_variables.f90 index 78694dceaa..f6127fd943 100644 --- a/source/fortran/fwbs_variables.f90 +++ b/source/fortran/fwbs_variables.f90 @@ -301,14 +301,6 @@ module fwbs_variables !! - =2 pressurized water !#TODO: change switch name to satisfy convention - real(dp) :: afwi - !! inner radius of inboard first wall/blanket coolant channels (stellarator only) [m] - !#TODO move to stellarator? - - real(dp) :: afwo - !! inner radius of outboard first wall/blanket coolant channels (stellarator only) [m] - !#TODO move to stellarator? - character(len=6) :: i_fw_coolant_type !! switch for first wall coolant (can be different from blanket coolant): !! @@ -737,8 +729,6 @@ subroutine init_fwbs_variables secondary_cycle = 0 secondary_cycle_liq = 4 coolwh = 1 - afwi = 0.008D0 - afwo = 0.008D0 i_fw_coolant_type = 'helium' dr_fw_wall = 0.003D0 radius_fw_channel = 0.006D0 diff --git a/source/fortran/input.f90 b/source/fortran/input.f90 index 1403fd521d..f257d2c9c5 100644 --- a/source/fortran/input.f90 +++ b/source/fortran/input.f90 @@ -267,10 +267,10 @@ subroutine parse_input_file(in_file,out_file,show_changes) zeffdiv, hldivlim, rlenmax, divfix, c3div, & hldiv, i_hldiv use fwbs_variables, only: fblhebpo, vfblkt, fdiv, fvolso, i_fw_coolant_type, & - dx_fw_module, i_blanket_type, blktmodel, afwi, fblli2o, nphcdin, breeder_multiplier, & + dx_fw_module, i_blanket_type, blktmodel, fblli2o, nphcdin, breeder_multiplier, & fw_armour_thickness, roughness, fwclfr, breedmat, fblli, fblvd, & iblanket_thickness, vfcblkt, breeder_f, fbllipb, fhcd, vfshld, fblhebmi, & - f_neut_shield, fw_th_conductivity, nblktmodti, dr_fw_wall, afwo, & + f_neut_shield, fw_th_conductivity, nblktmodti, dr_fw_wall, & fvolsi, etahtp, nblktmodpo, pres_fw_coolant, emult, temp_fw_coolant_out, nblktmodpi, & fblhebpi, fblss, inlet_temp, outlet_temp, fblbreed, qnuc, blpressure, & blpressure_liq, n_liq_recirc, pnuc_fw_ratio_dcll, f_nuc_pow_bz_struct, & @@ -2054,12 +2054,6 @@ subroutine parse_input_file(in_file,out_file,show_changes) call parse_int_variable('secondary_cycle_liq', secondary_cycle_liq, 2, 4, & 'Switch for blanket thermodynamic model - liquid breeder') - case ('afwi') - call parse_real_variable('afwi', afwi, 1.0D-3, 0.05D0, & - 'I/B fw/blkt coolant channel inner radius (m)') - case ('afwo') - call parse_real_variable('afwo', afwo, 1.0D-3, 0.05D0, & - 'O/B fw/blkt coolant channel inner radius (m)') case ('inlet_temp') call parse_real_variable('inlet_temp', inlet_temp, 200.0D0, 600.0D0, & 'Coolant inlet temperature (K)') diff --git a/tests/integration/ref_dicts.json b/tests/integration/ref_dicts.json index f3d7a01b33..d58fc5f312 100644 --- a/tests/integration/ref_dicts.json +++ b/tests/integration/ref_dicts.json @@ -11561,14 +11561,6 @@ "lb": 0.001, "ub": 0.5 }, - "afwi": { - "lb": 0.001, - "ub": 0.05 - }, - "afwo": { - "lb": 0.001, - "ub": 0.05 - }, "airtemp": { "lb": -15.0, "ub": 40.0 @@ -18080,8 +18072,6 @@ "i_shield_mat", "secondary_cycle", "coolwh", - "afwi", - "afwo", "i_fw_coolant_type", "dr_fw_wall", "radius_fw_channel", @@ -19989,8 +19979,6 @@ "adivflnc": "real_variable", "admv": "real_variable", "radius_fw_channel": "real_variable", - "afwi": "real_variable", - "afwo": "real_variable", "airtemp": "real_variable", "alfapf": "real_variable", "alphaj": "real_variable", From 193441c892a24abcc3d5bbff6e264580b35013b0 Mon Sep 17 00:00:00 2001 From: Jonathan Matthews Date: Wed, 12 Feb 2025 15:58:39 +0000 Subject: [PATCH 21/21] change to stellarator in.dat files for new inner channel radius for cooling value --- tests/regression/input_files/helias_5b.IN.DAT | 1 + .../input_files/stellarator_helias_once_through.IN.DAT | 1 + 2 files changed, 2 insertions(+) diff --git a/tests/regression/input_files/helias_5b.IN.DAT b/tests/regression/input_files/helias_5b.IN.DAT index f5c2cc828d..fcc446818e 100644 --- a/tests/regression/input_files/helias_5b.IN.DAT +++ b/tests/regression/input_files/helias_5b.IN.DAT @@ -134,6 +134,7 @@ primary_pumping = 0 *Switch for pumping power (0: User sets pump power direc secondary_cycle = 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 +radius_fw_channel = 0.008 *Inner radius of first wall coolant channel (m) is 0.008 for stellarator *-------------Heat Transport Variables-------------* diff --git a/tests/regression/input_files/stellarator_helias_once_through.IN.DAT b/tests/regression/input_files/stellarator_helias_once_through.IN.DAT index 38f00ae875..4a418db644 100644 --- a/tests/regression/input_files/stellarator_helias_once_through.IN.DAT +++ b/tests/regression/input_files/stellarator_helias_once_through.IN.DAT @@ -206,6 +206,7 @@ declblkt = 0.075 * neutron power deposition decay length of blanket structural m declfw = 0.075 * neutron power deposition decay length of first wall structural material [m] (stellarators only) declshld = 0.075 * neutron power deposition decay length of shield structural material [m] (stellarators only) etahtp = 1. * electrical efficiency of primary coolant pumps +radius_fw_channel = 0.008 *Inner radius of first wall coolant channel (m) is 0.008 for stellarator *-----------------Global Variables-----------------*