From 1981d153769b240d717d3909fc3ff7f3be0bd1c3 Mon Sep 17 00:00:00 2001 From: mn3981 Date: Sun, 26 Jan 2025 15:47:28 +0000 Subject: [PATCH 01/34] :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 abfeb852cc..dfd49e1f60 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 ff8f4a613722208b606324de98e1ac559af0ebd3 Mon Sep 17 00:00:00 2001 From: mn3981 Date: Sun, 26 Jan 2025 15:52:07 +0000 Subject: [PATCH 02/34] :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 c389214431..f408106b45 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 d8bc6a5dc9..747eea1934 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, & @@ -2116,9 +2116,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 440fce0cea..273b76222a 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 917da20f0bb342cb07906f980211f092b4438a77 Mon Sep 17 00:00:00 2001 From: mn3981 Date: Sun, 26 Jan 2025 15:57:45 +0000 Subject: [PATCH 03/34] =?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 31fbfa42ec..ad03144474 100644 --- a/process/blanket_library.py +++ b/process/blanket_library.py @@ -627,7 +627,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 bc783afbf7..c4cd153e2e 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 77f998cd20..97d5ebc3c8 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 37f3fdb8ee..a101fa83f5 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 a3daa230f9..86ccaf5fd9 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 37bcb604ec..fceb752ace 100755 --- a/source/fortran/constraint_equations.f90 +++ b/source/fortran/constraint_equations.f90 @@ -2189,8 +2189,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 dc7e7fd2e0..0c436525ad 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 f408106b45..5e969088c0 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 747eea1934..88484c1e9f 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, & @@ -1281,7 +1281,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 -' @@ -1297,7 +1297,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 -' @@ -2184,19 +2184,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 7a45fc89f2..49cb910675 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 273b76222a..f008898fc2 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) temp_cp_average\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) fl_h_threshold (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) temp_cp_average\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) fl_h_threshold (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_coils", @@ -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 6fb8c8a38f..bda7129ddd 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 eef99835e3..faea96399e 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 ec02c7bdb87875e611e9a3a248bd17563c84ad49 Mon Sep 17 00:00:00 2001 From: mn3981 Date: Sun, 26 Jan 2025 16:03:02 +0000 Subject: [PATCH 04/34] =?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 ad03144474..3c9ba291db 100644 --- a/process/blanket_library.py +++ b/process/blanket_library.py @@ -453,7 +453,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), @@ -473,7 +475,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, @@ -550,8 +554,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 ", ) @@ -1525,7 +1529,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 """ @@ -1618,14 +1622,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: @@ -1689,13 +1693,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... @@ -1832,7 +1836,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, @@ -1868,7 +1872,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(), @@ -1972,8 +1976,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 5e969088c0..3f3f825dc2 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 88484c1e9f..3c8dab0ac3 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, & @@ -1934,8 +1934,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 f008898fc2..346f8f6960 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 bda7129ddd..51853f824d 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 c6e84bf0aa0d981f0d76a16205d5ac6d2b1e8660 Mon Sep 17 00:00:00 2001 From: mn3981 Date: Sun, 26 Jan 2025 16:04:44 +0000 Subject: [PATCH 05/34] =?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 3c9ba291db..5e851dbf58 100644 --- a/process/blanket_library.py +++ b/process/blanket_library.py @@ -476,7 +476,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), @@ -571,8 +571,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 ", ) @@ -1530,7 +1530,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 """ ###################################################### @@ -1625,7 +1625,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 @@ -1633,9 +1633,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 @@ -1873,7 +1873,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, @@ -1982,8 +1982,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 3f3f825dc2..30605bcfb0 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 3c8dab0ac3..8468495e9b 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, & @@ -1937,8 +1937,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 346f8f6960..96b88811fd 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 51853f824d..e02f2589f5 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 5e4bb6fa1af29ecadcea4b4cd0347726901bee73 Mon Sep 17 00:00:00 2001 From: mn3981 Date: Sun, 26 Jan 2025 16:06:42 +0000 Subject: [PATCH 06/34] =?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 f8131adb9d..f8d495468b 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 fc80cb1b61..3367e217ca 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 10c0910fd9..41d2c35df7 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 78dd310da0..44bd84ddee 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 48db2c12ba..df18d950bd 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 48cfccc52b..5df59283e3 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 5e851dbf58..800c4156d2 100644 --- a/process/blanket_library.py +++ b/process/blanket_library.py @@ -460,7 +460,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 @@ -481,7 +481,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 @@ -1531,7 +1531,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 # @@ -1838,7 +1838,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( @@ -1874,7 +1874,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( @@ -1988,8 +1988,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 30605bcfb0..59f9ad3142 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 8468495e9b..669de4fae6 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, & @@ -1940,8 +1940,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 d6f0feefbe..c603480f62 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 acd7511dd5..9bd444c8e9 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 51f3d631de..92c7bd78fa 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 f43dc5d4ea..d5d1ae36c7 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 aa10d32433..5f96af37b9 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 c0d6a6e502..bd03a33ddb 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 ed8595b696..a9b9784c79 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 96b88811fd..d3c45f8492 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 e02f2589f5..f19c2f7101 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 8b95bd4b58..5a37cd7eca 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 2f68e23f51b891cd55831d5f771b49cb29698662 Mon Sep 17 00:00:00 2001 From: mn3981 Date: Sun, 26 Jan 2025 17:11:23 +0000 Subject: [PATCH 07/34] =?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 800c4156d2..0eaeb98779 100644 --- a/process/blanket_library.py +++ b/process/blanket_library.py @@ -754,7 +754,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 / ( @@ -1538,7 +1538,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 @@ -1646,7 +1648,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", @@ -1661,7 +1663,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 6cc6bcd0ba..69d69832b5 100644 --- a/process/build.py +++ b/process/build.py @@ -2003,7 +2003,7 @@ def calculate_radial_build(self, output: bool) -> None: # Calculate surface area, assuming 100% coverage ( - build_variables.fwareaib, + build_variables.a_fw_inboard, build_variables.fwareaob, build_variables.fwarea, ) = dshellarea(r1, r2, hfw) @@ -2036,7 +2036,7 @@ def calculate_radial_build(self, output: bool) -> None: # Calculate surface area, assuming 100% coverage ( - build_variables.fwareaib, + build_variables.a_fw_inboard, build_variables.fwareaob, build_variables.fwarea, ) = eshellarea(r1, r2, r3, hfw) @@ -2048,7 +2048,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: @@ -2056,11 +2056,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 7222fe4af5..7459c5f8fd 100644 --- a/process/stellarator.py +++ b/process/stellarator.py @@ -1111,7 +1111,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 @@ -1325,7 +1325,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) @@ -1402,7 +1404,7 @@ def stfwbs(self, output: bool): psurffwi = ( fwbs_variables.pradfw - * build_variables.fwareaib + * build_variables.a_fw_inboard / build_variables.fwarea ) psurffwo = ( @@ -1505,7 +1507,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 = ( @@ -1765,7 +1767,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 @@ -1774,7 +1776,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 ) @@ -1782,7 +1784,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 d3c45f8492..1510808444 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 ba30d59d7712899780a5471918080ecd020ba1b9 Mon Sep 17 00:00:00 2001 From: mn3981 Date: Sun, 26 Jan 2025 17:14:26 +0000 Subject: [PATCH 08/34] =?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 0eaeb98779..6eb9767432 100644 --- a/process/blanket_library.py +++ b/process/blanket_library.py @@ -757,7 +757,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 ) @@ -1543,7 +1543,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) @@ -1672,7 +1674,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", @@ -1682,7 +1684,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 69d69832b5..dbb9bb3b64 100644 --- a/process/build.py +++ b/process/build.py @@ -2004,7 +2004,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, ) = dshellarea(r1, r2, hfw) @@ -2037,7 +2037,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, ) = eshellarea(r1, r2, r3, hfw) @@ -2045,7 +2045,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 * ( @@ -2053,16 +2053,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 7459c5f8fd..5859fb0fc5 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.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. @@ -1328,7 +1328,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) @@ -1409,7 +1411,7 @@ def stfwbs(self, output: bool): ) psurffwo = ( fwbs_variables.pradfw - * build_variables.fwareaob + * build_variables.a_fw_outboard / build_variables.fwarea ) @@ -1514,7 +1516,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 ) @@ -1770,14 +1772,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 @@ -1785,7 +1787,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 1510808444..df3c4bb411 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 7103edb5ea99339dff304f6774831bb0a4ad1af7 Mon Sep 17 00:00:00 2001 From: mn3981 Date: Sun, 26 Jan 2025 17:18:03 +0000 Subject: [PATCH 09/34] =?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 f8d495468b..0752644e99 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 3367e217ca..ef56b04840 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 41d2c35df7..9722f52f88 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 44bd84ddee..85cc487cac 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 df18d950bd..c00dab5ceb 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 5df59283e3..ec8fafa70f 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 6eb9767432..493e0763a2 100644 --- a/process/blanket_library.py +++ b/process/blanket_library.py @@ -1540,12 +1540,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 dbb9bb3b64..9c4a138a25 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 = ( @@ -2005,7 +2005,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, ) = dshellarea(r1, r2, hfw) else: # Cross-section is assumed to be defined by two ellipses @@ -2038,7 +2038,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, ) = eshellarea(r1, r2, r3, hfw) # Apply area coverage factor @@ -2060,7 +2060,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 c4cd153e2e..1de73a896e 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 dfd49e1f60..031aab86af 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 3ad46a4b40..d9aaed97c0 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 ed4964d51a..2ee8303553 100644 --- a/process/physics.py +++ b/process/physics.py @@ -2141,7 +2141,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 @@ -2154,14 +2154,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 @@ -2437,7 +2437,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 @@ -2449,21 +2449,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 5859fb0fc5..aab07bb99d 100644 --- a/process/stellarator.py +++ b/process/stellarator.py @@ -466,18 +466,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 @@ -917,7 +917,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") @@ -1111,8 +1111,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. @@ -1326,10 +1326,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) @@ -1407,12 +1409,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 @@ -1510,14 +1512,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 @@ -1750,7 +1752,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 @@ -1761,7 +1763,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 @@ -1789,7 +1791,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) ) @@ -2204,7 +2206,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 @@ -4265,7 +4270,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 = ( @@ -4276,7 +4281,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 @@ -4372,7 +4377,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 = ( @@ -4383,7 +4388,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 c603480f62..0704565a8e 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 9bd444c8e9..87a5f71bf5 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 92c7bd78fa..80d23d603c 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 d5d1ae36c7..375b5d82e5 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 5f96af37b9..c7aa11bddf 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 bd03a33ddb..6e21151332 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 a9b9784c79..108cee0e75 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 df3c4bb411..2c1b70cf0d 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 5a37cd7eca..8e0d42eab7 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 faea96399e..f32792b51a 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 2d28e1f50a..a7be20cfc4 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 1700ac14802f5594b54418c4b9c90e5eb9345095 Mon Sep 17 00:00:00 2001 From: mn3981 Date: Sun, 26 Jan 2025 17:38:32 +0000 Subject: [PATCH 10/34] =?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 0752644e99..9d0b4d5d97 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 ef56b04840..4085588617 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 9722f52f88..2cc58c0388 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 85cc487cac..8e4f1e7479 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 c00dab5ceb..69315140c3 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 ec8fafa70f..c90bac6254 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 59f9ad3142..cf982c9af9 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 0704565a8e..e45f6f2bb8 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 87a5f71bf5..ab8b2672cf 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 80d23d603c..9257853e6e 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 375b5d82e5..ceb103fcb5 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 c7aa11bddf..dc542cbba6 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 6e21151332..3e6912b9c4 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 108cee0e75..487482425e 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 2c1b70cf0d..d74287f967 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 8e0d42eab7..7c0ad36939 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 a298277964a583863a77d33da925a2552f0542ba Mon Sep 17 00:00:00 2001 From: mn3981 Date: Sun, 26 Jan 2025 17:50:43 +0000 Subject: [PATCH 11/34] =?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 aab07bb99d..badb5d2f4d 100644 --- a/process/stellarator.py +++ b/process/stellarator.py @@ -1250,7 +1250,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 @@ -1395,7 +1395,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 @@ -1776,12 +1776,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 @@ -1789,7 +1791,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 cf982c9af9..5523f72613 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 d74287f967..9f29098acf 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 4edd2fe90061970133addd71276c5ec1f71d368c Mon Sep 17 00:00:00 2001 From: mn3981 Date: Sun, 26 Jan 2025 17:58:00 +0000 Subject: [PATCH 12/34] =?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 badb5d2f4d..ded02354f0 100644 --- a/process/stellarator.py +++ b/process/stellarator.py @@ -1244,13 +1244,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 @@ -1392,7 +1392,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 = ( @@ -1773,14 +1773,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 @@ -1790,7 +1792,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 5523f72613..5fda68bef3 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 9f29098acf..2792ec345e 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 06e50e8f208a7822f8d7e3131aacb5507d3a5c97 Mon Sep 17 00:00:00 2001 From: mn3981 Date: Sun, 26 Jan 2025 18:04:16 +0000 Subject: [PATCH 13/34] =?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 9d0b4d5d97..afef7d3106 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 4085588617..654f584185 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 2cc58c0388..cb251d74e1 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 8e4f1e7479..8cf789f9c8 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 69315140c3..40fac13370 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 c90bac6254..f6aa07e538 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 ded02354f0..476fe22fab 100644 --- a/process/stellarator.py +++ b/process/stellarator.py @@ -1242,7 +1242,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 @@ -1751,7 +1751,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 @@ -1770,7 +1770,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) @@ -2220,7 +2220,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 5fda68bef3..9848b4f041 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 e45f6f2bb8..78632d1916 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 ab8b2672cf..18a4ea66d2 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 9257853e6e..7d146582e9 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 ceb103fcb5..6d1097641a 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 dc542cbba6..6a131f5919 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 3e6912b9c4..8b601c553e 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 487482425e..5582467e90 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 2792ec345e..7178c178b1 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 7c0ad36939..b6dbebdc52 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 761324d930e4c8e3fcd26002a13fd98d143618f6 Mon Sep 17 00:00:00 2001 From: mn3981 Date: Sun, 26 Jan 2025 18:15:30 +0000 Subject: [PATCH 14/34] =?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 493e0763a2..bf9d88fa39 100644 --- a/process/blanket_library.py +++ b/process/blanket_library.py @@ -440,12 +440,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 @@ -458,7 +460,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(), ) @@ -479,7 +481,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, ) @@ -533,8 +535,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, @@ -1527,7 +1529,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 @@ -1590,12 +1592,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 @@ -1846,7 +1850,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", @@ -1882,7 +1886,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", @@ -1956,8 +1960,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 9848b4f041..e2fb4beee9 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 669de4fae6..c4339f9665 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, & @@ -1943,9 +1943,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 7178c178b1..53603f9361 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 `i_pulsed_plant=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 f19c2f7101..ed6e454355 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 a64439285e7255d0e2913f26197c9b522c3ef472 Mon Sep 17 00:00:00 2001 From: mn3981 Date: Fri, 31 Jan 2025 15:05:21 +0000 Subject: [PATCH 15/34] =?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 bf9d88fa39..4c27a20c21 100644 --- a/process/blanket_library.py +++ b/process/blanket_library.py @@ -788,8 +788,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 = ( @@ -822,8 +822,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 @@ -861,8 +861,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 = ( @@ -903,8 +903,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 @@ -948,8 +948,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 ) @@ -972,8 +972,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 ) @@ -1468,7 +1468,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. @@ -1481,7 +1481,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 @@ -1519,7 +1522,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 @@ -1652,7 +1655,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, @@ -1667,7 +1670,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, @@ -1676,7 +1679,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, @@ -1686,7 +1689,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, @@ -1972,8 +1975,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, @@ -2450,13 +2453,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 @@ -2536,7 +2541,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 476fe22fab..a4a13b1a45 100644 --- a/process/stellarator.py +++ b/process/stellarator.py @@ -345,7 +345,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 86ccaf5fd9..d759be4b33 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 e2fb4beee9..4e93dfd00f 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 c4339f9665..67f2696ab8 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, & @@ -1924,8 +1924,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 53603f9361..5f177378b0 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 ed6e454355..33baf7a7bf 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 a7be20cfc4..125f1da5e9 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 4690521f1034a47546c35fc4f4c386b375b735f6 Mon Sep 17 00:00:00 2001 From: mn3981 Date: Fri, 31 Jan 2025 15:07:37 +0000 Subject: [PATCH 16/34] =?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 4c27a20c21..be4b0a23e2 100644 --- a/process/blanket_library.py +++ b/process/blanket_library.py @@ -1523,7 +1523,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 @@ -1969,8 +1969,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 a4a13b1a45..81833d0991 100644 --- a/process/stellarator.py +++ b/process/stellarator.py @@ -345,7 +345,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 4e93dfd00f..02f2d469a7 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 67f2696ab8..c5520e6a0a 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, & @@ -1928,8 +1928,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 5f177378b0..b2e023353f 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 33baf7a7bf..51a4beb3ea 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 125f1da5e9..5d8db37fee 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 d1fc3cc8b2b9bbe8168803713fd23f79a9519772 Mon Sep 17 00:00:00 2001 From: mn3981 Date: Fri, 31 Jan 2025 15:15:57 +0000 Subject: [PATCH 17/34] =?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 be4b0a23e2..d5eeb2af3f 100644 --- a/process/blanket_library.py +++ b/process/blanket_library.py @@ -755,12 +755,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): @@ -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) 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 b060443e34..0e36b14475 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 02f2d469a7..48b4467ce7 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 c5520e6a0a..58d20c803d 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, & @@ -1931,8 +1931,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 03f5cc0810..3f081694bc 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 b2e023353f..3f40f54228 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 51a4beb3ea..18dd4ba4f5 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 d64594c992256dfbda2b38643c5f6e110685e178 Mon Sep 17 00:00:00 2001 From: mn3981 Date: Fri, 31 Jan 2025 15:26:16 +0000 Subject: [PATCH 18/34] =?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 0e36b14475..b125b59b7b 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 48b4467ce7..4c7dc39957 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 58d20c803d..ab57ef14b8 100644 --- a/source/fortran/input.f90 +++ b/source/fortran/input.f90 @@ -1933,7 +1933,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 e7ab4d41ee09712adf80bac21063b3e3dc0a12ce Mon Sep 17 00:00:00 2001 From: mn3981 Date: Fri, 31 Jan 2025 22:28:33 +0000 Subject: [PATCH 19/34] =?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 ff767fd951f35fc84a23141a7cad789b9622f980 Mon Sep 17 00:00:00 2001 From: mn3981 Date: Thu, 13 Feb 2025 16:35:28 +0000 Subject: [PATCH 20/34] Fix unit tests --- tests/unit/test_fw.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/unit/test_fw.py b/tests/unit/test_fw.py index f10a25d7ef..66ce6a15a3 100644 --- a/tests/unit/test_fw.py +++ b/tests/unit/test_fw.py @@ -153,8 +153,8 @@ def test_fw_temp(fwtempparam, monkeypatch, fw): False, pnuc_deposited=fwtempparam.pnuc_deposited, radius_fw_channel=fwtempparam.radius_fw_channel, - thickness=fwtempparam.thickness, - area=fwtempparam.area, + dr_fw=fwtempparam.thickness, + a_fw=fwtempparam.area, prad_incident=fwtempparam.prad_incident, label=fwtempparam.label, ) From dc3572b6b279bb588ab59444f695e8499c176a64 Mon Sep 17 00:00:00 2001 From: mn3981 Date: Mon, 17 Feb 2025 10:29:41 +0000 Subject: [PATCH 21/34] :memo: Update documentation to include standards for component lifetimes and naming conventions --- documentation/proc-pages/development/standards.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/documentation/proc-pages/development/standards.md b/documentation/proc-pages/development/standards.md index b47414e445..cea3d77fdc 100644 --- a/documentation/proc-pages/development/standards.md +++ b/documentation/proc-pages/development/standards.md @@ -334,6 +334,14 @@ This should be used for units of $\text{kg} \cdot \text{m}^{-2}\text{s}^{-1}$ --------------------- +##### Lifetimes + +- Lifetimes of componenets should start with the `life_` prefix. + +The unit declaration `_fpy` can be used to specify that it is the full-power year lifetime. + +--------------------- + ##### Variables representing fractions If a variable is intended to demonstrate a fraction of a value or distribution etc. Then it should start with the `f_` prefix. From c53fe8c61e7be9114f1a2170964a0cf12817e5ff Mon Sep 17 00:00:00 2001 From: mn3981 Date: Mon, 17 Feb 2025 10:32:57 +0000 Subject: [PATCH 22/34] =?UTF-8?q?=F0=9F=94=84=20Rename=20`fwlife`=20to=20`?= =?UTF-8?q?life=5Ffw=5Ffpy`=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 --- process/availability.py | 10 ++++++---- process/ife.py | 2 +- process/stellarator.py | 6 +++--- source/fortran/fwbs_variables.f90 | 4 ++-- tests/integration/ref_dicts.json | 6 +++--- tests/unit/test_availability.py | 6 +++--- tests/unit/test_ife.py | 12 ++++++------ 7 files changed, 24 insertions(+), 22 deletions(-) diff --git a/process/availability.py b/process/availability.py index 5581078438..8cd3df1191 100644 --- a/process/availability.py +++ b/process/availability.py @@ -96,8 +96,8 @@ def avail(self, output: bool): # First wall / blanket lifetime (years) # TODO MDK Do this calculation whatever the value of blktmodel (whatever that is) - # For some reason fwlife is not always calculated, so ignore it if it is still zero. - if fwbsv.fwlife < 0.0001e0: + # For some reason life_fw_fpy is not always calculated, so ignore it if it is still zero. + if fwbsv.life_fw_fpy < 0.0001e0: # Calculate blanket lifetime using neutron fluence model (ibkt_life=0) # or DEMO fusion power model (ibkt_life=1) if cv.ibkt_life == 0: @@ -106,10 +106,12 @@ def avail(self, output: bool): fwbsv.bktlife = min(cv.life_dpa / dpa_fpy, cv.tlife) # DEMO else: if cv.ibkt_life == 0: - fwbsv.bktlife = min(fwbsv.fwlife, cv.abktflnc / pv.wallmw, cv.tlife) + fwbsv.bktlife = min( + fwbsv.life_fw_fpy, cv.abktflnc / pv.wallmw, cv.tlife + ) else: fwbsv.bktlife = min( - fwbsv.fwlife, cv.life_dpa / dpa_fpy, cv.tlife + fwbsv.life_fw_fpy, cv.life_dpa / dpa_fpy, cv.tlife ) # DEMO # TODO Issue #834 diff --git a/process/ife.py b/process/ife.py index 3ec57a6716..7a840c4ab3 100644 --- a/process/ife.py +++ b/process/ife.py @@ -1839,7 +1839,7 @@ def ifefbs(self, output: bool = False): ) fwbs_variables.bktlife = life - fwbs_variables.fwlife = life + fwbs_variables.life_fw_fpy = life if not output: return diff --git a/process/stellarator.py b/process/stellarator.py index 81833d0991..7eb42add5b 100644 --- a/process/stellarator.py +++ b/process/stellarator.py @@ -1106,7 +1106,7 @@ def stfwbs(self, output: bool): which scale the surface area of the components from that of the plasma. """ - fwbs_variables.fwlife = min( + fwbs_variables.life_fw_fpy = min( cost_variables.abktflnc / physics_variables.wallmw, cost_variables.tlife ) @@ -1892,8 +1892,8 @@ def stfwbs(self, output: bool): po.ovarre( self.outfile, "First wall full-power lifetime (years)", - "(fwlife)", - fwbs_variables.fwlife, + "(life_fw_fpy)", + fwbs_variables.life_fw_fpy, ) po.ovarre( diff --git a/source/fortran/fwbs_variables.f90 b/source/fortran/fwbs_variables.f90 index 4c7dc39957..727fca3115 100644 --- a/source/fortran/fwbs_variables.f90 +++ b/source/fortran/fwbs_variables.f90 @@ -63,7 +63,7 @@ module fwbs_variables !! - =2 defined by two ellipses !#TODO: change to adopt switch naming convention - real(dp) :: fwlife + real(dp) :: life_fw_fpy !! first wall full-power year lifetime (y) real(dp) :: m_fw_total @@ -678,7 +678,7 @@ subroutine init_fwbs_variables fhcd = 0.0D0 fhole = 0.0D0 fwbsshape = 2 - fwlife = 0.0D0 + life_fw_fpy = 0.0D0 m_fw_total = 0.0D0 fw_armour_mass = 0.0D0 fw_armour_thickness = 0.005D0 diff --git a/tests/integration/ref_dicts.json b/tests/integration/ref_dicts.json index 3f40f54228..6d75187b2c 100644 --- a/tests/integration/ref_dicts.json +++ b/tests/integration/ref_dicts.json @@ -2104,7 +2104,7 @@ "fwimzp": 0.0, "temp_fw_coolant_in": 573.0, "dr_fw_inboard": 0.0, - "fwlife": 0.0, + "life_fw_fpy": 0.0, "m_fw_total": 0.0, "fwmatf": [ 0.05, @@ -9684,7 +9684,7 @@ "fwimzp": "inboard first wall mean zone power density/neutron", "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)", + "life_fw_fpy": "first wall full-power year lifetime (y)", "m_fw_total": "first wall mass (kg)", "fwmatf": "IFE first wall material fractions", "fwmatm": "IFE first wall material masses (kg)", @@ -18025,7 +18025,7 @@ "fhcd", "fhole", "fwbsshape", - "fwlife", + "life_fw_fpy", "m_fw_total", "fw_armour_mass", "fw_armour_thickness", diff --git a/tests/unit/test_availability.py b/tests/unit/test_availability.py index 7e97cb6b26..21cab2801b 100644 --- a/tests/unit/test_availability.py +++ b/tests/unit/test_availability.py @@ -27,10 +27,10 @@ def availability(): @pytest.mark.parametrize( - "fwlife, ibkt_life, bktlife_exp_param", + "life_fw_fpy, ibkt_life, bktlife_exp_param", ((0.0000001, 0, 0.5), (0.0000001, 1, 2.5), (1.0, 0, 0.5), (1.0, 1, 1.25)), ) -def test_avail_0(monkeypatch, availability, fwlife, ibkt_life, bktlife_exp_param): +def test_avail_0(monkeypatch, availability, life_fw_fpy, ibkt_life, bktlife_exp_param): """Test avail for iavail = 0 :param monkeypatch: mocking fixture @@ -42,7 +42,7 @@ def test_avail_0(monkeypatch, availability, fwlife, ibkt_life, bktlife_exp_param # Mock module vars monkeypatch.setattr(ifev, "ife", 0) monkeypatch.setattr(pv, "fusion_power", 4.0e3) - monkeypatch.setattr(fwbsv, "fwlife", fwlife) + monkeypatch.setattr(fwbsv, "life_fw_fpy", life_fw_fpy) monkeypatch.setattr(cv, "ibkt_life", ibkt_life) monkeypatch.setattr(cv, "abktflnc", 4.0) monkeypatch.setattr(pv, "wallmw", 10.0) diff --git a/tests/unit/test_ife.py b/tests/unit/test_ife.py index 03b1e4f277..8457105e2a 100644 --- a/tests/unit/test_ife.py +++ b/tests/unit/test_ife.py @@ -1221,7 +1221,7 @@ class IfefbsParam(NamedTuple): wtblli2o: Any = None whtblli: Any = None bktlife: Any = None - fwlife: Any = None + life_fw_fpy: Any = None chmatm: Any = None chmatv: Any = None fwmatm: Any = None @@ -1244,7 +1244,7 @@ class IfefbsParam(NamedTuple): expected_whtblkt: Any = None expected_whtshld: Any = None expected_bktlife: Any = None - expected_fwlife: Any = None + expected_life_fw_fpy: Any = None expected_fwmatm: Any = None expected_v1matm: Any = None expected_blmatm: Any = None @@ -1271,7 +1271,7 @@ class IfefbsParam(NamedTuple): wtblli2o=0, whtblli=0, bktlife=0, - fwlife=0, + life_fw_fpy=0, chmatm=np.array( np.array((0, 0, 0, 0, 0, 0, 0, 0, 0), order="F"), order="F" ).transpose(), @@ -1455,7 +1455,7 @@ class IfefbsParam(NamedTuple): expected_whtblkt=347956.92928704334, expected_whtshld=1067310.9593707009, expected_bktlife=3.000406304846492, - expected_fwlife=3.000406304846492, + expected_life_fw_fpy=3.000406304846492, expected_fwmatm=np.array( ( (0, 0, 0), @@ -1556,7 +1556,7 @@ def test_ifefbs(ifefbsparam, monkeypatch, ife): monkeypatch.setattr(fwbs_variables, "wtblli2o", ifefbsparam.wtblli2o) monkeypatch.setattr(fwbs_variables, "whtblli", ifefbsparam.whtblli) monkeypatch.setattr(fwbs_variables, "bktlife", ifefbsparam.bktlife) - monkeypatch.setattr(fwbs_variables, "fwlife", ifefbsparam.fwlife) + monkeypatch.setattr(fwbs_variables, "life_fw_fpy", ifefbsparam.life_fw_fpy) monkeypatch.setattr(ife_variables, "chmatm", ifefbsparam.chmatm) monkeypatch.setattr(ife_variables, "chmatv", ifefbsparam.chmatv) monkeypatch.setattr(ife_variables, "fwmatm", ifefbsparam.fwmatm) @@ -1582,7 +1582,7 @@ def test_ifefbs(ifefbsparam, monkeypatch, ife): 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) - assert fwbs_variables.fwlife == pytest.approx(ifefbsparam.expected_fwlife) + assert fwbs_variables.life_fw_fpy == pytest.approx(ifefbsparam.expected_life_fw_fpy) assert ife_variables.fwmatm == pytest.approx(ifefbsparam.expected_fwmatm) assert ife_variables.v1matm == pytest.approx(ifefbsparam.expected_v1matm) assert ife_variables.blmatm == pytest.approx(ifefbsparam.expected_blmatm) From f2b2576c80eca6855a0fb84dbc494867434fa91f Mon Sep 17 00:00:00 2001 From: mn3981 Date: Mon, 17 Feb 2025 10:37:10 +0000 Subject: [PATCH 23/34] =?UTF-8?q?=F0=9F=94=84=20Rename=20`pnucfw`=20to=20`?= =?UTF-8?q?p=5Ffw=5Fnuclear=5Fmw`=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 --- .../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/dcll.py | 8 ++--- process/hcpb.py | 24 +++++++-------- process/io/mfile_comparison.py | 2 +- process/io/sankey_funcs.py | 10 +++---- process/power.py | 16 +++++----- process/stellarator.py | 6 ++-- 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 | 30 +++++++++++-------- tests/unit/test_dcll.py | 20 +++++++------ tests/unit/test_power.py | 8 ++--- 26 files changed, 118 insertions(+), 108 deletions(-) diff --git a/examples/data/csv_output_large_tokamak_MFILE.DAT b/examples/data/csv_output_large_tokamak_MFILE.DAT index afef7d3106..6c25c16325 100644 --- a/examples/data/csv_output_large_tokamak_MFILE.DAT +++ b/examples/data/csv_output_large_tokamak_MFILE.DAT @@ -974,7 +974,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4498E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 7.9388E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 2.2718E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (pnucfw)______________________ 1.6038E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 1.6038E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.2682E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.3897E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.4652E+02 OP diff --git a/examples/data/large_tokamak_1_MFILE.DAT b/examples/data/large_tokamak_1_MFILE.DAT index 654f584185..68feb4e72d 100644 --- a/examples/data/large_tokamak_1_MFILE.DAT +++ b/examples/data/large_tokamak_1_MFILE.DAT @@ -969,7 +969,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4498E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 7.9388E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 2.5118E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (pnucfw)______________________ 1.6315E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 1.6315E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.2901E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4138E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.4906E+02 OP diff --git a/examples/data/large_tokamak_2_MFILE.DAT b/examples/data/large_tokamak_2_MFILE.DAT index cb251d74e1..86826a7b2d 100644 --- a/examples/data/large_tokamak_2_MFILE.DAT +++ b/examples/data/large_tokamak_2_MFILE.DAT @@ -969,7 +969,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4498E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 7.9388E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 2.5118E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (pnucfw)______________________ 1.6315E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 1.6315E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.2901E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4138E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.4906E+02 OP diff --git a/examples/data/large_tokamak_3_MFILE.DAT b/examples/data/large_tokamak_3_MFILE.DAT index 8cf789f9c8..fed7eab584 100644 --- a/examples/data/large_tokamak_3_MFILE.DAT +++ b/examples/data/large_tokamak_3_MFILE.DAT @@ -969,7 +969,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4498E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 7.9388E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 2.5118E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (pnucfw)______________________ 1.6315E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 1.6315E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.2901E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4138E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.4906E+02 OP diff --git a/examples/data/large_tokamak_4_MFILE.DAT b/examples/data/large_tokamak_4_MFILE.DAT index 40fac13370..2c8a7253ac 100644 --- a/examples/data/large_tokamak_4_MFILE.DAT +++ b/examples/data/large_tokamak_4_MFILE.DAT @@ -969,7 +969,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4498E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 7.9388E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 2.5118E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (pnucfw)______________________ 1.6315E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 1.6315E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.2901E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4138E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.4906E+02 OP diff --git a/examples/data/scan_MFILE.DAT b/examples/data/scan_MFILE.DAT index f6aa07e538..c6b477d872 100644 --- a/examples/data/scan_MFILE.DAT +++ b/examples/data/scan_MFILE.DAT @@ -798,7 +798,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4235E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 9.5369E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 5.8227E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (pnucfw)______________________ 2.4609E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 2.4609E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.5585E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4885E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.8507E+02 OP @@ -1793,7 +1793,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4235E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 9.5369E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 5.8227E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (pnucfw)______________________ 2.4609E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 2.4609E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.5585E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4885E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.8507E+02 OP @@ -2788,7 +2788,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4235E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 9.5369E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 5.8228E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (pnucfw)______________________ 2.4609E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 2.4609E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.5585E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4885E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.8507E+02 OP @@ -3783,7 +3783,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4235E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 9.5369E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 5.8228E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (pnucfw)______________________ 2.4609E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 2.4609E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.5585E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4885E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.8507E+02 OP @@ -4778,7 +4778,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4235E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 9.5369E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 5.8228E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (pnucfw)______________________ 2.4609E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 2.4609E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.5585E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4885E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.8507E+02 OP @@ -5773,7 +5773,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4235E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 9.5369E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 5.8228E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (pnucfw)______________________ 2.4609E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 2.4609E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.5585E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4885E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.8507E+02 OP @@ -6768,7 +6768,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4235E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 9.5369E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 5.8228E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (pnucfw)______________________ 2.4609E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 2.4609E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.5585E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4885E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.8507E+02 OP @@ -7763,7 +7763,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4235E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 9.5369E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 5.8228E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (pnucfw)______________________ 2.4609E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 2.4609E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.5585E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4885E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.8507E+02 OP @@ -8758,7 +8758,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4235E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 9.5369E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 5.8228E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (pnucfw)______________________ 2.4609E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 2.4609E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.5585E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4885E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.8507E+02 OP diff --git a/process/blanket_library.py b/process/blanket_library.py index d5eeb2af3f..27afb7fabf 100644 --- a/process/blanket_library.py +++ b/process/blanket_library.py @@ -1543,12 +1543,12 @@ def thermo_hydraulic_model(self, output: bool): ###################################################### # IB/OB FW (MW) blanket_library.pnucfwi = ( - fwbs_variables.pnucfw + fwbs_variables.p_fw_nuclear_mw * build_variables.a_fw_inboard / build_variables.a_fw_total ) blanket_library.pnucfwo = ( - fwbs_variables.pnucfw + fwbs_variables.p_fw_nuclear_mw * build_variables.a_fw_outboard / build_variables.a_fw_total ) diff --git a/process/dcll.py b/process/dcll.py index 3994bb4a1b..3af27ebd6c 100644 --- a/process/dcll.py +++ b/process/dcll.py @@ -129,7 +129,7 @@ def dcll_neutronics_and_power(self, output: bool): covf = 1 - fwbs_variables.fdiv - fwbs_variables.fhcd # Nuclear heating in the first wall (MW) - fwbs_variables.pnucfw = ( + fwbs_variables.p_fw_nuclear_mw = ( physics_variables.neutron_power_total * fwbs_variables.pnuc_fw_ratio_dcll * covf @@ -226,8 +226,8 @@ def dcll_neutronics_and_power(self, output: bool): po.ovarre( self.outfile, "Total nuclear heating in FW (MW)", - "(pnucfw)", - fwbs_variables.pnucfw, + "(p_fw_nuclear_mw)", + fwbs_variables.p_fw_nuclear_mw, "OP ", ) po.ovarre( @@ -297,7 +297,7 @@ def dcll_power_and_heating(self, output: bool): # User sets mechanical pumping power as a fraction of thermal power # removed by coolant heat_transport_variables.htpmw_fw = heat_transport_variables.fpumpfw * ( - fwbs_variables.pnucfw + fwbs_variables.p_fw_nuclear_mw + fwbs_variables.psurffwi + fwbs_variables.psurffwo ) diff --git a/process/hcpb.py b/process/hcpb.py index bed8290b69..0a2e71eaad 100644 --- a/process/hcpb.py +++ b/process/hcpb.py @@ -126,7 +126,7 @@ def run(self, output: bool): # fractions as before. # Total nuclear power deposited in the blancket sector (MW) ccfe_hcpb_module.pnuc_tot_blk_sector = ( - fwbs_variables.pnucfw + fwbs_variables.p_fw_nuclear_mw + fwbs_variables.pnucblkt + fwbs_variables.pnucshld + fwbs_variables.ptfnuc @@ -135,7 +135,7 @@ def run(self, output: bool): # Total nuclear power deposited in the # if ( pnuc_tot_blk_sector < 1.0d0 .or. pnuc_tot_blk_sector /= pnuc_tot_blk_sector ) then # #TODO This can flood the terminal, and should be logged once in Python - # write(*,*)'pnucfw =', pnucfw, ' and ', 'pnucblkt =', pnucblkt + # write(*,*)'p_fw_nuclear_mw =', p_fw_nuclear_mw, ' and ', 'pnucblkt =', pnucblkt # write(*,*)'pnucshld =', pnucshld, ' ptfnuc =', ptfnuc # end if @@ -143,8 +143,8 @@ def run(self, output: bool): f_geom_blanket = 1 - physics_variables.idivrt * fwbs_variables.fdiv - f_geom_cp # Power to the first wall (MW) - fwbs_variables.pnucfw = ( - (fwbs_variables.pnucfw / ccfe_hcpb_module.pnuc_tot_blk_sector) + fwbs_variables.p_fw_nuclear_mw = ( + (fwbs_variables.p_fw_nuclear_mw / ccfe_hcpb_module.pnuc_tot_blk_sector) * fwbs_variables.emult * f_geom_blanket * physics_variables.neutron_power_total @@ -187,7 +187,7 @@ def run(self, output: bool): # --- # pnucdiv is not changed. # The energy due to multiplication, by subtraction: - # emultmw = pnucfw + pnucblkt + pnucshld + ptfnuc + pnucdiv - neutron_power_total + # emultmw = p_fw_nuclear_mw + pnucblkt + pnucshld + ptfnuc + pnucdiv - neutron_power_total # --- # New code, a bit simpler @@ -536,15 +536,15 @@ def nuclear_heating_fw(self): ccfe_hcpb_module.fw_armour_u_nuc_heating = 6.25e-7 # Total nuclear heating in FW (MW) - fwbs_variables.pnucfw = ( + fwbs_variables.p_fw_nuclear_mw = ( fwbs_variables.m_fw_total * ccfe_hcpb_module.fw_armour_u_nuc_heating * physics_variables.fusion_power ) - if fwbs_variables.pnucfw < 0: + if fwbs_variables.p_fw_nuclear_mw < 0: raise RuntimeError( - f"""Error in nuclear_heating_fw. {fwbs_variables.pnucfw = }, + f"""Error in nuclear_heating_fw. {fwbs_variables.p_fw_nuclear_mw = }, {physics_variables.fusion_power = }, {fwbs_variables.m_fw_total = }""" ) @@ -699,7 +699,7 @@ def powerflow_calc(self, output: bool): # User sets mechanical pumping power as a fraction of thermal power # removed by coolant heat_transport_variables.htpmw_fw = heat_transport_variables.fpumpfw * ( - fwbs_variables.pnucfw + fwbs_variables.p_fw_nuclear_mw + fwbs_variables.psurffwi + fwbs_variables.psurffwo ) @@ -757,7 +757,7 @@ def powerflow_calc(self, output: bool): ) fpump = t_in_compressor / (fwbs_variables.etaiso * dt_he) * (pfactor - 1) p_plasma = ( - fwbs_variables.pnucfw + fwbs_variables.p_fw_nuclear_mw + fwbs_variables.psurffwi + fwbs_variables.psurffwo + fwbs_variables.pnucblkt @@ -1404,8 +1404,8 @@ def write_output(self): po.ovarre( self.outfile, "Total nuclear heating in FW (MW)", - "(pnucfw)", - fwbs_variables.pnucfw, + "(p_fw_nuclear_mw)", + fwbs_variables.p_fw_nuclear_mw, "OP ", ) po.ovarre( diff --git a/process/io/mfile_comparison.py b/process/io/mfile_comparison.py index d9aaed97c0..30d9a80c3c 100644 --- a/process/io/mfile_comparison.py +++ b/process/io/mfile_comparison.py @@ -198,7 +198,7 @@ "dr_blkt_outboard", "fusion_power", "pnucblkt", - "pnucfw", + "p_fw_nuclear_mw", "ptfnuc", "pnucshld", "pnucdiv", diff --git a/process/io/sankey_funcs.py b/process/io/sankey_funcs.py index 976e4e0257..a20faf6015 100644 --- a/process/io/sankey_funcs.py +++ b/process/io/sankey_funcs.py @@ -56,7 +56,7 @@ def plot_full_sankey( pnucdiv = m_file.data["pnucdiv"].get_scan( -1 ) # Nuclear heating in the divertor (MW) - pnucfw = m_file.data["pnucfw"].get_scan( + p_fw_nuclear_mw = m_file.data["p_fw_nuclear_mw"].get_scan( -1 ) # Nuclear heating in the first wall (MW) pnucshld = m_file.data["pnucshld"].get_scan( @@ -159,7 +159,7 @@ def plot_full_sankey( neutrons = [ neutron_power_total, -pnucdiv, - -pnucfw, + -p_fw_nuclear_mw, -pnucshld, -ptfnuc, -pnucemblkt, @@ -291,7 +291,7 @@ def plot_full_sankey( # ---------------------------------------- 1ST WALL - 5 --------------------------------------- # Alphas, Neutrons, Photons, Coolant Pumping, Total 1st Wall - first_wall = [palpfwmw, pnucfw, pradfw, htpmwfw, -pthermfw] + first_wall = [palpfwmw, p_fw_nuclear_mw, pradfw, htpmwfw, -pthermfw] sankey.add( flows=first_wall, orientations=[0, -1, 1, -1, 0], @@ -512,7 +512,7 @@ def plot_sankey(mfilename="MFILE.DAT"): # Plot simplified power flow Sankey Dia pnucdiv = m_file.data["pnucdiv"].get_scan( -1 ) # nuclear heating in the divertor (MW) - pnucfw = m_file.data["pnucfw"].get_scan( + p_fw_nuclear_mw = m_file.data["p_fw_nuclear_mw"].get_scan( -1 ) # nuclear heating in the first wall (MW) pnucblkt = m_file.data["pnucblkt"].get_scan( @@ -541,7 +541,7 @@ def plot_sankey(mfilename="MFILE.DAT"): # Plot simplified power flow Sankey Dia # Power deposited on divertor (MW) totaldivetc = pdivt + pnucdiv + praddiv # Power deposited on Blanket (MW) - totalblktetc = pnucfw + pnucblkt + pnucshld + pradfw + palpfwmw - emultmw + totalblktetc = p_fw_nuclear_mw + pnucblkt + pnucshld + pradfw + palpfwmw - emultmw if itart == 0: # Power deposited in CP (MW) (None here) diff --git a/process/power.py b/process/power.py index a101fa83f5..956156d259 100644 --- a/process/power.py +++ b/process/power.py @@ -623,7 +623,7 @@ def power1(self): if fwbs_variables.icooldual == 2: self.pthermfw_blkt = ( self.pthermblkt_liq - + fwbs_variables.pnucfw + + fwbs_variables.p_fw_nuclear_mw + fwbs_variables.pradfw + (fwbs_variables.pnucblkt * (1 - fwbs_variables.f_nuc_pow_bz_liq)) + primary_pumping_variables.htpmw_fw_blkt @@ -634,7 +634,7 @@ def power1(self): elif fwbs_variables.icooldual == 1: self.pthermfw_blkt = ( self.pthermblkt_liq - + fwbs_variables.pnucfw + + fwbs_variables.p_fw_nuclear_mw + fwbs_variables.pradfw + fwbs_variables.pnucblkt + primary_pumping_variables.htpmw_fw_blkt @@ -644,7 +644,7 @@ def power1(self): ) else: self.pthermfw_blkt = ( - fwbs_variables.pnucfw + fwbs_variables.p_fw_nuclear_mw + fwbs_variables.pradfw + fwbs_variables.pnucblkt + primary_pumping_variables.htpmw_fw_blkt @@ -656,7 +656,7 @@ def power1(self): elif fwbs_variables.primary_pumping == 3: # First wall and blanket coolant combined self.pthermfw_blkt = ( - fwbs_variables.pnucfw + fwbs_variables.p_fw_nuclear_mw + fwbs_variables.pradfw + fwbs_variables.pnucblkt + primary_pumping_variables.htpmw_fw_blkt @@ -668,7 +668,7 @@ def power1(self): else: # Total power deposited in first wall coolant (MW) self.pthermfw = ( - fwbs_variables.pnucfw + fwbs_variables.p_fw_nuclear_mw + fwbs_variables.pradfw + heat_transport_variables.htpmw_fw + current_drive_variables.porbitlossmw @@ -1316,14 +1316,16 @@ def power2(self, output: bool): po.write(self.outfile, "thermal power (MW) thermal power (MW) (MW)") po.write(self.outfile, "First wall:") - po.dblcol(self.outfile, "pnucfw", 0.0e0, fwbs_variables.pnucfw) + po.dblcol( + self.outfile, "p_fw_nuclear_mw", 0.0e0, fwbs_variables.p_fw_nuclear_mw + ) po.dblcol(self.outfile, "palpfwmw", 0.0e0, physics_variables.palpfwmw) po.dblcol(self.outfile, "pradfw", 0.0e0, fwbs_variables.pradfw) po.dblcol(self.outfile, "htpmw_fw", 0.0e0, heat_transport_variables.htpmw_fw) primsum = ( primsum - + fwbs_variables.pnucfw + + fwbs_variables.p_fw_nuclear_mw + physics_variables.palpfwmw + fwbs_variables.pradfw + heat_transport_variables.htpmw_fw diff --git a/process/stellarator.py b/process/stellarator.py index 7eb42add5b..0adae83f69 100644 --- a/process/stellarator.py +++ b/process/stellarator.py @@ -1198,7 +1198,7 @@ def stfwbs(self, output: bool): fwbs_variables.pnuchcd = ( physics_variables.neutron_power_total * fwbs_variables.fhcd ) - fwbs_variables.pnucfw = ( + fwbs_variables.p_fw_nuclear_mw = ( physics_variables.neutron_power_total - fwbs_variables.pnucdiv - fwbs_variables.pnucloss @@ -1222,7 +1222,7 @@ def stfwbs(self, output: bool): ) heat_transport_variables.htpmw_fw = heat_transport_variables.fpumpfw * ( - fwbs_variables.pnucfw + fwbs_variables.p_fw_nuclear_mw + fwbs_variables.pradfw + current_drive_variables.porbitlossmw ) @@ -1488,7 +1488,7 @@ def stfwbs(self, output: bool): # Total nuclear heating of first wall (MW) - fwbs_variables.pnucfw = pnucfwi + pnucfwo + fwbs_variables.p_fw_nuclear_mw = pnucfwi + pnucfwo # Total nuclear heating of blanket (MW) diff --git a/source/fortran/fwbs_variables.f90 b/source/fortran/fwbs_variables.f90 index 727fca3115..fdd22f0d0a 100644 --- a/source/fortran/fwbs_variables.f90 +++ b/source/fortran/fwbs_variables.f90 @@ -122,7 +122,7 @@ module fwbs_variables real(dp) :: pnucdiv !! nuclear heating in the divertor [MW] - real(dp) :: pnucfw + real(dp) :: p_fw_nuclear_mw !! nuclear heating in the first wall [MW] real(dp) :: pnuchcd @@ -690,7 +690,7 @@ subroutine init_fwbs_variables li6enrich = 30.0D0 pnucblkt = 0.0D0 pnucdiv = 0.0D0 - pnucfw = 0.0D0 + p_fw_nuclear_mw = 0.0D0 pnuchcd = 0.0D0 pnucloss = 0.0D0 pnucvvplus = 0.0D0 diff --git a/tests/integration/data/large_tokamak_1_MFILE.DAT b/tests/integration/data/large_tokamak_1_MFILE.DAT index 78632d1916..412bf314f1 100644 --- a/tests/integration/data/large_tokamak_1_MFILE.DAT +++ b/tests/integration/data/large_tokamak_1_MFILE.DAT @@ -968,7 +968,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4498E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 7.9388E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 2.5118E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (pnucfw)______________________ 1.6315E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 1.6315E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.2901E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4138E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.4906E+02 OP diff --git a/tests/integration/data/large_tokamak_2_MFILE.DAT b/tests/integration/data/large_tokamak_2_MFILE.DAT index 18a4ea66d2..c94e161963 100644 --- a/tests/integration/data/large_tokamak_2_MFILE.DAT +++ b/tests/integration/data/large_tokamak_2_MFILE.DAT @@ -969,7 +969,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4498E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 7.9388E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 2.5118E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (pnucfw)______________________ 1.6315E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 1.6315E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.2901E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4138E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.4906E+02 OP diff --git a/tests/integration/data/large_tokamak_3_MFILE.DAT b/tests/integration/data/large_tokamak_3_MFILE.DAT index 7d146582e9..567eef37f9 100644 --- a/tests/integration/data/large_tokamak_3_MFILE.DAT +++ b/tests/integration/data/large_tokamak_3_MFILE.DAT @@ -969,7 +969,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4498E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 7.9388E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 2.5118E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (pnucfw)______________________ 1.6315E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 1.6315E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.2901E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4138E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.4906E+02 OP diff --git a/tests/integration/data/large_tokamak_4_MFILE.DAT b/tests/integration/data/large_tokamak_4_MFILE.DAT index 6d1097641a..deeecf2eed 100644 --- a/tests/integration/data/large_tokamak_4_MFILE.DAT +++ b/tests/integration/data/large_tokamak_4_MFILE.DAT @@ -969,7 +969,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4498E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 7.9388E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 2.5118E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (pnucfw)______________________ 1.6315E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 1.6315E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.2901E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4138E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.4906E+02 OP diff --git a/tests/integration/data/large_tokamak_MFILE.DAT b/tests/integration/data/large_tokamak_MFILE.DAT index 6a131f5919..7e3c91309c 100644 --- a/tests/integration/data/large_tokamak_MFILE.DAT +++ b/tests/integration/data/large_tokamak_MFILE.DAT @@ -972,7 +972,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4498E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 7.9388E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 2.5460E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (pnucfw)______________________ 1.6290E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 1.6290E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.2880E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4115E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.4882E+02 OP diff --git a/tests/integration/data/scan_2D_MFILE.DAT b/tests/integration/data/scan_2D_MFILE.DAT index 8b601c553e..e9ae0be043 100644 --- a/tests/integration/data/scan_2D_MFILE.DAT +++ b/tests/integration/data/scan_2D_MFILE.DAT @@ -970,7 +970,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4498E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 7.9388E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 2.3700E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (pnucfw)______________________ 1.6103E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 1.6103E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.2733E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.3954E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.4712E+02 OP @@ -2133,7 +2133,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4498E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 7.9388E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 2.3421E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (pnucfw)______________________ 1.6251E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 1.6251E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.2850E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4082E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.4847E+02 OP @@ -3296,7 +3296,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4498E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 7.9388E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 2.3152E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (pnucfw)______________________ 1.6329E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 1.6329E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.2912E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4150E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.4918E+02 OP @@ -4459,7 +4459,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4498E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 7.9388E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 2.3227E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (pnucfw)______________________ 1.6357E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 1.6357E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.2934E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4174E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.4944E+02 OP @@ -5622,7 +5622,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4498E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 7.9388E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 2.3582E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (pnucfw)______________________ 1.6383E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 1.6383E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.2955E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4196E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.4968E+02 OP @@ -6785,7 +6785,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4498E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 7.9388E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 2.3988E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (pnucfw)______________________ 1.6332E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 1.6332E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.2914E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4152E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.4920E+02 OP @@ -7948,7 +7948,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4498E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 7.9388E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 2.4079E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (pnucfw)______________________ 1.6364E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 1.6364E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.2940E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4180E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.4951E+02 OP @@ -9111,7 +9111,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4498E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 7.9388E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 2.3702E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (pnucfw)______________________ 1.6387E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 1.6387E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.2958E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4200E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.4971E+02 OP @@ -10274,7 +10274,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4498E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 7.9388E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 2.3232E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (pnucfw)______________________ 1.6326E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 1.6326E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.2909E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4147E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.4915E+02 OP @@ -11437,7 +11437,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4498E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 7.9388E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 2.3404E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (pnucfw)______________________ 1.6432E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 1.6432E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.2993E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4239E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.5012E+02 OP @@ -12600,7 +12600,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4498E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 7.9388E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 2.3925E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (pnucfw)______________________ 1.6529E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 1.6529E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.3070E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4323E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.5101E+02 OP @@ -13763,7 +13763,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4498E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 7.9388E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 2.4316E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (pnucfw)______________________ 1.6523E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 1.6523E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.3065E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4317E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.5095E+02 OP @@ -14926,7 +14926,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4498E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 7.9388E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 2.4474E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (pnucfw)______________________ 1.6612E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 1.6612E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.3135E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4394E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.5176E+02 OP @@ -16089,7 +16089,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4498E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 7.9388E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 2.4190E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (pnucfw)______________________ 1.6699E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 1.6699E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.3204E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4470E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.5256E+02 OP @@ -17252,7 +17252,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4498E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 7.9388E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 2.3908E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (pnucfw)______________________ 1.6791E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 1.6791E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.3277E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4550E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.5340E+02 OP diff --git a/tests/integration/data/scan_MFILE.DAT b/tests/integration/data/scan_MFILE.DAT index 5582467e90..30cadf5c7d 100644 --- a/tests/integration/data/scan_MFILE.DAT +++ b/tests/integration/data/scan_MFILE.DAT @@ -798,7 +798,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4235E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 9.5369E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 5.8227E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (pnucfw)______________________ 2.4609E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 2.4609E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.5585E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4885E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.8507E+02 OP @@ -1793,7 +1793,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4235E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 9.5369E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 5.8227E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (pnucfw)______________________ 2.4609E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 2.4609E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.5585E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4885E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.8507E+02 OP @@ -2788,7 +2788,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4235E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 9.5369E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 5.8228E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (pnucfw)______________________ 2.4609E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 2.4609E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.5585E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4885E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.8507E+02 OP @@ -3783,7 +3783,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4235E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 9.5369E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 5.8228E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (pnucfw)______________________ 2.4609E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 2.4609E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.5585E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4885E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.8507E+02 OP @@ -4778,7 +4778,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4235E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 9.5369E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 5.8228E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (pnucfw)______________________ 2.4609E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 2.4609E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.5585E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4885E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.8507E+02 OP @@ -5773,7 +5773,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4235E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 9.5369E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 5.8228E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (pnucfw)______________________ 2.4609E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 2.4609E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.5585E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4885E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.8507E+02 OP @@ -6768,7 +6768,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4235E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 9.5369E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 5.8228E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (pnucfw)______________________ 2.4609E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 2.4609E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.5585E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4885E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.8507E+02 OP @@ -7763,7 +7763,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4235E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 9.5369E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 5.8228E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (pnucfw)______________________ 2.4609E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 2.4609E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.5585E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4885E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.8507E+02 OP @@ -8758,7 +8758,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4235E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 9.5369E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 5.8228E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (pnucfw)______________________ 2.4609E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 2.4609E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.5585E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4885E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.8507E+02 OP diff --git a/tests/integration/ref_dicts.json b/tests/integration/ref_dicts.json index 6d75187b2c..6782f54710 100644 --- a/tests/integration/ref_dicts.json +++ b/tests/integration/ref_dicts.json @@ -3568,7 +3568,7 @@ "pnucblkti": 0.0, "pnucblkto": 0.0, "pnucdiv": 0.0, - "pnucfw": 0.0, + "p_fw_nuclear_mw": 0.0, "pnucfwi": 0.0, "pnucfwo": 0.0, "pnuchcd": 0.0, @@ -10326,7 +10326,7 @@ "pnucblkti": "Neutron power deposited inboard/outboard blanket blanket (MW)", "pnucblkto": "Neutron power deposited inboard/outboard blanket blanket (MW)", "pnucdiv": "nuclear heating in the divertor (MW)", - "pnucfw": "nuclear heating in the first wall (MW)", + "p_fw_nuclear_mw": "nuclear heating in the first wall (MW)", "pnucfwi": "Inboard/outboard first wall nuclear heating (MW)", "pnucfwo": "Inboard/outboard first wall nuclear heating (MW)", "pnuchcd": "nuclear heating in the HCD apparatus and diagnostics (MW)", @@ -18040,7 +18040,7 @@ "pnuc_cp_sh", "pnuc_cp_tf", "pnucdiv", - "pnucfw", + "p_fw_nuclear_mw", "pnuchcd", "pnucloss", "pnucvvplus", diff --git a/tests/unit/data/large_tokamak_MFILE.DAT b/tests/unit/data/large_tokamak_MFILE.DAT index b6dbebdc52..09a3eea122 100644 --- a/tests/unit/data/large_tokamak_MFILE.DAT +++ b/tests/unit/data/large_tokamak_MFILE.DAT @@ -972,7 +972,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4498E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 7.9388E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 2.5460E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (pnucfw)______________________ 1.6290E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 1.6290E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.2880E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4115E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.4882E+02 OP diff --git a/tests/unit/test_ccfe_hcpb.py b/tests/unit/test_ccfe_hcpb.py index 7cef2785d5..e13c52ed71 100644 --- a/tests/unit/test_ccfe_hcpb.py +++ b/tests/unit/test_ccfe_hcpb.py @@ -416,7 +416,7 @@ def test_nuclear_heating_magnets(nuclearheatingmagnetsparam, monkeypatch, ccfe_h class NuclearHeatingFwParam(NamedTuple): - pnucfw: Any = None + p_fw_nuclear_mw: Any = None m_fw_total: Any = None @@ -424,7 +424,7 @@ class NuclearHeatingFwParam(NamedTuple): fw_armour_u_nuc_heating: Any = None - expected_pnucfw: Any = None + expected_p_fw_nuclear_mw: Any = None expected_fw_armour_u_nuc_heating: Any = None @@ -433,19 +433,19 @@ class NuclearHeatingFwParam(NamedTuple): "nuclearheatingfwparam", ( NuclearHeatingFwParam( - pnucfw=0, + p_fw_nuclear_mw=0, m_fw_total=224802.80270851994, fusion_power=1986.0623241661431, fw_armour_u_nuc_heating=0, - expected_pnucfw=279.04523551646628, + expected_p_fw_nuclear_mw=279.04523551646628, expected_fw_armour_u_nuc_heating=6.2500000000000005e-07, ), NuclearHeatingFwParam( - pnucfw=276.80690153753221, + p_fw_nuclear_mw=276.80690153753221, m_fw_total=182115.83467868491, fusion_power=1985.4423932312809, fw_armour_u_nuc_heating=6.2500000000000005e-07, - expected_pnucfw=225.98781165610032, + expected_p_fw_nuclear_mw=225.98781165610032, expected_fw_armour_u_nuc_heating=6.2500000000000005e-07, ), ), @@ -463,7 +463,9 @@ def test_nuclear_heating_fw(nuclearheatingfwparam, monkeypatch, ccfe_hcpb): :type monkeypatch: _pytest.monkeypatch.monkeypatch """ - monkeypatch.setattr(fwbs_variables, "pnucfw", nuclearheatingfwparam.pnucfw) + monkeypatch.setattr( + fwbs_variables, "p_fw_nuclear_mw", nuclearheatingfwparam.p_fw_nuclear_mw + ) monkeypatch.setattr(fwbs_variables, "m_fw_total", nuclearheatingfwparam.m_fw_total) @@ -479,7 +481,9 @@ def test_nuclear_heating_fw(nuclearheatingfwparam, monkeypatch, ccfe_hcpb): ccfe_hcpb.nuclear_heating_fw() - assert fwbs_variables.pnucfw == pytest.approx(nuclearheatingfwparam.expected_pnucfw) + assert fwbs_variables.p_fw_nuclear_mw == pytest.approx( + nuclearheatingfwparam.expected_p_fw_nuclear_mw + ) assert ccfe_hcpb_module.fw_armour_u_nuc_heating == pytest.approx( nuclearheatingfwparam.expected_fw_armour_u_nuc_heating @@ -798,7 +802,7 @@ class PowerflowCalcParam(NamedTuple): primary_pumping: Any = None - pnucfw: Any = None + p_fw_nuclear_mw: Any = None pnucblkt: Any = None @@ -885,7 +889,7 @@ class PowerflowCalcParam(NamedTuple): outlet_temp=823, blpressure=15500000, primary_pumping=3, - pnucfw=276.80690153753221, + p_fw_nuclear_mw=276.80690153753221, pnucblkt=1504.9215740808861, pnucdiv=182.71773382328519, pnucshld=1.3611259588044891, @@ -934,7 +938,7 @@ class PowerflowCalcParam(NamedTuple): outlet_temp=823, blpressure=15500000, primary_pumping=3, - pnucfw=230.98304919926957, + p_fw_nuclear_mw=230.98304919926957, pnucblkt=1550.1447895848396, pnucdiv=182.66070017727785, pnucshld=1.4038170956592293, @@ -1015,7 +1019,9 @@ def test_powerflow_calc(powerflowcalcparam, monkeypatch, ccfe_hcpb): fwbs_variables, "primary_pumping", powerflowcalcparam.primary_pumping ) - monkeypatch.setattr(fwbs_variables, "pnucfw", powerflowcalcparam.pnucfw) + monkeypatch.setattr( + fwbs_variables, "p_fw_nuclear_mw", powerflowcalcparam.p_fw_nuclear_mw + ) monkeypatch.setattr(fwbs_variables, "pnucblkt", powerflowcalcparam.pnucblkt) diff --git a/tests/unit/test_dcll.py b/tests/unit/test_dcll.py index 7f6f782d7c..99be14e5c6 100644 --- a/tests/unit/test_dcll.py +++ b/tests/unit/test_dcll.py @@ -47,7 +47,7 @@ class DcllNeutronicsAndPowerParam(NamedTuple): pradfw: Any = None - pnucfw: Any = None + p_fw_nuclear_mw: Any = None psurffwi: Any = None @@ -79,7 +79,7 @@ class DcllNeutronicsAndPowerParam(NamedTuple): expected_pradfw: Any = None - expected_pnucfw: Any = None + expected_p_fw_nuclear_mw: Any = None expected_pnucblkt: Any = None @@ -101,7 +101,7 @@ class DcllNeutronicsAndPowerParam(NamedTuple): pnuchcd=0, pnucshld=0, pradfw=0, - pnucfw=0, + p_fw_nuclear_mw=0, psurffwi=0, psurffwo=0, pnucblkt=0, @@ -117,7 +117,7 @@ class DcllNeutronicsAndPowerParam(NamedTuple): expected_praddiv=33.056596978820579, expected_pnucdiv=182.58994516305046, expected_pradfw=254.39207240222791, - expected_pnucfw=196.72081918001697, + expected_p_fw_nuclear_mw=196.72081918001697, expected_pnucblkt=1533.4949914565693, expected_emultmw=325.06710220789364, ), @@ -133,7 +133,7 @@ class DcllNeutronicsAndPowerParam(NamedTuple): pnuchcd=0, pnucshld=0, pradfw=254.39207240222791, - pnucfw=196.72081918001697, + p_fw_nuclear_mw=196.72081918001697, psurffwi=97.271629070225231, psurffwo=176.95628839065773, pnucblkt=1533.4949914565693, @@ -149,7 +149,7 @@ class DcllNeutronicsAndPowerParam(NamedTuple): expected_praddiv=33.056596978820579, expected_pnucdiv=182.53295140508826, expected_pradfw=254.39207240222791, - expected_pnucfw=196.65941460078642, + expected_p_fw_nuclear_mw=196.65941460078642, expected_pnucblkt=1533.0163252173013, expected_emultmw=324.96563552675644, ), @@ -200,7 +200,9 @@ def test_dcll_neutronics_and_power(dcllneutronicsandpowerparam, monkeypatch, dcl monkeypatch.setattr(fwbs_variables, "pradfw", dcllneutronicsandpowerparam.pradfw) - monkeypatch.setattr(fwbs_variables, "pnucfw", dcllneutronicsandpowerparam.pnucfw) + monkeypatch.setattr( + fwbs_variables, "p_fw_nuclear_mw", dcllneutronicsandpowerparam.p_fw_nuclear_mw + ) monkeypatch.setattr( fwbs_variables, "psurffwi", dcllneutronicsandpowerparam.psurffwi @@ -264,8 +266,8 @@ def test_dcll_neutronics_and_power(dcllneutronicsandpowerparam, monkeypatch, dcl dcllneutronicsandpowerparam.expected_pradfw ) - assert fwbs_variables.pnucfw == pytest.approx( - dcllneutronicsandpowerparam.expected_pnucfw + assert fwbs_variables.p_fw_nuclear_mw == pytest.approx( + dcllneutronicsandpowerparam.expected_p_fw_nuclear_mw ) assert fwbs_variables.pnucblkt == pytest.approx( diff --git a/tests/unit/test_power.py b/tests/unit/test_power.py index 8e4ad74d29..af22f310a7 100644 --- a/tests/unit/test_power.py +++ b/tests/unit/test_power.py @@ -2051,7 +2051,7 @@ class Power2Param(NamedTuple): pradhcd: Any = None - pnucfw: Any = None + p_fw_nuclear_mw: Any = None htpmw_shld: Any = None @@ -2234,7 +2234,7 @@ class Power2Param(NamedTuple): pnuchcd=0, pnucshld=1.3609360176065353, pradhcd=0, - pnucfw=276.76827393356979, + p_fw_nuclear_mw=276.76827393356979, htpmw_shld=0.0068046800880326762, htpmw_blkt=0, psecshld=0, @@ -2336,7 +2336,7 @@ class Power2Param(NamedTuple): pnuchcd=0, pnucshld=1.4036212304705389, pradhcd=0, - pnucfw=230.95082168283884, + p_fw_nuclear_mw=230.95082168283884, htpmw_shld=0.0070181061523526943, htpmw_blkt=0, psecshld=0, @@ -2474,7 +2474,7 @@ def test_power2(power2param, monkeypatch, power): monkeypatch.setattr(fwbs_variables, "pradhcd", power2param.pradhcd) - monkeypatch.setattr(fwbs_variables, "pnucfw", power2param.pnucfw) + monkeypatch.setattr(fwbs_variables, "p_fw_nuclear_mw", power2param.p_fw_nuclear_mw) monkeypatch.setattr(heat_transport_variables, "htpmw_shld", power2param.htpmw_shld) From 1ba4c6ece2c75282d605466b1f6ed632c34166ed Mon Sep 17 00:00:00 2001 From: mn3981 Date: Mon, 17 Feb 2025 10:41:27 +0000 Subject: [PATCH 24/34] =?UTF-8?q?=F0=9F=94=84=20Rename=20`fw=5Fchannel=5Fl?= =?UTF-8?q?ength`=20to=20`len=5Ffw=5Fchannel`=20for=20clarity=20and=20cons?= =?UTF-8?q?istency=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 +- ...conversion-and-heat-dissipation-systems.md | 2 +- process/blanket_library.py | 10 ++++---- process/fw.py | 6 ++--- source/fortran/fwbs_variables.f90 | 4 ++-- source/fortran/input.f90 | 6 ++--- source/fortran/iteration_variables.f90 | 12 +++++----- source/fortran/numerics.f90 | 2 +- tests/integration/ref_dicts.json | 24 +++++++++---------- .../input_files/st_regression.IN.DAT | 2 +- tests/unit/test_fw.py | 10 ++++---- 11 files changed, 39 insertions(+), 41 deletions(-) diff --git a/documentation/proc-pages/eng-models/fw-blanket.md b/documentation/proc-pages/eng-models/fw-blanket.md index ce06c0754d..4ff70ba9e6 100644 --- a/documentation/proc-pages/eng-models/fw-blanket.md +++ b/documentation/proc-pages/eng-models/fw-blanket.md @@ -75,7 +75,7 @@ Summary of key variables and switches: | | First Wall | Breeding Blanket Primary | Liquid Breeder/Coolant | | :----------------------: | :---------------------: | ------------------------ | ------------------------------------ | | Coolant Channels | :-----------: | ------------------------ | -------------------------- | -| length (m) | `fw_channel_length` | --- | --- | +| length (m) | `len_fw_channel` | --- | --- | | 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` | | dx_fw_module (m) | `dx_fw_module` | --- | --- | diff --git a/documentation/proc-pages/eng-models/power-conversion-and-heat-dissipation-systems.md b/documentation/proc-pages/eng-models/power-conversion-and-heat-dissipation-systems.md index b60d307f2c..8e5aaac324 100644 --- a/documentation/proc-pages/eng-models/power-conversion-and-heat-dissipation-systems.md +++ b/documentation/proc-pages/eng-models/power-conversion-and-heat-dissipation-systems.md @@ -49,7 +49,7 @@ for the primary coolant. the coolant channel diameter, and the segmentation of the blanket are used. The peak temperature in the first wall material (underneath the armour) is derived. The user can apply an upper limit to this temperature, and if this constraint is used then it is strongly recommended to set the - length of the first wall pipe (`fw_channel_length`) as an iteration variable. The Gnielinski + length of the first wall pipe (`len_fw_channel`) as an iteration variable. The Gnielinski correlation is used to determine the heat transfer in the channel. The stresses in the first wall are currently taken into account. - The mechanical pumping power required for the first wall and breeder zone is calculated using diff --git a/process/blanket_library.py b/process/blanket_library.py index 27afb7fabf..7c277e70fa 100644 --- a/process/blanket_library.py +++ b/process/blanket_library.py @@ -757,10 +757,10 @@ def thermo_hydraulic_model_pressure_drop_calculations(self, output: bool): # 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.dx_fw_module + fwbs_variables.len_fw_channel * fwbs_variables.dx_fw_module ) blanket_library.npfwo = build_variables.a_fw_outboard / ( - fwbs_variables.fw_channel_length * fwbs_variables.dx_fw_module + fwbs_variables.len_fw_channel * fwbs_variables.dx_fw_module ) # Mass flow rate per FW coolant pipe (kg/s): @@ -996,7 +996,7 @@ def thermo_hydraulic_model_pressure_drop_calculations(self, output: bool): output, icoolpump=1, flow_velocity=velfwi, - flleng=fwbs_variables.fw_channel_length, + flleng=fwbs_variables.len_fw_channel, no90=no90fw, no180=no180fw, coolant_density=fwbs_variables.rhof_fw, @@ -1011,7 +1011,7 @@ def thermo_hydraulic_model_pressure_drop_calculations(self, output: bool): output, icoolpump=1, flow_velocity=velfwo, - flleng=fwbs_variables.fw_channel_length, + flleng=fwbs_variables.len_fw_channel, no90=no90fw, no180=no180fw, coolant_density=fwbs_variables.rhof_fw, @@ -1521,7 +1521,7 @@ def thermo_hydraulic_model(self, output: bool): Coolant Channels FW BB primary BB Liquid Breeder/Coolant - length (m) fw_channel_length + length (m) len_fw_channel 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 dx_fw_module (m) dx_fw_module diff --git a/process/fw.py b/process/fw.py index 80b81ab714..f4fa68c01c 100644 --- a/process/fw.py +++ b/process/fw.py @@ -106,7 +106,7 @@ def fw_temp( # Coolant mass flow rate (kg/s) (use mean properties) mflow_fw_coolant = ( - fwbs_variables.fw_channel_length + fwbs_variables.len_fw_channel * load / heatcap_fw_coolant_average / (fwbs_variables.temp_fw_coolant_out - fwbs_variables.temp_fw_coolant_in) @@ -247,8 +247,8 @@ def fw_temp( po.ovarre( self.outfile, "Vertical length of a single coolant channel (all in parallel) (m)", - "(fw_channel_length)", - fwbs_variables.fw_channel_length, + "(len_fw_channel)", + fwbs_variables.len_fw_channel, ) po.ovarre( self.outfile, diff --git a/source/fortran/fwbs_variables.f90 b/source/fortran/fwbs_variables.f90 index fdd22f0d0a..f6234ea56b 100644 --- a/source/fortran/fwbs_variables.f90 +++ b/source/fortran/fwbs_variables.f90 @@ -339,7 +339,7 @@ module fwbs_variables real(dp) :: roughness !! first wall channel roughness epsilon [m] - real(dp) :: fw_channel_length + real(dp) :: len_fw_channel !! Length of a single first wall channel (all in parallel) [m] !! (`iteration variable 114`, useful for `constraint equation 39`) @@ -748,7 +748,7 @@ subroutine init_fwbs_variables pres_fw_coolant = 15.5D6 tpeak = 873.0D0 roughness = 1.0D-6 - fw_channel_length = 4.0D0 + len_fw_channel = 4.0D0 peaking_factor = 1.0D0 blpressure = 15.50D6 inlet_temp = 573.0D0 diff --git a/source/fortran/input.f90 b/source/fortran/input.f90 index ab57ef14b8..7b14ef9d75 100644 --- a/source/fortran/input.f90 +++ b/source/fortran/input.f90 @@ -277,7 +277,7 @@ subroutine parse_input_file(in_file,out_file,show_changes) 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, & + fhole, fwbsshape, coolp, tfwmatmax, irefprop, len_fw_channel, & li6enrich, etaiso, nblktmodto, fvoldw, i_shield_mat, i_bb_liq, & icooldual, ifci, inlet_temp_liq, outlet_temp_liq, bz_channel_conduct_liq, ipump, ims, & coolwh, emult @@ -1949,8 +1949,8 @@ subroutine parse_input_file(in_file,out_file,show_changes) case ('roughness') call parse_real_variable('roughness', roughness, 0.0d0, 1.0D-2, & 'first wall channel roughness epsilon') - case ('fw_channel_length') - call parse_real_variable('fw_channel_length', fw_channel_length, 1.0D-3, 1.0D3, & + case ('len_fw_channel') + call parse_real_variable('len_fw_channel', len_fw_channel, 1.0D-3, 1.0D3, & 'first wall channel length') case ('peaking_factor') call parse_real_variable('peaking_factor', peaking_factor, 1.0d0, 100.0D0, & diff --git a/source/fortran/iteration_variables.f90 b/source/fortran/iteration_variables.f90 index 4ec866b6c4..4a2b3f17e7 100755 --- a/source/fortran/iteration_variables.f90 +++ b/source/fortran/iteration_variables.f90 @@ -2485,25 +2485,25 @@ end subroutine set_itv_113 !--------------------------------- subroutine init_itv_114 - !!
      • (114) fw_channel_length: Length of a single first wall channel + !!
      • (114) len_fw_channel: Length of a single first wall channel use numerics, only: lablxc, boundl, boundu implicit none - lablxc(114) = 'fw_channel_length ' + lablxc(114) = 'len_fw_channel ' boundl(114) = 0.001D0 boundu(114) = 1.000D3 end subroutine init_itv_114 real(kind(1.d0)) function itv_114() - use fwbs_variables, only: fw_channel_length + use fwbs_variables, only: len_fw_channel implicit none - itv_114 = fw_channel_length + itv_114 = len_fw_channel end function itv_114 subroutine set_itv_114(ratio) - use fwbs_variables, only: fw_channel_length + use fwbs_variables, only: len_fw_channel implicit none real(kind(1.d0)) :: ratio - fw_channel_length = ratio + len_fw_channel = ratio end subroutine set_itv_114 !--------------------------------- diff --git a/source/fortran/numerics.f90 b/source/fortran/numerics.f90 index 49cb910675..22e3ae219a 100755 --- a/source/fortran/numerics.f90 +++ b/source/fortran/numerics.f90 @@ -315,7 +315,7 @@ module numerics !!
      • (111) fniterpump: f-value for constraint that number !!
      • (112) fzeffmax: f-value for max Zeff (f-value for equation 64) !!
      • (113) ftaucq: f-value for minimum quench time (f-value for equation 65) - !!
      • (114) fw_channel_length: Length of a single first wall channel + !!
      • (114) len_fw_channel: Length of a single first wall channel !!
      • (115) fpoloidalpower: f-value for max rate of change of !!
      • (116) fradwall: f-value for radiation wall load limit (eq. 67) !!
      • (117) fpsepbqar: f-value for Psep*Bt/qar upper limit (eq. 68) diff --git a/tests/integration/ref_dicts.json b/tests/integration/ref_dicts.json index 6782f54710..692e5c42cc 100644 --- a/tests/integration/ref_dicts.json +++ b/tests/integration/ref_dicts.json @@ -2066,7 +2066,7 @@ "fw_armour_thickness": 0.005, "fw_armour_u_nuc_heating": 0.0, "fw_armour_vol": 0.0, - "fw_channel_length": 4.0, + "len_fw_channel": 4.0, "fw_density": 0.0, "fw_th_conductivity": 28.34, "dr_fw_wall": 0.003, @@ -9658,7 +9658,7 @@ "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)", "fw_armour_vol": "first wall armour volume (m3)", - "fw_channel_length": "Length of a single first wall channel (all in parallel) (m)\n (`iteration variable 114`, useful for `constraint equation 39`)", + "len_fw_channel": "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)", "dr_fw_wall": "wall thickness of first wall coolant channels (m)", @@ -9956,8 +9956,8 @@ "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 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) temp_cp_average\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) fl_h_threshold (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) temp_cp_average\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) fl_h_threshold (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) tdwell\n
            • (18) q\n
            • (19) beam_energy\n
            • (20) temp_cp_average\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) fl_h_threshold (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) len_fw_channel: 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) temp_cp_average\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) fl_h_threshold (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) len_fw_channel: 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", "lambda_EU": "Decay length in EUROFER [cm]", "lambda_He_VV": "Decay length [cm]", "lambda_n_BZ_IB": "Decay length in IB BZ [cm]", @@ -12989,7 +12989,7 @@ "lb": 0.0, "ub": 1.0 }, - "fw_channel_length": { + "len_fw_channel": { "lb": 0.001, "ub": 1000.0 }, @@ -15530,7 +15530,7 @@ "lb": 0.001, "ub": 1.0 }, - "fw_channel_length": { + "len_fw_channel": { "lb": 0.001, "ub": 1000.0 }, @@ -15808,7 +15808,7 @@ "fvsbrnni": 1.0, "fvssu": 1.0, "fvvhe": 1.0, - "fw_channel_length": 4.0, + "len_fw_channel": 4.0, "fwalld": 1.0, "fzactual": 0.001, "fzeffmax": 1.0, @@ -15927,7 +15927,7 @@ }, "114": { "lb": 0.001, - "name": "fw_channel_length", + "name": "len_fw_channel", "ub": 1000.0 }, "115": { @@ -16666,7 +16666,7 @@ "111": "fniterpump", "112": "fzeffmax", "113": "ftaucq", - "114": "fw_channel_length", + "114": "len_fw_channel", "115": "fpoloidalpower", "116": "fradwall", "117": "fpsepbqar", @@ -16921,7 +16921,7 @@ "fvsbrnni": "44", "fvssu": "157", "fvvhe": "96", - "fw_channel_length": "114", + "len_fw_channel": "114", "fwalld": "14", "fzactual": "148", "fzeffmax": "112", @@ -18091,7 +18091,7 @@ "pres_fw_coolant", "tpeak", "roughness", - "fw_channel_length", + "len_fw_channel", "peaking_factor", "blpressure", "inlet_temp", @@ -20356,7 +20356,7 @@ "fvssu": "real_variable", "fvvhe": "real_variable", "fw_armour_thickness": "real_variable", - "fw_channel_length": "real_variable", + "len_fw_channel": "real_variable", "fw_th_conductivity": "real_variable", "dr_fw_wall": "real_variable", "fwalld": "real_variable", diff --git a/tests/regression/input_files/st_regression.IN.DAT b/tests/regression/input_files/st_regression.IN.DAT index 18dd4ba4f5..f8be3920e0 100644 --- a/tests/regression/input_files/st_regression.IN.DAT +++ b/tests/regression/input_files/st_regression.IN.DAT @@ -2348,7 +2348,7 @@ i_fw_coolant_type = helium * JUSTIFICATION: Not yet set. *ixc = 114 -*fw_channel_length = +*len_fw_channel = *boundl(114) = *boundu(114) = * DESCRIPTION: Length of a single first wall channel (all in parallel) [m] (default = 4.0) diff --git a/tests/unit/test_fw.py b/tests/unit/test_fw.py index 66ce6a15a3..de6ba6d9b7 100644 --- a/tests/unit/test_fw.py +++ b/tests/unit/test_fw.py @@ -29,7 +29,7 @@ class FwTempParam(NamedTuple): dx_fw_module: Any = None - fw_channel_length: Any = None + len_fw_channel: Any = None tpeak: Any = None @@ -68,7 +68,7 @@ class FwTempParam(NamedTuple): pres_fw_coolant=8000000, temp_fw_coolant_out=773, dx_fw_module=0.005000000000000001, - fw_channel_length=4, + len_fw_channel=4, tpeak=873, peaking_factor=1, dr_fw_wall=0.0030000000000000001, @@ -90,7 +90,7 @@ class FwTempParam(NamedTuple): pres_fw_coolant=8000000, temp_fw_coolant_out=773, dx_fw_module=0.005000000000000001, - fw_channel_length=4, + len_fw_channel=4, tpeak=873, peaking_factor=1, dr_fw_wall=0.0030000000000000001, @@ -139,9 +139,7 @@ def test_fw_temp(fwtempparam, monkeypatch, fw): monkeypatch.setattr(fwbs_variables, "dx_fw_module", fwtempparam.dx_fw_module) - monkeypatch.setattr( - fwbs_variables, "fw_channel_length", fwtempparam.fw_channel_length - ) + monkeypatch.setattr(fwbs_variables, "len_fw_channel", fwtempparam.len_fw_channel) monkeypatch.setattr(fwbs_variables, "tpeak", fwtempparam.tpeak) From 81bc55aed102b6736cea4a3ac7c988da7be462b4 Mon Sep 17 00:00:00 2001 From: mn3981 Date: Mon, 17 Feb 2025 10:42:43 +0000 Subject: [PATCH 25/34] =?UTF-8?q?=F0=9F=94=84=20Rename=20`tpeak`=20to=20`t?= =?UTF-8?q?emp=5Ffw=5Fpeak`=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 --- documentation/proc-pages/eng-models/fw-blanket.md | 2 +- process/blanket_library.py | 10 ++++++---- process/fw.py | 4 ++-- process/utilities/errorlist.json | 2 +- source/fortran/constraint_equations.f90 | 10 +++++----- source/fortran/fwbs_variables.f90 | 4 ++-- source/fortran/scan.f90 | 4 ++-- tests/integration/ref_dicts.json | 6 +++--- tests/regression/input_files/st_regression.IN.DAT | 2 +- tests/unit/test_fw.py | 8 ++++---- 10 files changed, 27 insertions(+), 25 deletions(-) diff --git a/documentation/proc-pages/eng-models/fw-blanket.md b/documentation/proc-pages/eng-models/fw-blanket.md index 4ff70ba9e6..21fef7d093 100644 --- a/documentation/proc-pages/eng-models/fw-blanket.md +++ b/documentation/proc-pages/eng-models/fw-blanket.md @@ -80,7 +80,7 @@ Summary of key variables and switches: | wall thickness (m) | `dr_fw_wall` | dr_fw_wall | `th_wall_secondary` | | dx_fw_module (m) | `dx_fw_module` | --- | --- | | roughness epsilon | `roughness` | --- | --- | -| peak FW temp (K) | `tpeak` | --- | --- | +| peak FW temp (K) | `temp_fw_peak` | --- | --- | | maximum temp (K) | `tfwmatmax` | --- | --- | | FCI switch | --- | --- | `ifci` | | Coolant | :-----------: | ------------------------ | -------------------------- | diff --git a/process/blanket_library.py b/process/blanket_library.py index 7c277e70fa..a98dac07a9 100644 --- a/process/blanket_library.py +++ b/process/blanket_library.py @@ -1526,7 +1526,7 @@ def thermo_hydraulic_model(self, output: bool): wall thickness (m) dr_fw_wall dr_fw_wall th_wall_secondary dx_fw_module (m) dx_fw_module roughness epsilon roughness - peak FW temp (K) tpeak + peak FW temp (K) temp_fw_peak maximum temp (K) tfwmatmax FCI switch --- --- ifci @@ -1698,7 +1698,9 @@ def thermo_hydraulic_model(self, output: bool): # ) # Peak first wall temperature (K) - fwbs_variables.tpeak = max(blanket_library.tpeakfwi, blanket_library.tpeakfwo) + fwbs_variables.temp_fw_peak = max( + blanket_library.tpeakfwi, blanket_library.tpeakfwo + ) # Total mass flow rate to remove inboard FW power (kg/s) blanket_library.mffwi = ( @@ -2019,8 +2021,8 @@ def thermo_hydraulic_model(self, output: bool): po.ovarrf( self.outfile, "Actual peak temperature of first wall material (K)", - "(tpeak)", - fwbs_variables.tpeak, + "(temp_fw_peak)", + fwbs_variables.temp_fw_peak, "OP ", ) diff --git a/process/fw.py b/process/fw.py index f4fa68c01c..d62d6e7470 100644 --- a/process/fw.py +++ b/process/fw.py @@ -121,10 +121,10 @@ def fw_temp( # 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' + # Mean temperature of the wall material on the plasma side of the coolant 'temp_fw_peak' # 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 + temp_k = (fwbs_variables.temp_fw_coolant_out + fwbs_variables.temp_fw_peak) / 2 # Print debug info if temperature too low/high or NaN/Inf if np.isnan(temp_k): diff --git a/process/utilities/errorlist.json b/process/utilities/errorlist.json index d759be4b33..016a086fdd 100644 --- a/process/utilities/errorlist.json +++ b/process/utilities/errorlist.json @@ -33,7 +33,7 @@ { "no": 5, "level": 3, - "message": "CONSTRAINTS: tpeak = 0 ==> i_pulsed_plant=0; do not use constraint 39 if i_pulsed_plant=0" + "message": "CONSTRAINTS: temp_fw_peak = 0 ==> i_pulsed_plant=0; do not use constraint 39 if i_pulsed_plant=0" }, { "no": 6, diff --git a/source/fortran/constraint_equations.f90 b/source/fortran/constraint_equations.f90 index fceb752ace..093ebe21f2 100755 --- a/source/fortran/constraint_equations.f90 +++ b/source/fortran/constraint_equations.f90 @@ -1757,9 +1757,9 @@ subroutine constraint_eqn_039(tmp_cc, tmp_con, tmp_err, tmp_symbol, tmp_units) !! Logic change during pre-factoring: err, symbol, units will be assigned only if present. !! ftpeak : input real : f-value for first wall peak temperature !! tfwmatmax : input real : maximum temperature of first wall material (K) (secondary_cycle>1) - !! tpeak : input real : peak first wall temperature (K) + !! temp_fw_peak : input real : peak first wall temperature (K) use constraint_variables, only: ftpeak - use fwbs_variables, only: tfwmatmax, tpeak + use fwbs_variables, only: tfwmatmax, temp_fw_peak implicit none real(dp), intent(out) :: tmp_cc real(dp), intent(out) :: tmp_con @@ -1768,10 +1768,10 @@ subroutine constraint_eqn_039(tmp_cc, tmp_con, tmp_err, tmp_symbol, tmp_units) character(len=10), intent(out) :: tmp_units ! If the temperature peak == 0 then report an error - if (tpeak < 1.0D0) call report_error(5) - tmp_cc = 1.0D0 - ftpeak * tfwmatmax/tpeak + if (temp_fw_peak < 1.0D0) call report_error(5) + tmp_cc = 1.0D0 - ftpeak * tfwmatmax/temp_fw_peak tmp_con = tfwmatmax * (1.0D0 - tmp_cc) - tmp_err = tpeak * tmp_cc + tmp_err = temp_fw_peak * tmp_cc tmp_symbol = '<' tmp_units = 'K' diff --git a/source/fortran/fwbs_variables.f90 b/source/fortran/fwbs_variables.f90 index f6234ea56b..6ca72a7a73 100644 --- a/source/fortran/fwbs_variables.f90 +++ b/source/fortran/fwbs_variables.f90 @@ -333,7 +333,7 @@ module fwbs_variables real(dp) :: pres_fw_coolant !! first wall coolant pressure [Pa] (`secondary_cycle>1`) - real(dp) :: tpeak + real(dp) :: temp_fw_peak !! peak first wall temperature [K] real(dp) :: roughness @@ -746,7 +746,7 @@ subroutine init_fwbs_variables temp_fw_coolant_in = 573.0D0 temp_fw_coolant_out = 823.0D0 pres_fw_coolant = 15.5D6 - tpeak = 873.0D0 + temp_fw_peak = 873.0D0 roughness = 1.0D-6 len_fw_channel = 4.0D0 peaking_factor = 1.0D0 diff --git a/source/fortran/scan.f90 b/source/fortran/scan.f90 index 3f081694bc..d9fdbba892 100644 --- a/source/fortran/scan.f90 +++ b/source/fortran/scan.f90 @@ -194,7 +194,7 @@ subroutine scan_1d_store_output(iscan, ifail, noutvars_, ipnscns_, outvar) use tfcoil_variables, only: tfareain, wwp2, sig_tf_wp, tfcmw, tcpmax, oacdcp, & tfcpmw, fcutfsu, acond, fcoolcp, rcool, whttf, ppump, vcool, wwp1, n_tf_coils, & dr_tf_wp, b_crit_upper_nbti - use fwbs_variables, only: tpeak + use fwbs_variables, only: temp_fw_peak use physics_variables, only: q95, aspect, p_plasma_rad_mw, dene, fusion_power, btot, tesep, & pdivt, f_nd_alpha_electron, ten, beta_poloidal, hfac, teped, alpha_power_beams, q95_min, rmajor, wallmw, & beta, beta_max, bt, plasma_current @@ -269,7 +269,7 @@ subroutine scan_1d_store_output(iscan, ifail, noutvars_, ipnscns_, outvar) !outvar(51,iscan) = fimpvar #OBSOLETE outvar(51,iscan) = 0.0d0 outvar(52,iscan) = p_plasma_rad_mw - outvar(53,iscan) = tpeak + outvar(53,iscan) = temp_fw_peak outvar(54,iscan) = fcutfsu outvar(55,iscan) = (wwp1+wwp2)*dr_tf_wp outvar(56,iscan) = acond diff --git a/tests/integration/ref_dicts.json b/tests/integration/ref_dicts.json index 692e5c42cc..639b4dd8dc 100644 --- a/tests/integration/ref_dicts.json +++ b/tests/integration/ref_dicts.json @@ -7627,7 +7627,7 @@ "total_loss_power": 0.0, "e_plasma_beta": 0.0, "totalpowerlost": null, - "tpeak": 873.0, + "temp_fw_peak": 873.0, "tpeakfwi": 0.0, "tpeakfwo": 0.0, "t_pulse_repetition": 0.0, @@ -10858,7 +10858,7 @@ "total_loss_power": "", "e_plasma_beta": "", "totalpowerlost": "Total power lost due to radiation, ionisation and recombination [W]", - "tpeak": "peak first wall temperature (K)", + "temp_fw_peak": "peak first wall temperature (K)", "tpeakfwi": "Inboard/outboard first wall peak temperature (K)", "tpeakfwo": "Inboard/outboard first wall peak temperature (K)", "t_pulse_repetition": "pulse length = t_current_ramp_up + t_fusion_ramp + t_burn + t_ramp_down", @@ -18089,7 +18089,7 @@ "temp_fw_coolant_in", "temp_fw_coolant_out", "pres_fw_coolant", - "tpeak", + "temp_fw_peak", "roughness", "len_fw_channel", "peaking_factor", diff --git a/tests/regression/input_files/st_regression.IN.DAT b/tests/regression/input_files/st_regression.IN.DAT index f8be3920e0..b36061ef1f 100644 --- a/tests/regression/input_files/st_regression.IN.DAT +++ b/tests/regression/input_files/st_regression.IN.DAT @@ -2685,7 +2685,7 @@ boundu(116) = 1.0 *icc = 39 * DESCRIPTION: Constraint equation for first wall temperature upper limit * JUSTIFICATION: Turned off, do not care about FW temperature -* VARIABLES: tpeak (K) calculated in-situ +* VARIABLES: temp_fw_peak (K) calculated in-situ *tfwmatmax = * DESCRIPTION: Maximum temperature of first wall material [K] (`secondary_cycle>1`)(default = 823) diff --git a/tests/unit/test_fw.py b/tests/unit/test_fw.py index de6ba6d9b7..7f71ad1ff2 100644 --- a/tests/unit/test_fw.py +++ b/tests/unit/test_fw.py @@ -31,7 +31,7 @@ class FwTempParam(NamedTuple): len_fw_channel: Any = None - tpeak: Any = None + temp_fw_peak: Any = None peaking_factor: Any = None @@ -69,7 +69,7 @@ class FwTempParam(NamedTuple): temp_fw_coolant_out=773, dx_fw_module=0.005000000000000001, len_fw_channel=4, - tpeak=873, + temp_fw_peak=873, peaking_factor=1, dr_fw_wall=0.0030000000000000001, pnuc_deposited=75.219932653459054, @@ -91,7 +91,7 @@ class FwTempParam(NamedTuple): temp_fw_coolant_out=773, dx_fw_module=0.005000000000000001, len_fw_channel=4, - tpeak=873, + temp_fw_peak=873, peaking_factor=1, dr_fw_wall=0.0030000000000000001, pnuc_deposited=121.50088652655793, @@ -141,7 +141,7 @@ def test_fw_temp(fwtempparam, monkeypatch, fw): monkeypatch.setattr(fwbs_variables, "len_fw_channel", fwtempparam.len_fw_channel) - monkeypatch.setattr(fwbs_variables, "tpeak", fwtempparam.tpeak) + monkeypatch.setattr(fwbs_variables, "temp_fw_peak", fwtempparam.temp_fw_peak) monkeypatch.setattr(fwbs_variables, "peaking_factor", fwtempparam.peaking_factor) From f2a7520f742e574472ff4ce970eb5a8ca9578b34 Mon Sep 17 00:00:00 2001 From: mn3981 Date: Mon, 17 Feb 2025 10:48:59 +0000 Subject: [PATCH 26/34] =?UTF-8?q?=F0=9F=94=84=20Rename=20`tfwmatmax`=20to?= =?UTF-8?q?=20`temp=5Ffw=5Fmax`=20for=20clarity=20and=20consistency=20acro?= =?UTF-8?q?ss=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 +++--- source/fortran/constraint_equations.f90 | 10 +++++----- 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 +- 7 files changed, 20 insertions(+), 20 deletions(-) diff --git a/documentation/proc-pages/eng-models/fw-blanket.md b/documentation/proc-pages/eng-models/fw-blanket.md index 21fef7d093..b676cee0a1 100644 --- a/documentation/proc-pages/eng-models/fw-blanket.md +++ b/documentation/proc-pages/eng-models/fw-blanket.md @@ -81,7 +81,7 @@ Summary of key variables and switches: | dx_fw_module (m) | `dx_fw_module` | --- | --- | | roughness epsilon | `roughness` | --- | --- | | peak FW temp (K) | `temp_fw_peak` | --- | --- | -| maximum temp (K) | `tfwmatmax` | --- | --- | +| maximum temp (K) | `temp_fw_max` | --- | --- | | FCI switch | --- | --- | `ifci` | | Coolant | :-----------: | ------------------------ | -------------------------- | | primary coolant switch | `i_fw_coolant_type` | `coolwh` | --- | diff --git a/process/blanket_library.py b/process/blanket_library.py index a98dac07a9..600d6d1001 100644 --- a/process/blanket_library.py +++ b/process/blanket_library.py @@ -1527,7 +1527,7 @@ def thermo_hydraulic_model(self, output: bool): dx_fw_module (m) dx_fw_module roughness epsilon roughness peak FW temp (K) temp_fw_peak - maximum temp (K) tfwmatmax + maximum temp (K) temp_fw_max FCI switch --- --- ifci Coolant FW BB primary BB secondary @@ -2015,8 +2015,8 @@ def thermo_hydraulic_model(self, output: bool): po.ovarrf( self.outfile, "Allowable temperature of first wall material, excluding armour (K)", - "(tfwmatmax)", - fwbs_variables.tfwmatmax, + "(temp_fw_max)", + fwbs_variables.temp_fw_max, ) po.ovarrf( self.outfile, diff --git a/source/fortran/constraint_equations.f90 b/source/fortran/constraint_equations.f90 index 093ebe21f2..34ea74886f 100755 --- a/source/fortran/constraint_equations.f90 +++ b/source/fortran/constraint_equations.f90 @@ -1752,14 +1752,14 @@ subroutine constraint_eqn_039(tmp_cc, tmp_con, tmp_err, tmp_symbol, tmp_units) !! residual error in physical units; output string; units string !! Equation for first wall temperature upper limit !! #=# fwbs - !! #=#=# ftpeak, tfwmatmax + !! #=#=# ftpeak, temp_fw_max !! and hence also optional here. !! Logic change during pre-factoring: err, symbol, units will be assigned only if present. !! ftpeak : input real : f-value for first wall peak temperature - !! tfwmatmax : input real : maximum temperature of first wall material (K) (secondary_cycle>1) + !! temp_fw_max : input real : maximum temperature of first wall material (K) (secondary_cycle>1) !! temp_fw_peak : input real : peak first wall temperature (K) use constraint_variables, only: ftpeak - use fwbs_variables, only: tfwmatmax, temp_fw_peak + use fwbs_variables, only: temp_fw_max, temp_fw_peak implicit none real(dp), intent(out) :: tmp_cc real(dp), intent(out) :: tmp_con @@ -1769,8 +1769,8 @@ subroutine constraint_eqn_039(tmp_cc, tmp_con, tmp_err, tmp_symbol, tmp_units) ! If the temperature peak == 0 then report an error if (temp_fw_peak < 1.0D0) call report_error(5) - tmp_cc = 1.0D0 - ftpeak * tfwmatmax/temp_fw_peak - tmp_con = tfwmatmax * (1.0D0 - tmp_cc) + tmp_cc = 1.0D0 - ftpeak * temp_fw_max/temp_fw_peak + tmp_con = temp_fw_max * (1.0D0 - tmp_cc) tmp_err = temp_fw_peak * tmp_cc tmp_symbol = '<' tmp_units = 'K' diff --git a/source/fortran/fwbs_variables.f90 b/source/fortran/fwbs_variables.f90 index 6ca72a7a73..a0e44334a2 100644 --- a/source/fortran/fwbs_variables.f90 +++ b/source/fortran/fwbs_variables.f90 @@ -375,7 +375,7 @@ module fwbs_variables integer :: nblktmodti !! number of inboard blanket modules in toroidal direction (`secondary_cycle>1`) - real(dp) :: tfwmatmax + real(dp) :: temp_fw_max !! maximum temperature of first wall material [K] (`secondary_cycle>1`) real(dp) :: fw_th_conductivity @@ -758,7 +758,7 @@ subroutine init_fwbs_variables nblktmodpi = 7 nblktmodto = 48 nblktmodti = 32 - tfwmatmax = 823.0D0 + temp_fw_max = 823.0D0 fw_th_conductivity = 28.34D0 fvoldw = 1.74D0 fvolsi = 1.0D0 diff --git a/source/fortran/input.f90 b/source/fortran/input.f90 index 7b14ef9d75..621b99ba83 100644 --- a/source/fortran/input.f90 +++ b/source/fortran/input.f90 @@ -277,7 +277,7 @@ subroutine parse_input_file(in_file,out_file,show_changes) 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, len_fw_channel, & + fhole, fwbsshape, coolp, temp_fw_max, irefprop, len_fw_channel, & li6enrich, etaiso, nblktmodto, fvoldw, i_shield_mat, i_bb_liq, & icooldual, ifci, inlet_temp_liq, outlet_temp_liq, bz_channel_conduct_liq, ipump, ims, & coolwh, emult @@ -2085,8 +2085,8 @@ subroutine parse_input_file(in_file,out_file,show_changes) case ('nblktmodti') call parse_int_variable('nblktmodti', nblktmodti, 8, 96, & 'No of i/b blanket modules in toroidal direction') - case ('tfwmatmax') - call parse_real_variable('tfwmatmax', tfwmatmax, 500.0D0, 2000.0D0, & + case ('temp_fw_max') + call parse_real_variable('temp_fw_max', temp_fw_max, 500.0D0, 2000.0D0, & 'Max temperature of first wall material (K)') case ('fw_th_conductivity') call parse_real_variable('fw_th_conductivity', fw_th_conductivity, 1.0D0, 100.0D0, & diff --git a/tests/integration/ref_dicts.json b/tests/integration/ref_dicts.json index 639b4dd8dc..374d889dc9 100644 --- a/tests/integration/ref_dicts.json +++ b/tests/integration/ref_dicts.json @@ -7558,7 +7558,7 @@ "tftmp": 4.5, "tftort": 1.0, "dr_tf_shld_gap": 0.05, - "tfwmatmax": 823.0, + "temp_fw_max": 823.0, "tgain": 85.0, "th_joint_contact": 0.03, "thcomp": null, @@ -10803,7 +10803,7 @@ "tftmp": "peak helium coolant temperature in TF coils and PF coils (K)", "tftort": "TF coil toroidal thickness (m)", "dr_tf_shld_gap": "Minimum metal-to-metal gap between TF coil and thermal shield (m)", - "tfwmatmax": "maximum temperature of first wall material (K) (`secondary_cycle>1`)", + "temp_fw_max": "maximum temperature of first wall material (K) (`secondary_cycle>1`)", "tgain": "IFE target gain (if `ifedrv = 0`) (`iteration variable 83`)", "th_joint_contact": "TF sliding joints contact pad width [m]", "thcomp": "", @@ -14525,7 +14525,7 @@ "lb": 0.0, "ub": 5.0 }, - "tfwmatmax": { + "temp_fw_max": { "lb": 500.0, "ub": 2000.0 }, @@ -18101,7 +18101,7 @@ "nblktmodpi", "nblktmodto", "nblktmodti", - "tfwmatmax", + "temp_fw_max", "fw_th_conductivity", "fvoldw", "fvolsi", @@ -20762,7 +20762,7 @@ "tfootfi": "real_variable", "tftmp": "real_variable", "dr_tf_shld_gap": "real_variable", - "tfwmatmax": "real_variable", + "temp_fw_max": "real_variable", "tgain": "real_variable", "th_joint_contact": "real_variable", "t_fusion_ramp": "real_variable", diff --git a/tests/regression/input_files/st_regression.IN.DAT b/tests/regression/input_files/st_regression.IN.DAT index b36061ef1f..83bfba370d 100644 --- a/tests/regression/input_files/st_regression.IN.DAT +++ b/tests/regression/input_files/st_regression.IN.DAT @@ -2687,7 +2687,7 @@ boundu(116) = 1.0 * JUSTIFICATION: Turned off, do not care about FW temperature * VARIABLES: temp_fw_peak (K) calculated in-situ -*tfwmatmax = +*temp_fw_max = * DESCRIPTION: Maximum temperature of first wall material [K] (`secondary_cycle>1`)(default = 823) * JUSTIFICATION: Not set as not used From 73fef55ed74e203185d95f0463fa1325f9635f16 Mon Sep 17 00:00:00 2001 From: mn3981 Date: Mon, 17 Feb 2025 10:55:02 +0000 Subject: [PATCH 27/34] =?UTF-8?q?=F0=9F=94=84=20Rename=20`rhof=5Ffw`=20to?= =?UTF-8?q?=20`den=5Ffw=5Fcoolant`=20for=20clarity=20and=20consistency=20a?= =?UTF-8?q?cross=20the=20codebase?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- process/blanket_library.py | 30 +++++++++++++++--------------- process/dcll.py | 2 +- source/fortran/fwbs_variables.f90 | 4 ++-- tests/unit/test_blanket_library.py | 18 +++++++++--------- tests/unit/test_dcll.py | 10 ++++++---- 5 files changed, 33 insertions(+), 31 deletions(-) diff --git a/process/blanket_library.py b/process/blanket_library.py index 600d6d1001..3c44d42a40 100644 --- a/process/blanket_library.py +++ b/process/blanket_library.py @@ -464,12 +464,12 @@ def primary_coolant_properties(self, output: bool): temperature=mid_temp, pressure=fwbs_variables.pres_fw_coolant.item(), ) - fwbs_variables.rhof_fw = fw_bb_fluid_properties.density + fwbs_variables.den_fw_coolant = fw_bb_fluid_properties.density fwbs_variables.cp_fw = fw_bb_fluid_properties.specific_heat_const_p fwbs_variables.cv_fw = fw_bb_fluid_properties.specific_heat_const_v fwbs_variables.visc_fw = fw_bb_fluid_properties.viscosity - fwbs_variables.rhof_bl = fwbs_variables.rhof_fw + fwbs_variables.rhof_bl = fwbs_variables.den_fw_coolant fwbs_variables.visc_bl = fwbs_variables.visc_fw fwbs_variables.cp_bl = fwbs_variables.cp_fw fwbs_variables.cv_bl = fwbs_variables.cv_fw @@ -485,7 +485,7 @@ def primary_coolant_properties(self, output: bool): temperature=mid_temp_fw, pressure=fwbs_variables.pres_fw_coolant, ) - fwbs_variables.rhof_fw = fw_fluid_properties.density + fwbs_variables.den_fw_coolant = fw_fluid_properties.density fwbs_variables.cp_fw = fw_fluid_properties.specific_heat_const_p fwbs_variables.cv_fw = fw_fluid_properties.specific_heat_const_v fwbs_variables.visc_fw = fw_fluid_properties.viscosity @@ -503,12 +503,12 @@ def primary_coolant_properties(self, output: bool): fwbs_variables.visc_bl = bb_fluid_properties.viscosity if ( - fwbs_variables.rhof_fw > 1e9 - or fwbs_variables.rhof_fw <= 0 - or np.isnan(fwbs_variables.rhof_fw) + fwbs_variables.den_fw_coolant > 1e9 + or fwbs_variables.den_fw_coolant <= 0 + or np.isnan(fwbs_variables.den_fw_coolant) ): raise RuntimeError( - f"Error in primary_coolant_properties. {fwbs_variables.rhof_fw = }" + f"Error in primary_coolant_properties. {fwbs_variables.den_fw_coolant = }" ) if ( fwbs_variables.rhof_bl > 1e9 @@ -541,8 +541,8 @@ def primary_coolant_properties(self, output: bool): po.ovarrf( self.outfile, "Density (kg m-3)", - "(rhof_fw)", - fwbs_variables.rhof_fw, + "(den_fw_coolant)", + fwbs_variables.den_fw_coolant, "OP ", ) po.ovarrf( @@ -771,12 +771,12 @@ def thermo_hydraulic_model_pressure_drop_calculations(self, output: bool): velfwi = self.flow_velocity( i_channel_shape=1, mass_flow_rate=blanket_library.mffwpi, - flow_density=fwbs_variables.rhof_fw, + flow_density=fwbs_variables.den_fw_coolant, ) velfwo = self.flow_velocity( i_channel_shape=1, mass_flow_rate=blanket_library.mffwpo, - flow_density=fwbs_variables.rhof_fw, + flow_density=fwbs_variables.den_fw_coolant, ) # If the blanket is dual-coolant... @@ -999,7 +999,7 @@ def thermo_hydraulic_model_pressure_drop_calculations(self, output: bool): flleng=fwbs_variables.len_fw_channel, no90=no90fw, no180=no180fw, - coolant_density=fwbs_variables.rhof_fw, + coolant_density=fwbs_variables.den_fw_coolant, coolant_dynamic_viscosity=fwbs_variables.visc_fw, coolant_electrical_conductivity=0.0e0, pol_channel_length=pollengi, @@ -1014,7 +1014,7 @@ def thermo_hydraulic_model_pressure_drop_calculations(self, output: bool): flleng=fwbs_variables.len_fw_channel, no90=no90fw, no180=no180fw, - coolant_density=fwbs_variables.rhof_fw, + coolant_density=fwbs_variables.den_fw_coolant, coolant_dynamic_viscosity=fwbs_variables.visc_fw, coolant_electrical_conductivity=0.0e0, pol_channel_length=pollengo, @@ -1857,7 +1857,7 @@ def thermo_hydraulic_model(self, output: bool): primary_coolant_switch=f2py_compatible_to_string( fwbs_variables.i_fw_coolant_type ), - coolant_density=fwbs_variables.rhof_fw, + coolant_density=fwbs_variables.den_fw_coolant, label="First Wall and Blanket", ) @@ -1893,7 +1893,7 @@ def thermo_hydraulic_model(self, output: bool): primary_coolant_switch=f2py_compatible_to_string( fwbs_variables.i_fw_coolant_type ), - coolant_density=fwbs_variables.rhof_fw, + coolant_density=fwbs_variables.den_fw_coolant, label="First Wall", ) diff --git a/process/dcll.py b/process/dcll.py index 3af27ebd6c..78542c7297 100644 --- a/process/dcll.py +++ b/process/dcll.py @@ -677,7 +677,7 @@ def dcll_masses(self, output: bool): * fwbs_variables.vol_fw_total ) dcll_module.fwmass_cool = ( - fwbs_variables.rhof_fw + fwbs_variables.den_fw_coolant * (1 - dcll_module.f_vol_stl_fw) * fwbs_variables.vol_fw_total ) diff --git a/source/fortran/fwbs_variables.f90 b/source/fortran/fwbs_variables.f90 index a0e44334a2..2c834d8268 100644 --- a/source/fortran/fwbs_variables.f90 +++ b/source/fortran/fwbs_variables.f90 @@ -626,7 +626,7 @@ module fwbs_variables real(dp) :: inlet_temp_liq, outlet_temp_liq !! Inlet (scan var 68) and Outlet (scan var 69) temperature of the liquid breeder/coolant [K] - real(dp) :: rhof_fw + real(dp) :: den_fw_coolant !! Density of the FW primary coolant real(dp) :: visc_fw @@ -837,7 +837,7 @@ subroutine init_fwbs_variables blpressure_liq = 1.7D6 inlet_temp_liq = 570.0D0 outlet_temp_liq = 720.0D0 - rhof_fw = 0.0D0 + den_fw_coolant = 0.0D0 visc_fw = 0.0D0 rhof_bl = 0.0D0 visc_bl = 0.0D0 diff --git a/tests/unit/test_blanket_library.py b/tests/unit/test_blanket_library.py index 8034b4f6b7..213fb35385 100644 --- a/tests/unit/test_blanket_library.py +++ b/tests/unit/test_blanket_library.py @@ -35,7 +35,7 @@ class PrimaryCoolantPropertiesParam(NamedTuple): pres_fw_coolant: Any = None - rhof_fw: Any = None + den_fw_coolant: Any = None cp_fw: Any = None @@ -63,7 +63,7 @@ class PrimaryCoolantPropertiesParam(NamedTuple): ipump: Any = None - expected_rhof_fw: Any = None + expected_den_fw_coolant: Any = None expected_cp_fw: Any = None @@ -88,7 +88,7 @@ class PrimaryCoolantPropertiesParam(NamedTuple): temp_fw_coolant_in=573, temp_fw_coolant_out=773, pres_fw_coolant=8000000, - rhof_fw=0, + den_fw_coolant=0, cp_fw=0, cv_fw=0, coolwh=1, @@ -102,7 +102,7 @@ class PrimaryCoolantPropertiesParam(NamedTuple): cv_bl=0, visc_fw=0, ipump=0, - expected_rhof_fw=5.6389735407435868, + expected_den_fw_coolant=5.6389735407435868, expected_cp_fw=5188.5588430173211, expected_cv_fw=3123.5687263525392, expected_rhof_bl=5.6389735407435868, @@ -116,7 +116,7 @@ class PrimaryCoolantPropertiesParam(NamedTuple): temp_fw_coolant_in=573, temp_fw_coolant_out=773, pres_fw_coolant=8000000, - rhof_fw=5.6389735407435868, + den_fw_coolant=5.6389735407435868, cp_fw=5188.5588430173211, cv_fw=3123.5687263525392, coolwh=1, @@ -130,7 +130,7 @@ class PrimaryCoolantPropertiesParam(NamedTuple): cv_bl=3123.5687263525392, visc_fw=3.5036293160410249e-05, ipump=0, - expected_rhof_fw=5.6389735407435868, + expected_den_fw_coolant=5.6389735407435868, expected_cp_fw=5188.5588430173211, expected_cv_fw=3123.5687263525392, expected_rhof_bl=5.6389735407435868, @@ -179,7 +179,7 @@ def test_primary_coolant_properties( ) monkeypatch.setattr( - fwbs_variables, "rhof_fw", primarycoolantpropertiesparam.rhof_fw + fwbs_variables, "den_fw_coolant", primarycoolantpropertiesparam.den_fw_coolant ) monkeypatch.setattr(fwbs_variables, "cp_fw", primarycoolantpropertiesparam.cp_fw) @@ -224,8 +224,8 @@ def test_primary_coolant_properties( blanket_library_fixture.primary_coolant_properties(output=False) - assert fwbs_variables.rhof_fw == pytest.approx( - primarycoolantpropertiesparam.expected_rhof_fw, rel=1e-4 + assert fwbs_variables.den_fw_coolant == pytest.approx( + primarycoolantpropertiesparam.expected_den_fw_coolant, rel=1e-4 ) assert fwbs_variables.cp_fw == pytest.approx( diff --git a/tests/unit/test_dcll.py b/tests/unit/test_dcll.py index 99be14e5c6..a973c4e83d 100644 --- a/tests/unit/test_dcll.py +++ b/tests/unit/test_dcll.py @@ -350,7 +350,7 @@ class DcllMassesParam(NamedTuple): icooldual: Any = None - rhof_fw: Any = None + den_fw_coolant: Any = None rhof_bl: Any = None @@ -554,7 +554,7 @@ class DcllMassesParam(NamedTuple): w_f_liq_ob=0.5, vfblkt=0.25, icooldual=2, - rhof_fw=5.6389735407435868, + den_fw_coolant=5.6389735407435868, rhof_bl=5.6389735407435868, nblktmodti=32, nblktmodto=48, @@ -673,7 +673,7 @@ class DcllMassesParam(NamedTuple): w_f_liq_ob=0.79000002145767212, vfblkt=0.082598954955828252, icooldual=2, - rhof_fw=5.6389735407435868, + den_fw_coolant=5.6389735407435868, rhof_bl=5.6389735407435868, nblktmodti=32, nblktmodto=48, @@ -863,7 +863,9 @@ def test_dcll_masses(dcllmassesparam, monkeypatch, dcll): monkeypatch.setattr(fwbs_variables, "icooldual", dcllmassesparam.icooldual) - monkeypatch.setattr(fwbs_variables, "rhof_fw", dcllmassesparam.rhof_fw) + monkeypatch.setattr( + fwbs_variables, "den_fw_coolant", dcllmassesparam.den_fw_coolant + ) monkeypatch.setattr(fwbs_variables, "rhof_bl", dcllmassesparam.rhof_bl) From f6b20517da0462b015b885b4173f1e8a072c9566 Mon Sep 17 00:00:00 2001 From: mn3981 Date: Mon, 17 Feb 2025 10:58:02 +0000 Subject: [PATCH 28/34] :memo: Update documentation to include standards for viscosity variable naming --- documentation/proc-pages/development/standards.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/documentation/proc-pages/development/standards.md b/documentation/proc-pages/development/standards.md index cea3d77fdc..c6021d706b 100644 --- a/documentation/proc-pages/development/standards.md +++ b/documentation/proc-pages/development/standards.md @@ -342,6 +342,13 @@ The unit declaration `_fpy` can be used to specify that it is the full-power yea --------------------- +##### Viscosities + +- Viscosities should start with the `visc_` prefix. + +--------------------- + + ##### Variables representing fractions If a variable is intended to demonstrate a fraction of a value or distribution etc. Then it should start with the `f_` prefix. From b37069c351ab884eb8bb4511f22da7e4d069e4f6 Mon Sep 17 00:00:00 2001 From: mn3981 Date: Mon, 17 Feb 2025 11:01:50 +0000 Subject: [PATCH 29/34] =?UTF-8?q?=F0=9F=94=84=20Rename=20`visc=5Ffw`=20to?= =?UTF-8?q?=20`visc=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 --- process/blanket_library.py | 14 +++++++------- source/fortran/fwbs_variables.f90 | 4 ++-- tests/unit/test_blanket_library.py | 18 +++++++++--------- 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/process/blanket_library.py b/process/blanket_library.py index 3c44d42a40..9637a93439 100644 --- a/process/blanket_library.py +++ b/process/blanket_library.py @@ -467,10 +467,10 @@ def primary_coolant_properties(self, output: bool): fwbs_variables.den_fw_coolant = fw_bb_fluid_properties.density fwbs_variables.cp_fw = fw_bb_fluid_properties.specific_heat_const_p fwbs_variables.cv_fw = fw_bb_fluid_properties.specific_heat_const_v - fwbs_variables.visc_fw = fw_bb_fluid_properties.viscosity + fwbs_variables.visc_fw_coolant = fw_bb_fluid_properties.viscosity fwbs_variables.rhof_bl = fwbs_variables.den_fw_coolant - fwbs_variables.visc_bl = fwbs_variables.visc_fw + fwbs_variables.visc_bl = fwbs_variables.visc_fw_coolant fwbs_variables.cp_bl = fwbs_variables.cp_fw fwbs_variables.cv_bl = fwbs_variables.cv_fw @@ -488,7 +488,7 @@ def primary_coolant_properties(self, output: bool): fwbs_variables.den_fw_coolant = fw_fluid_properties.density fwbs_variables.cp_fw = fw_fluid_properties.specific_heat_const_p fwbs_variables.cv_fw = fw_fluid_properties.specific_heat_const_v - fwbs_variables.visc_fw = fw_fluid_properties.viscosity + fwbs_variables.visc_fw_coolant = fw_fluid_properties.viscosity # BB mid_temp_bl = (fwbs_variables.inlet_temp + fwbs_variables.outlet_temp) * 0.5 @@ -548,8 +548,8 @@ def primary_coolant_properties(self, output: bool): po.ovarrf( self.outfile, "Viscosity (Pa s)", - "(visc_fw)", - fwbs_variables.visc_fw, + "(visc_fw_coolant)", + fwbs_variables.visc_fw_coolant, "OP ", ) @@ -1000,7 +1000,7 @@ def thermo_hydraulic_model_pressure_drop_calculations(self, output: bool): no90=no90fw, no180=no180fw, coolant_density=fwbs_variables.den_fw_coolant, - coolant_dynamic_viscosity=fwbs_variables.visc_fw, + coolant_dynamic_viscosity=fwbs_variables.visc_fw_coolant, coolant_electrical_conductivity=0.0e0, pol_channel_length=pollengi, nopolchan=npoltoti, @@ -1015,7 +1015,7 @@ def thermo_hydraulic_model_pressure_drop_calculations(self, output: bool): no90=no90fw, no180=no180fw, coolant_density=fwbs_variables.den_fw_coolant, - coolant_dynamic_viscosity=fwbs_variables.visc_fw, + coolant_dynamic_viscosity=fwbs_variables.visc_fw_coolant, coolant_electrical_conductivity=0.0e0, pol_channel_length=pollengo, nopolchan=npoltoto, diff --git a/source/fortran/fwbs_variables.f90 b/source/fortran/fwbs_variables.f90 index 2c834d8268..26cdfc448b 100644 --- a/source/fortran/fwbs_variables.f90 +++ b/source/fortran/fwbs_variables.f90 @@ -629,7 +629,7 @@ module fwbs_variables real(dp) :: den_fw_coolant !! Density of the FW primary coolant - real(dp) :: visc_fw + real(dp) :: visc_fw_coolant !! Viscosity of the FW primary coolant real(dp) :: rhof_bl @@ -838,7 +838,7 @@ subroutine init_fwbs_variables inlet_temp_liq = 570.0D0 outlet_temp_liq = 720.0D0 den_fw_coolant = 0.0D0 - visc_fw = 0.0D0 + visc_fw_coolant = 0.0D0 rhof_bl = 0.0D0 visc_bl = 0.0D0 cp_fw = 0.0D0 diff --git a/tests/unit/test_blanket_library.py b/tests/unit/test_blanket_library.py index 213fb35385..ac72d3ac45 100644 --- a/tests/unit/test_blanket_library.py +++ b/tests/unit/test_blanket_library.py @@ -59,7 +59,7 @@ class PrimaryCoolantPropertiesParam(NamedTuple): cv_bl: Any = None - visc_fw: Any = None + visc_fw_coolant: Any = None ipump: Any = None @@ -77,7 +77,7 @@ class PrimaryCoolantPropertiesParam(NamedTuple): expected_cv_bl: Any = None - expected_visc_fw: Any = None + expected_visc_fw_coolant: Any = None @pytest.mark.parametrize( @@ -100,7 +100,7 @@ class PrimaryCoolantPropertiesParam(NamedTuple): visc_bl=0, cp_bl=0, cv_bl=0, - visc_fw=0, + visc_fw_coolant=0, ipump=0, expected_den_fw_coolant=5.6389735407435868, expected_cp_fw=5188.5588430173211, @@ -109,7 +109,7 @@ class PrimaryCoolantPropertiesParam(NamedTuple): expected_visc_bl=3.5036293160410249e-05, expected_cp_bl=5188.5588430173211, expected_cv_bl=3123.5687263525392, - expected_visc_fw=3.5036293160410249e-05, + expected_visc_fw_coolant=3.5036293160410249e-05, ), PrimaryCoolantPropertiesParam( i_fw_coolant_type="helium", @@ -128,7 +128,7 @@ class PrimaryCoolantPropertiesParam(NamedTuple): visc_bl=3.5036293160410249e-05, cp_bl=5188.5588430173211, cv_bl=3123.5687263525392, - visc_fw=3.5036293160410249e-05, + visc_fw_coolant=3.5036293160410249e-05, ipump=0, expected_den_fw_coolant=5.6389735407435868, expected_cp_fw=5188.5588430173211, @@ -137,7 +137,7 @@ class PrimaryCoolantPropertiesParam(NamedTuple): expected_visc_bl=3.5036293160410249e-05, expected_cp_bl=5188.5588430173211, expected_cv_bl=3123.5687263525392, - expected_visc_fw=3.5036293160410249e-05, + expected_visc_fw_coolant=3.5036293160410249e-05, ), ), ) @@ -217,7 +217,7 @@ def test_primary_coolant_properties( monkeypatch.setattr(fwbs_variables, "cv_bl", primarycoolantpropertiesparam.cv_bl) monkeypatch.setattr( - fwbs_variables, "visc_fw", primarycoolantpropertiesparam.visc_fw + fwbs_variables, "visc_fw_coolant", primarycoolantpropertiesparam.visc_fw_coolant ) monkeypatch.setattr(fwbs_variables, "ipump", primarycoolantpropertiesparam.ipump) @@ -252,8 +252,8 @@ def test_primary_coolant_properties( primarycoolantpropertiesparam.expected_cv_bl, rel=1e-4 ) - assert fwbs_variables.visc_fw == pytest.approx( - primarycoolantpropertiesparam.expected_visc_fw, rel=1e-4 + assert fwbs_variables.visc_fw_coolant == pytest.approx( + primarycoolantpropertiesparam.expected_visc_fw_coolant, rel=1e-4 ) From 9afa87a84d266efec488c081e48fe7d11cf9f80c Mon Sep 17 00:00:00 2001 From: mn3981 Date: Mon, 17 Feb 2025 11:10:07 +0000 Subject: [PATCH 30/34] =?UTF-8?q?=F0=9F=94=84=20Rename=20`peaking=5Ffactor?= =?UTF-8?q?`=20to=20`f=5Ffw=5Fpeak`=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 --- process/fw.py | 6 +++--- 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 ++++---- 6 files changed, 18 insertions(+), 18 deletions(-) diff --git a/process/fw.py b/process/fw.py index d62d6e7470..66bc103e00 100644 --- a/process/fw.py +++ b/process/fw.py @@ -168,7 +168,7 @@ def fw_temp( # ______________ # Worst case load (as above) per unit length in 1-D calculation (W/m) - onedload = fwbs_variables.peaking_factor * ( + onedload = fwbs_variables.f_fw_peak * ( pden_fw_nuclear * fwbs_variables.dx_fw_module * dr_fw / 4 + pflux_fw_rad * fwbs_variables.dx_fw_module ) @@ -241,8 +241,8 @@ def fw_temp( po.ovarre( self.outfile, "Ratio of peak local heat load (surface and nuclear) to mean", - "(peaking_factor)", - fwbs_variables.peaking_factor, + "(f_fw_peak)", + fwbs_variables.f_fw_peak, ) po.ovarre( self.outfile, diff --git a/source/fortran/fwbs_variables.f90 b/source/fortran/fwbs_variables.f90 index 26cdfc448b..9b934ec3f1 100644 --- a/source/fortran/fwbs_variables.f90 +++ b/source/fortran/fwbs_variables.f90 @@ -343,7 +343,7 @@ module fwbs_variables !! Length of a single first wall channel (all in parallel) [m] !! (`iteration variable 114`, useful for `constraint equation 39`) - real(dp) :: peaking_factor + real(dp) :: f_fw_peak !! peaking factor for first wall heat loads. (Applied separately to inboard and outboard loads. !! Applies to both neutron and surface loads. Only used to calculate peak temperature - not !! the coolant flow rate.) @@ -749,7 +749,7 @@ subroutine init_fwbs_variables temp_fw_peak = 873.0D0 roughness = 1.0D-6 len_fw_channel = 4.0D0 - peaking_factor = 1.0D0 + f_fw_peak = 1.0D0 blpressure = 15.50D6 inlet_temp = 573.0D0 outlet_temp = 823.0D0 diff --git a/source/fortran/input.f90 b/source/fortran/input.f90 index 621b99ba83..e75af906dc 100644 --- a/source/fortran/input.f90 +++ b/source/fortran/input.f90 @@ -275,7 +275,7 @@ subroutine parse_input_file(in_file,out_file,show_changes) 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, radius_fw_channel, inuclear, declshld, hcdportsize, & - npdiv, peaking_factor, primary_pumping, dr_pf_cryostat, secondary_cycle, secondary_cycle_liq, & + npdiv, f_fw_peak, 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, temp_fw_max, irefprop, len_fw_channel, & li6enrich, etaiso, nblktmodto, fvoldw, i_shield_mat, i_bb_liq, & @@ -1952,8 +1952,8 @@ subroutine parse_input_file(in_file,out_file,show_changes) case ('len_fw_channel') call parse_real_variable('len_fw_channel', len_fw_channel, 1.0D-3, 1.0D3, & 'first wall channel length') - case ('peaking_factor') - call parse_real_variable('peaking_factor', peaking_factor, 1.0d0, 100.0D0, & + case ('f_fw_peak') + call parse_real_variable('f_fw_peak', f_fw_peak, 1.0d0, 100.0D0, & 'peaking factor for first wall heat loads') diff --git a/tests/integration/ref_dicts.json b/tests/integration/ref_dicts.json index 374d889dc9..483c36f087 100644 --- a/tests/integration/ref_dicts.json +++ b/tests/integration/ref_dicts.json @@ -3498,7 +3498,7 @@ "dt_power_total": 0.0, "dt_power_plasma": 0.0, "f_fw_rad_max": 3.33, - "peaking_factor": 1.0, + "f_fw_peak": 1.0, "peakmva": 0.0, "peakpoloidalpower": 0.0, "pflux_fw_rad_max_mw": 0.0, @@ -10257,7 +10257,7 @@ "dt_power_total": "deuterium-tritium fusion power, from plasma and beams (MW)", "dt_power_plasma": "deuterium-tritium fusion power, just from plasma (MW)", "f_fw_rad_max": "peaking factor for radiation wall load (`constraint equation 67`)", - "peaking_factor": "peaking factor for first wall heat loads. (Applied separately to inboard and outboard loads.\n Applies to both neutron and surface loads. Only used to calculate peak temperature - not\n the coolant flow rate.)", + "f_fw_peak": "peaking factor for first wall heat loads. (Applied separately to inboard and outboard loads.\n Applies to both neutron and surface loads. Only used to calculate peak temperature - not\n the coolant flow rate.)", "peakmva": "peak MVA requirement", "peakpoloidalpower": "Peak absolute rate of change of stored energy in poloidal field (MW)", "pflux_fw_rad_max_mw": "Peak radiation wall load (MW/m^2) (`constraint equation 67`)", @@ -13869,7 +13869,7 @@ "lb": 0.1, "ub": 10 }, - "peaking_factor": { + "f_fw_peak": { "lb": 1.0, "ub": 100.0 }, @@ -18092,7 +18092,7 @@ "temp_fw_peak", "roughness", "len_fw_channel", - "peaking_factor", + "f_fw_peak", "blpressure", "inlet_temp", "outlet_temp", @@ -20594,7 +20594,7 @@ "pdivtlim": "real_variable", "pdrive": "real_variable", "f_fw_rad_max": "real_variable", - "peaking_factor": "real_variable", + "f_fw_peak": "real_variable", "pfbldgm3": "real_variable", "pfclres": "real_variable", "pfusife": "real_variable", diff --git a/tests/regression/input_files/st_regression.IN.DAT b/tests/regression/input_files/st_regression.IN.DAT index 83bfba370d..be0a6a6118 100644 --- a/tests/regression/input_files/st_regression.IN.DAT +++ b/tests/regression/input_files/st_regression.IN.DAT @@ -2628,7 +2628,7 @@ f_fw_rad_max = 1.0 * DESCRIPTION: Radiation wall load peacking factor * JUSTIFICATION: We consider an average wall load value as a limit -*peaking_factor = +*f_fw_peak = * DESCRIPTION: peaking factor for first wall heat loads. (Applied separately to (default = 1.0) *inboard and outboard loads. Applies to both neutron and surface loads. Only used to calculate peak *temperature - not the coolant flow rate.) diff --git a/tests/unit/test_fw.py b/tests/unit/test_fw.py index 7f71ad1ff2..ff7da72484 100644 --- a/tests/unit/test_fw.py +++ b/tests/unit/test_fw.py @@ -33,7 +33,7 @@ class FwTempParam(NamedTuple): temp_fw_peak: Any = None - peaking_factor: Any = None + f_fw_peak: Any = None dr_fw_wall: Any = None @@ -70,7 +70,7 @@ class FwTempParam(NamedTuple): dx_fw_module=0.005000000000000001, len_fw_channel=4, temp_fw_peak=873, - peaking_factor=1, + f_fw_peak=1, dr_fw_wall=0.0030000000000000001, pnuc_deposited=75.219932653459054, radius_fw_channel=0.0060000000000000001, @@ -92,7 +92,7 @@ class FwTempParam(NamedTuple): dx_fw_module=0.005000000000000001, len_fw_channel=4, temp_fw_peak=873, - peaking_factor=1, + f_fw_peak=1, dr_fw_wall=0.0030000000000000001, pnuc_deposited=121.50088652655793, radius_fw_channel=0.0060000000000000001, @@ -143,7 +143,7 @@ def test_fw_temp(fwtempparam, monkeypatch, fw): monkeypatch.setattr(fwbs_variables, "temp_fw_peak", fwtempparam.temp_fw_peak) - monkeypatch.setattr(fwbs_variables, "peaking_factor", fwtempparam.peaking_factor) + monkeypatch.setattr(fwbs_variables, "f_fw_peak", fwtempparam.f_fw_peak) monkeypatch.setattr(fwbs_variables, "dr_fw_wall", fwtempparam.dr_fw_wall) From a7eaccf56a91af6db7c5bb7eb7aafd7ec15363e2 Mon Sep 17 00:00:00 2001 From: mn3981 Date: Mon, 17 Feb 2025 12:03:37 +0000 Subject: [PATCH 31/34] =?UTF-8?q?=F0=9F=94=84=20Rename=20obsolete=20variab?= =?UTF-8?q?les=20for=20clarity=20and=20consistency=20across=20the=20codeba?= =?UTF-8?q?se?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- process/io/obsolete_vars.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/process/io/obsolete_vars.py b/process/io/obsolete_vars.py index 7bb0bd49fd..fd36bacc9f 100644 --- a/process/io/obsolete_vars.py +++ b/process/io/obsolete_vars.py @@ -202,6 +202,17 @@ "gamma": "ejima_coeff", "lpulse": "i_pulsed_plant", "q": "q95", + "fwcoolant": "i_fw_coolant_type", + "pitch": "dx_fw_module", + "iblanket": "i_blanket_type", + "fw_wall": "dr_fw_wall", + "fwpressure": "pres_fw_coolant", + "fwoutlet": "temp_fw_coolant_outlet", + "afw": "radius_fw_channel", + "peaking_factor": "f_fw_peak", + "fwinlet": "temp_fw_coolant_in", + "tfwmatmax": "temp_fw_max", + "fw_channel_length": "len_fw_channel", } OBS_VARS_HELP = { From 365752876daaf63fbe0c7e026a49e58e340e8fb6 Mon Sep 17 00:00:00 2001 From: mn3981 Date: Mon, 17 Feb 2025 15:12:46 +0000 Subject: [PATCH 32/34] =?UTF-8?q?=F0=9F=94=84=20Rename=20p=5Ffw=5Fnuclear?= =?UTF-8?q?=5Fmw=20to=20p=5Ffw=5Fnuclear=5Fheat=5Ftotal=5Fmw=20for=20clari?= =?UTF-8?q?ty=20and=20consistency=20across=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 +- process/blanket_library.py | 4 +-- process/dcll.py | 8 ++--- process/hcpb.py | 27 +++++++++-------- process/io/mfile_comparison.py | 2 +- process/io/sankey_funcs.py | 12 ++++---- process/power.py | 17 ++++++----- process/stellarator.py | 6 ++-- 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/test_ccfe_hcpb.py | 30 +++++++++++-------- tests/unit/test_dcll.py | 20 +++++++------ tests/unit/test_power.py | 12 +++++--- 24 files changed, 117 insertions(+), 99 deletions(-) diff --git a/examples/data/csv_output_large_tokamak_MFILE.DAT b/examples/data/csv_output_large_tokamak_MFILE.DAT index 6c25c16325..c005fd08e4 100644 --- a/examples/data/csv_output_large_tokamak_MFILE.DAT +++ b/examples/data/csv_output_large_tokamak_MFILE.DAT @@ -974,7 +974,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4498E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 7.9388E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 2.2718E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 1.6038E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_heat_total_mw)______________________ 1.6038E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.2682E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.3897E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.4652E+02 OP diff --git a/examples/data/large_tokamak_1_MFILE.DAT b/examples/data/large_tokamak_1_MFILE.DAT index 68feb4e72d..8f554a3f05 100644 --- a/examples/data/large_tokamak_1_MFILE.DAT +++ b/examples/data/large_tokamak_1_MFILE.DAT @@ -969,7 +969,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4498E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 7.9388E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 2.5118E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 1.6315E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_heat_total_mw)______________________ 1.6315E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.2901E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4138E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.4906E+02 OP diff --git a/examples/data/large_tokamak_2_MFILE.DAT b/examples/data/large_tokamak_2_MFILE.DAT index 86826a7b2d..6082bc29ce 100644 --- a/examples/data/large_tokamak_2_MFILE.DAT +++ b/examples/data/large_tokamak_2_MFILE.DAT @@ -969,7 +969,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4498E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 7.9388E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 2.5118E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 1.6315E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_heat_total_mw)______________________ 1.6315E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.2901E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4138E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.4906E+02 OP diff --git a/examples/data/large_tokamak_3_MFILE.DAT b/examples/data/large_tokamak_3_MFILE.DAT index fed7eab584..9f03ff0b92 100644 --- a/examples/data/large_tokamak_3_MFILE.DAT +++ b/examples/data/large_tokamak_3_MFILE.DAT @@ -969,7 +969,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4498E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 7.9388E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 2.5118E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 1.6315E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_heat_total_mw)______________________ 1.6315E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.2901E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4138E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.4906E+02 OP diff --git a/examples/data/large_tokamak_4_MFILE.DAT b/examples/data/large_tokamak_4_MFILE.DAT index 2c8a7253ac..a9b5f4faa0 100644 --- a/examples/data/large_tokamak_4_MFILE.DAT +++ b/examples/data/large_tokamak_4_MFILE.DAT @@ -969,7 +969,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4498E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 7.9388E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 2.5118E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 1.6315E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_heat_total_mw)______________________ 1.6315E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.2901E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4138E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.4906E+02 OP diff --git a/process/blanket_library.py b/process/blanket_library.py index 9637a93439..9a6c3ecb19 100644 --- a/process/blanket_library.py +++ b/process/blanket_library.py @@ -1543,12 +1543,12 @@ def thermo_hydraulic_model(self, output: bool): ###################################################### # IB/OB FW (MW) blanket_library.pnucfwi = ( - fwbs_variables.p_fw_nuclear_mw + fwbs_variables.p_fw_nuclear_heat_total_mw * build_variables.a_fw_inboard / build_variables.a_fw_total ) blanket_library.pnucfwo = ( - fwbs_variables.p_fw_nuclear_mw + fwbs_variables.p_fw_nuclear_heat_total_mw * build_variables.a_fw_outboard / build_variables.a_fw_total ) diff --git a/process/dcll.py b/process/dcll.py index 78542c7297..500ef18628 100644 --- a/process/dcll.py +++ b/process/dcll.py @@ -129,7 +129,7 @@ def dcll_neutronics_and_power(self, output: bool): covf = 1 - fwbs_variables.fdiv - fwbs_variables.fhcd # Nuclear heating in the first wall (MW) - fwbs_variables.p_fw_nuclear_mw = ( + fwbs_variables.p_fw_nuclear_heat_total_mw = ( physics_variables.neutron_power_total * fwbs_variables.pnuc_fw_ratio_dcll * covf @@ -226,8 +226,8 @@ def dcll_neutronics_and_power(self, output: bool): po.ovarre( self.outfile, "Total nuclear heating in FW (MW)", - "(p_fw_nuclear_mw)", - fwbs_variables.p_fw_nuclear_mw, + "(p_fw_nuclear_heat_total_mw)", + fwbs_variables.p_fw_nuclear_heat_total_mw, "OP ", ) po.ovarre( @@ -297,7 +297,7 @@ def dcll_power_and_heating(self, output: bool): # User sets mechanical pumping power as a fraction of thermal power # removed by coolant heat_transport_variables.htpmw_fw = heat_transport_variables.fpumpfw * ( - fwbs_variables.p_fw_nuclear_mw + fwbs_variables.p_fw_nuclear_heat_total_mw + fwbs_variables.psurffwi + fwbs_variables.psurffwo ) diff --git a/process/hcpb.py b/process/hcpb.py index 0a2e71eaad..11d30a6595 100644 --- a/process/hcpb.py +++ b/process/hcpb.py @@ -126,7 +126,7 @@ def run(self, output: bool): # fractions as before. # Total nuclear power deposited in the blancket sector (MW) ccfe_hcpb_module.pnuc_tot_blk_sector = ( - fwbs_variables.p_fw_nuclear_mw + fwbs_variables.p_fw_nuclear_heat_total_mw + fwbs_variables.pnucblkt + fwbs_variables.pnucshld + fwbs_variables.ptfnuc @@ -135,7 +135,7 @@ def run(self, output: bool): # Total nuclear power deposited in the # if ( pnuc_tot_blk_sector < 1.0d0 .or. pnuc_tot_blk_sector /= pnuc_tot_blk_sector ) then # #TODO This can flood the terminal, and should be logged once in Python - # write(*,*)'p_fw_nuclear_mw =', p_fw_nuclear_mw, ' and ', 'pnucblkt =', pnucblkt + # write(*,*)'p_fw_nuclear_heat_total_mw =', p_fw_nuclear_heat_total_mw, ' and ', 'pnucblkt =', pnucblkt # write(*,*)'pnucshld =', pnucshld, ' ptfnuc =', ptfnuc # end if @@ -143,8 +143,11 @@ def run(self, output: bool): f_geom_blanket = 1 - physics_variables.idivrt * fwbs_variables.fdiv - f_geom_cp # Power to the first wall (MW) - fwbs_variables.p_fw_nuclear_mw = ( - (fwbs_variables.p_fw_nuclear_mw / ccfe_hcpb_module.pnuc_tot_blk_sector) + fwbs_variables.p_fw_nuclear_heat_total_mw = ( + ( + fwbs_variables.p_fw_nuclear_heat_total_mw + / ccfe_hcpb_module.pnuc_tot_blk_sector + ) * fwbs_variables.emult * f_geom_blanket * physics_variables.neutron_power_total @@ -187,7 +190,7 @@ def run(self, output: bool): # --- # pnucdiv is not changed. # The energy due to multiplication, by subtraction: - # emultmw = p_fw_nuclear_mw + pnucblkt + pnucshld + ptfnuc + pnucdiv - neutron_power_total + # emultmw = p_fw_nuclear_heat_total_mw + pnucblkt + pnucshld + ptfnuc + pnucdiv - neutron_power_total # --- # New code, a bit simpler @@ -536,15 +539,15 @@ def nuclear_heating_fw(self): ccfe_hcpb_module.fw_armour_u_nuc_heating = 6.25e-7 # Total nuclear heating in FW (MW) - fwbs_variables.p_fw_nuclear_mw = ( + fwbs_variables.p_fw_nuclear_heat_total_mw = ( fwbs_variables.m_fw_total * ccfe_hcpb_module.fw_armour_u_nuc_heating * physics_variables.fusion_power ) - if fwbs_variables.p_fw_nuclear_mw < 0: + if fwbs_variables.p_fw_nuclear_heat_total_mw < 0: raise RuntimeError( - f"""Error in nuclear_heating_fw. {fwbs_variables.p_fw_nuclear_mw = }, + f"""Error in nuclear_heating_fw. {fwbs_variables.p_fw_nuclear_heat_total_mw = }, {physics_variables.fusion_power = }, {fwbs_variables.m_fw_total = }""" ) @@ -699,7 +702,7 @@ def powerflow_calc(self, output: bool): # User sets mechanical pumping power as a fraction of thermal power # removed by coolant heat_transport_variables.htpmw_fw = heat_transport_variables.fpumpfw * ( - fwbs_variables.p_fw_nuclear_mw + fwbs_variables.p_fw_nuclear_heat_total_mw + fwbs_variables.psurffwi + fwbs_variables.psurffwo ) @@ -757,7 +760,7 @@ def powerflow_calc(self, output: bool): ) fpump = t_in_compressor / (fwbs_variables.etaiso * dt_he) * (pfactor - 1) p_plasma = ( - fwbs_variables.p_fw_nuclear_mw + fwbs_variables.p_fw_nuclear_heat_total_mw + fwbs_variables.psurffwi + fwbs_variables.psurffwo + fwbs_variables.pnucblkt @@ -1404,8 +1407,8 @@ def write_output(self): po.ovarre( self.outfile, "Total nuclear heating in FW (MW)", - "(p_fw_nuclear_mw)", - fwbs_variables.p_fw_nuclear_mw, + "(p_fw_nuclear_heat_total_mw)", + fwbs_variables.p_fw_nuclear_heat_total_mw, "OP ", ) po.ovarre( diff --git a/process/io/mfile_comparison.py b/process/io/mfile_comparison.py index 30d9a80c3c..a7744711e5 100644 --- a/process/io/mfile_comparison.py +++ b/process/io/mfile_comparison.py @@ -198,7 +198,7 @@ "dr_blkt_outboard", "fusion_power", "pnucblkt", - "p_fw_nuclear_mw", + "p_fw_nuclear_heat_total_mw", "ptfnuc", "pnucshld", "pnucdiv", diff --git a/process/io/sankey_funcs.py b/process/io/sankey_funcs.py index a20faf6015..b6b18d5742 100644 --- a/process/io/sankey_funcs.py +++ b/process/io/sankey_funcs.py @@ -56,7 +56,7 @@ def plot_full_sankey( pnucdiv = m_file.data["pnucdiv"].get_scan( -1 ) # Nuclear heating in the divertor (MW) - p_fw_nuclear_mw = m_file.data["p_fw_nuclear_mw"].get_scan( + p_fw_nuclear_heat_total_mw = m_file.data["p_fw_nuclear_heat_total_mw"].get_scan( -1 ) # Nuclear heating in the first wall (MW) pnucshld = m_file.data["pnucshld"].get_scan( @@ -159,7 +159,7 @@ def plot_full_sankey( neutrons = [ neutron_power_total, -pnucdiv, - -p_fw_nuclear_mw, + -p_fw_nuclear_heat_total_mw, -pnucshld, -ptfnuc, -pnucemblkt, @@ -291,7 +291,7 @@ def plot_full_sankey( # ---------------------------------------- 1ST WALL - 5 --------------------------------------- # Alphas, Neutrons, Photons, Coolant Pumping, Total 1st Wall - first_wall = [palpfwmw, p_fw_nuclear_mw, pradfw, htpmwfw, -pthermfw] + first_wall = [palpfwmw, p_fw_nuclear_heat_total_mw, pradfw, htpmwfw, -pthermfw] sankey.add( flows=first_wall, orientations=[0, -1, 1, -1, 0], @@ -512,7 +512,7 @@ def plot_sankey(mfilename="MFILE.DAT"): # Plot simplified power flow Sankey Dia pnucdiv = m_file.data["pnucdiv"].get_scan( -1 ) # nuclear heating in the divertor (MW) - p_fw_nuclear_mw = m_file.data["p_fw_nuclear_mw"].get_scan( + p_fw_nuclear_heat_total_mw = m_file.data["p_fw_nuclear_heat_total_mw"].get_scan( -1 ) # nuclear heating in the first wall (MW) pnucblkt = m_file.data["pnucblkt"].get_scan( @@ -541,7 +541,9 @@ def plot_sankey(mfilename="MFILE.DAT"): # Plot simplified power flow Sankey Dia # Power deposited on divertor (MW) totaldivetc = pdivt + pnucdiv + praddiv # Power deposited on Blanket (MW) - totalblktetc = p_fw_nuclear_mw + pnucblkt + pnucshld + pradfw + palpfwmw - emultmw + totalblktetc = ( + p_fw_nuclear_heat_total_mw + pnucblkt + pnucshld + pradfw + palpfwmw - emultmw + ) if itart == 0: # Power deposited in CP (MW) (None here) diff --git a/process/power.py b/process/power.py index 956156d259..018229f1e7 100644 --- a/process/power.py +++ b/process/power.py @@ -623,7 +623,7 @@ def power1(self): if fwbs_variables.icooldual == 2: self.pthermfw_blkt = ( self.pthermblkt_liq - + fwbs_variables.p_fw_nuclear_mw + + fwbs_variables.p_fw_nuclear_heat_total_mw + fwbs_variables.pradfw + (fwbs_variables.pnucblkt * (1 - fwbs_variables.f_nuc_pow_bz_liq)) + primary_pumping_variables.htpmw_fw_blkt @@ -634,7 +634,7 @@ def power1(self): elif fwbs_variables.icooldual == 1: self.pthermfw_blkt = ( self.pthermblkt_liq - + fwbs_variables.p_fw_nuclear_mw + + fwbs_variables.p_fw_nuclear_heat_total_mw + fwbs_variables.pradfw + fwbs_variables.pnucblkt + primary_pumping_variables.htpmw_fw_blkt @@ -644,7 +644,7 @@ def power1(self): ) else: self.pthermfw_blkt = ( - fwbs_variables.p_fw_nuclear_mw + fwbs_variables.p_fw_nuclear_heat_total_mw + fwbs_variables.pradfw + fwbs_variables.pnucblkt + primary_pumping_variables.htpmw_fw_blkt @@ -656,7 +656,7 @@ def power1(self): elif fwbs_variables.primary_pumping == 3: # First wall and blanket coolant combined self.pthermfw_blkt = ( - fwbs_variables.p_fw_nuclear_mw + fwbs_variables.p_fw_nuclear_heat_total_mw + fwbs_variables.pradfw + fwbs_variables.pnucblkt + primary_pumping_variables.htpmw_fw_blkt @@ -668,7 +668,7 @@ def power1(self): else: # Total power deposited in first wall coolant (MW) self.pthermfw = ( - fwbs_variables.p_fw_nuclear_mw + fwbs_variables.p_fw_nuclear_heat_total_mw + fwbs_variables.pradfw + heat_transport_variables.htpmw_fw + current_drive_variables.porbitlossmw @@ -1317,7 +1317,10 @@ def power2(self, output: bool): po.write(self.outfile, "First wall:") po.dblcol( - self.outfile, "p_fw_nuclear_mw", 0.0e0, fwbs_variables.p_fw_nuclear_mw + self.outfile, + "p_fw_nuclear_heat_total_mw", + 0.0e0, + fwbs_variables.p_fw_nuclear_heat_total_mw, ) po.dblcol(self.outfile, "palpfwmw", 0.0e0, physics_variables.palpfwmw) po.dblcol(self.outfile, "pradfw", 0.0e0, fwbs_variables.pradfw) @@ -1325,7 +1328,7 @@ def power2(self, output: bool): primsum = ( primsum - + fwbs_variables.p_fw_nuclear_mw + + fwbs_variables.p_fw_nuclear_heat_total_mw + physics_variables.palpfwmw + fwbs_variables.pradfw + heat_transport_variables.htpmw_fw diff --git a/process/stellarator.py b/process/stellarator.py index 0adae83f69..b936c26a70 100644 --- a/process/stellarator.py +++ b/process/stellarator.py @@ -1198,7 +1198,7 @@ def stfwbs(self, output: bool): fwbs_variables.pnuchcd = ( physics_variables.neutron_power_total * fwbs_variables.fhcd ) - fwbs_variables.p_fw_nuclear_mw = ( + fwbs_variables.p_fw_nuclear_heat_total_mw = ( physics_variables.neutron_power_total - fwbs_variables.pnucdiv - fwbs_variables.pnucloss @@ -1222,7 +1222,7 @@ def stfwbs(self, output: bool): ) heat_transport_variables.htpmw_fw = heat_transport_variables.fpumpfw * ( - fwbs_variables.p_fw_nuclear_mw + fwbs_variables.p_fw_nuclear_heat_total_mw + fwbs_variables.pradfw + current_drive_variables.porbitlossmw ) @@ -1488,7 +1488,7 @@ def stfwbs(self, output: bool): # Total nuclear heating of first wall (MW) - fwbs_variables.p_fw_nuclear_mw = pnucfwi + pnucfwo + fwbs_variables.p_fw_nuclear_heat_total_mw = pnucfwi + pnucfwo # Total nuclear heating of blanket (MW) diff --git a/source/fortran/fwbs_variables.f90 b/source/fortran/fwbs_variables.f90 index 9b934ec3f1..7914f0c3ca 100644 --- a/source/fortran/fwbs_variables.f90 +++ b/source/fortran/fwbs_variables.f90 @@ -122,7 +122,7 @@ module fwbs_variables real(dp) :: pnucdiv !! nuclear heating in the divertor [MW] - real(dp) :: p_fw_nuclear_mw + real(dp) :: p_fw_nuclear_heat_total_mw !! nuclear heating in the first wall [MW] real(dp) :: pnuchcd @@ -690,7 +690,7 @@ subroutine init_fwbs_variables li6enrich = 30.0D0 pnucblkt = 0.0D0 pnucdiv = 0.0D0 - p_fw_nuclear_mw = 0.0D0 + p_fw_nuclear_heat_total_mw = 0.0D0 pnuchcd = 0.0D0 pnucloss = 0.0D0 pnucvvplus = 0.0D0 diff --git a/tests/integration/data/large_tokamak_1_MFILE.DAT b/tests/integration/data/large_tokamak_1_MFILE.DAT index 412bf314f1..747eaeeb15 100644 --- a/tests/integration/data/large_tokamak_1_MFILE.DAT +++ b/tests/integration/data/large_tokamak_1_MFILE.DAT @@ -968,7 +968,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4498E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 7.9388E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 2.5118E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 1.6315E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_heat_total_mw)______________________ 1.6315E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.2901E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4138E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.4906E+02 OP diff --git a/tests/integration/data/large_tokamak_2_MFILE.DAT b/tests/integration/data/large_tokamak_2_MFILE.DAT index c94e161963..ac23368142 100644 --- a/tests/integration/data/large_tokamak_2_MFILE.DAT +++ b/tests/integration/data/large_tokamak_2_MFILE.DAT @@ -969,7 +969,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4498E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 7.9388E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 2.5118E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 1.6315E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_heat_total_mw)______________________ 1.6315E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.2901E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4138E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.4906E+02 OP diff --git a/tests/integration/data/large_tokamak_3_MFILE.DAT b/tests/integration/data/large_tokamak_3_MFILE.DAT index 567eef37f9..2c12638313 100644 --- a/tests/integration/data/large_tokamak_3_MFILE.DAT +++ b/tests/integration/data/large_tokamak_3_MFILE.DAT @@ -969,7 +969,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4498E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 7.9388E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 2.5118E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 1.6315E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_heat_total_mw)______________________ 1.6315E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.2901E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4138E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.4906E+02 OP diff --git a/tests/integration/data/large_tokamak_4_MFILE.DAT b/tests/integration/data/large_tokamak_4_MFILE.DAT index deeecf2eed..76d46c3c62 100644 --- a/tests/integration/data/large_tokamak_4_MFILE.DAT +++ b/tests/integration/data/large_tokamak_4_MFILE.DAT @@ -969,7 +969,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4498E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 7.9388E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 2.5118E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 1.6315E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_heat_total_mw)______________________ 1.6315E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.2901E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4138E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.4906E+02 OP diff --git a/tests/integration/data/large_tokamak_MFILE.DAT b/tests/integration/data/large_tokamak_MFILE.DAT index 7e3c91309c..7b1ee38b4a 100644 --- a/tests/integration/data/large_tokamak_MFILE.DAT +++ b/tests/integration/data/large_tokamak_MFILE.DAT @@ -972,7 +972,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4498E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 7.9388E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 2.5460E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 1.6290E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_heat_total_mw)______________________ 1.6290E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.2880E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4115E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.4882E+02 OP diff --git a/tests/integration/data/scan_2D_MFILE.DAT b/tests/integration/data/scan_2D_MFILE.DAT index e9ae0be043..deeab76ab0 100644 --- a/tests/integration/data/scan_2D_MFILE.DAT +++ b/tests/integration/data/scan_2D_MFILE.DAT @@ -970,7 +970,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4498E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 7.9388E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 2.3700E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 1.6103E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_heat_total_mw)______________________ 1.6103E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.2733E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.3954E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.4712E+02 OP @@ -2133,7 +2133,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4498E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 7.9388E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 2.3421E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 1.6251E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_heat_total_mw)______________________ 1.6251E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.2850E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4082E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.4847E+02 OP @@ -3296,7 +3296,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4498E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 7.9388E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 2.3152E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 1.6329E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_heat_total_mw)______________________ 1.6329E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.2912E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4150E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.4918E+02 OP @@ -4459,7 +4459,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4498E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 7.9388E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 2.3227E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 1.6357E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_heat_total_mw)______________________ 1.6357E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.2934E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4174E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.4944E+02 OP @@ -5622,7 +5622,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4498E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 7.9388E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 2.3582E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 1.6383E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_heat_total_mw)______________________ 1.6383E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.2955E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4196E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.4968E+02 OP @@ -6785,7 +6785,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4498E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 7.9388E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 2.3988E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 1.6332E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_heat_total_mw)______________________ 1.6332E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.2914E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4152E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.4920E+02 OP @@ -7948,7 +7948,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4498E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 7.9388E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 2.4079E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 1.6364E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_heat_total_mw)______________________ 1.6364E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.2940E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4180E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.4951E+02 OP @@ -9111,7 +9111,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4498E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 7.9388E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 2.3702E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 1.6387E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_heat_total_mw)______________________ 1.6387E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.2958E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4200E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.4971E+02 OP @@ -10274,7 +10274,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4498E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 7.9388E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 2.3232E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 1.6326E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_heat_total_mw)______________________ 1.6326E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.2909E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4147E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.4915E+02 OP @@ -11437,7 +11437,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4498E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 7.9388E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 2.3404E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 1.6432E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_heat_total_mw)______________________ 1.6432E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.2993E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4239E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.5012E+02 OP @@ -12600,7 +12600,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4498E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 7.9388E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 2.3925E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 1.6529E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_heat_total_mw)______________________ 1.6529E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.3070E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4323E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.5101E+02 OP @@ -13763,7 +13763,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4498E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 7.9388E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 2.4316E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 1.6523E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_heat_total_mw)______________________ 1.6523E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.3065E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4317E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.5095E+02 OP @@ -14926,7 +14926,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4498E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 7.9388E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 2.4474E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 1.6612E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_heat_total_mw)______________________ 1.6612E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.3135E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4394E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.5176E+02 OP @@ -16089,7 +16089,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4498E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 7.9388E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 2.4190E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 1.6699E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_heat_total_mw)______________________ 1.6699E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.3204E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4470E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.5256E+02 OP @@ -17252,7 +17252,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4498E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 7.9388E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 2.3908E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 1.6791E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_heat_total_mw)______________________ 1.6791E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.3277E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4550E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.5340E+02 OP diff --git a/tests/integration/data/scan_MFILE.DAT b/tests/integration/data/scan_MFILE.DAT index 30cadf5c7d..f758965959 100644 --- a/tests/integration/data/scan_MFILE.DAT +++ b/tests/integration/data/scan_MFILE.DAT @@ -798,7 +798,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4235E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 9.5369E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 5.8227E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 2.4609E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_heat_total_mw)______________________ 2.4609E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.5585E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4885E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.8507E+02 OP @@ -1793,7 +1793,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4235E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 9.5369E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 5.8227E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 2.4609E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_heat_total_mw)______________________ 2.4609E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.5585E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4885E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.8507E+02 OP @@ -2788,7 +2788,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4235E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 9.5369E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 5.8228E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 2.4609E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_heat_total_mw)______________________ 2.4609E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.5585E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4885E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.8507E+02 OP @@ -3783,7 +3783,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4235E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 9.5369E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 5.8228E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 2.4609E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_heat_total_mw)______________________ 2.4609E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.5585E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4885E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.8507E+02 OP @@ -4778,7 +4778,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4235E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 9.5369E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 5.8228E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 2.4609E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_heat_total_mw)______________________ 2.4609E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.5585E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4885E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.8507E+02 OP @@ -5773,7 +5773,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4235E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 9.5369E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 5.8228E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 2.4609E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_heat_total_mw)______________________ 2.4609E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.5585E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4885E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.8507E+02 OP @@ -6768,7 +6768,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4235E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 9.5369E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 5.8228E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 2.4609E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_heat_total_mw)______________________ 2.4609E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.5585E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4885E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.8507E+02 OP @@ -7763,7 +7763,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4235E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 9.5369E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 5.8228E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 2.4609E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_heat_total_mw)______________________ 2.4609E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.5585E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4885E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.8507E+02 OP @@ -8758,7 +8758,7 @@ Shield_Mass_(kg)________________________________________________________ (whtshld)_____________________ 2.4235E+06 OP Vacuum_vessel_mass_(kg)_________________________________________________ (vvmass)______________________ 9.5369E+06 OP Total_nuclear_heating_in_TF+PF_coils_(CS_is_negligible)_(MW)____________ (ptfnuc)______________________ 5.8228E-02 OP - Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_mw)______________________ 2.4609E+02 OP + Total_nuclear_heating_in_FW_(MW)________________________________________ (p_fw_nuclear_heat_total_mw)______________________ 2.4609E+02 OP Total_nuclear_heating_in_the_blanket_(including_emult)_(MW)_____________ (pnucblkt)____________________ 1.5585E+03 OP Total_nuclear_heating_in_the_shield_(MW)________________________________ (pnucshld)____________________ 1.4885E+00 OP Total_nuclear_heating_in_the_divertor_(MW)______________________________ (pnucdiv)_____________________ 1.8507E+02 OP diff --git a/tests/integration/ref_dicts.json b/tests/integration/ref_dicts.json index 483c36f087..cceb2981a6 100644 --- a/tests/integration/ref_dicts.json +++ b/tests/integration/ref_dicts.json @@ -3568,7 +3568,7 @@ "pnucblkti": 0.0, "pnucblkto": 0.0, "pnucdiv": 0.0, - "p_fw_nuclear_mw": 0.0, + "p_fw_nuclear_heat_total_mw": 0.0, "pnucfwi": 0.0, "pnucfwo": 0.0, "pnuchcd": 0.0, @@ -10326,7 +10326,7 @@ "pnucblkti": "Neutron power deposited inboard/outboard blanket blanket (MW)", "pnucblkto": "Neutron power deposited inboard/outboard blanket blanket (MW)", "pnucdiv": "nuclear heating in the divertor (MW)", - "p_fw_nuclear_mw": "nuclear heating in the first wall (MW)", + "p_fw_nuclear_heat_total_mw": "nuclear heating in the first wall (MW)", "pnucfwi": "Inboard/outboard first wall nuclear heating (MW)", "pnucfwo": "Inboard/outboard first wall nuclear heating (MW)", "pnuchcd": "nuclear heating in the HCD apparatus and diagnostics (MW)", @@ -18040,7 +18040,7 @@ "pnuc_cp_sh", "pnuc_cp_tf", "pnucdiv", - "p_fw_nuclear_mw", + "p_fw_nuclear_heat_total_mw", "pnuchcd", "pnucloss", "pnucvvplus", diff --git a/tests/unit/test_ccfe_hcpb.py b/tests/unit/test_ccfe_hcpb.py index e13c52ed71..65a059931f 100644 --- a/tests/unit/test_ccfe_hcpb.py +++ b/tests/unit/test_ccfe_hcpb.py @@ -416,7 +416,7 @@ def test_nuclear_heating_magnets(nuclearheatingmagnetsparam, monkeypatch, ccfe_h class NuclearHeatingFwParam(NamedTuple): - p_fw_nuclear_mw: Any = None + p_fw_nuclear_heat_total_mw: Any = None m_fw_total: Any = None @@ -424,7 +424,7 @@ class NuclearHeatingFwParam(NamedTuple): fw_armour_u_nuc_heating: Any = None - expected_p_fw_nuclear_mw: Any = None + expected_p_fw_nuclear_heat_total_mw: Any = None expected_fw_armour_u_nuc_heating: Any = None @@ -433,19 +433,19 @@ class NuclearHeatingFwParam(NamedTuple): "nuclearheatingfwparam", ( NuclearHeatingFwParam( - p_fw_nuclear_mw=0, + p_fw_nuclear_heat_total_mw=0, m_fw_total=224802.80270851994, fusion_power=1986.0623241661431, fw_armour_u_nuc_heating=0, - expected_p_fw_nuclear_mw=279.04523551646628, + expected_p_fw_nuclear_heat_total_mw=279.04523551646628, expected_fw_armour_u_nuc_heating=6.2500000000000005e-07, ), NuclearHeatingFwParam( - p_fw_nuclear_mw=276.80690153753221, + p_fw_nuclear_heat_total_mw=276.80690153753221, m_fw_total=182115.83467868491, fusion_power=1985.4423932312809, fw_armour_u_nuc_heating=6.2500000000000005e-07, - expected_p_fw_nuclear_mw=225.98781165610032, + expected_p_fw_nuclear_heat_total_mw=225.98781165610032, expected_fw_armour_u_nuc_heating=6.2500000000000005e-07, ), ), @@ -464,7 +464,9 @@ def test_nuclear_heating_fw(nuclearheatingfwparam, monkeypatch, ccfe_hcpb): """ monkeypatch.setattr( - fwbs_variables, "p_fw_nuclear_mw", nuclearheatingfwparam.p_fw_nuclear_mw + fwbs_variables, + "p_fw_nuclear_heat_total_mw", + nuclearheatingfwparam.p_fw_nuclear_heat_total_mw, ) monkeypatch.setattr(fwbs_variables, "m_fw_total", nuclearheatingfwparam.m_fw_total) @@ -481,8 +483,8 @@ def test_nuclear_heating_fw(nuclearheatingfwparam, monkeypatch, ccfe_hcpb): ccfe_hcpb.nuclear_heating_fw() - assert fwbs_variables.p_fw_nuclear_mw == pytest.approx( - nuclearheatingfwparam.expected_p_fw_nuclear_mw + assert fwbs_variables.p_fw_nuclear_heat_total_mw == pytest.approx( + nuclearheatingfwparam.expected_p_fw_nuclear_heat_total_mw ) assert ccfe_hcpb_module.fw_armour_u_nuc_heating == pytest.approx( @@ -802,7 +804,7 @@ class PowerflowCalcParam(NamedTuple): primary_pumping: Any = None - p_fw_nuclear_mw: Any = None + p_fw_nuclear_heat_total_mw: Any = None pnucblkt: Any = None @@ -889,7 +891,7 @@ class PowerflowCalcParam(NamedTuple): outlet_temp=823, blpressure=15500000, primary_pumping=3, - p_fw_nuclear_mw=276.80690153753221, + p_fw_nuclear_heat_total_mw=276.80690153753221, pnucblkt=1504.9215740808861, pnucdiv=182.71773382328519, pnucshld=1.3611259588044891, @@ -938,7 +940,7 @@ class PowerflowCalcParam(NamedTuple): outlet_temp=823, blpressure=15500000, primary_pumping=3, - p_fw_nuclear_mw=230.98304919926957, + p_fw_nuclear_heat_total_mw=230.98304919926957, pnucblkt=1550.1447895848396, pnucdiv=182.66070017727785, pnucshld=1.4038170956592293, @@ -1020,7 +1022,9 @@ def test_powerflow_calc(powerflowcalcparam, monkeypatch, ccfe_hcpb): ) monkeypatch.setattr( - fwbs_variables, "p_fw_nuclear_mw", powerflowcalcparam.p_fw_nuclear_mw + fwbs_variables, + "p_fw_nuclear_heat_total_mw", + powerflowcalcparam.p_fw_nuclear_heat_total_mw, ) monkeypatch.setattr(fwbs_variables, "pnucblkt", powerflowcalcparam.pnucblkt) diff --git a/tests/unit/test_dcll.py b/tests/unit/test_dcll.py index a973c4e83d..163468bc1a 100644 --- a/tests/unit/test_dcll.py +++ b/tests/unit/test_dcll.py @@ -47,7 +47,7 @@ class DcllNeutronicsAndPowerParam(NamedTuple): pradfw: Any = None - p_fw_nuclear_mw: Any = None + p_fw_nuclear_heat_total_mw: Any = None psurffwi: Any = None @@ -79,7 +79,7 @@ class DcllNeutronicsAndPowerParam(NamedTuple): expected_pradfw: Any = None - expected_p_fw_nuclear_mw: Any = None + expected_p_fw_nuclear_heat_total_mw: Any = None expected_pnucblkt: Any = None @@ -101,7 +101,7 @@ class DcllNeutronicsAndPowerParam(NamedTuple): pnuchcd=0, pnucshld=0, pradfw=0, - p_fw_nuclear_mw=0, + p_fw_nuclear_heat_total_mw=0, psurffwi=0, psurffwo=0, pnucblkt=0, @@ -117,7 +117,7 @@ class DcllNeutronicsAndPowerParam(NamedTuple): expected_praddiv=33.056596978820579, expected_pnucdiv=182.58994516305046, expected_pradfw=254.39207240222791, - expected_p_fw_nuclear_mw=196.72081918001697, + expected_p_fw_nuclear_heat_total_mw=196.72081918001697, expected_pnucblkt=1533.4949914565693, expected_emultmw=325.06710220789364, ), @@ -133,7 +133,7 @@ class DcllNeutronicsAndPowerParam(NamedTuple): pnuchcd=0, pnucshld=0, pradfw=254.39207240222791, - p_fw_nuclear_mw=196.72081918001697, + p_fw_nuclear_heat_total_mw=196.72081918001697, psurffwi=97.271629070225231, psurffwo=176.95628839065773, pnucblkt=1533.4949914565693, @@ -149,7 +149,7 @@ class DcllNeutronicsAndPowerParam(NamedTuple): expected_praddiv=33.056596978820579, expected_pnucdiv=182.53295140508826, expected_pradfw=254.39207240222791, - expected_p_fw_nuclear_mw=196.65941460078642, + expected_p_fw_nuclear_heat_total_mw=196.65941460078642, expected_pnucblkt=1533.0163252173013, expected_emultmw=324.96563552675644, ), @@ -201,7 +201,9 @@ def test_dcll_neutronics_and_power(dcllneutronicsandpowerparam, monkeypatch, dcl monkeypatch.setattr(fwbs_variables, "pradfw", dcllneutronicsandpowerparam.pradfw) monkeypatch.setattr( - fwbs_variables, "p_fw_nuclear_mw", dcllneutronicsandpowerparam.p_fw_nuclear_mw + fwbs_variables, + "p_fw_nuclear_heat_total_mw", + dcllneutronicsandpowerparam.p_fw_nuclear_heat_total_mw, ) monkeypatch.setattr( @@ -266,8 +268,8 @@ def test_dcll_neutronics_and_power(dcllneutronicsandpowerparam, monkeypatch, dcl dcllneutronicsandpowerparam.expected_pradfw ) - assert fwbs_variables.p_fw_nuclear_mw == pytest.approx( - dcllneutronicsandpowerparam.expected_p_fw_nuclear_mw + assert fwbs_variables.p_fw_nuclear_heat_total_mw == pytest.approx( + dcllneutronicsandpowerparam.expected_p_fw_nuclear_heat_total_mw ) assert fwbs_variables.pnucblkt == pytest.approx( diff --git a/tests/unit/test_power.py b/tests/unit/test_power.py index af22f310a7..f1b1510ebb 100644 --- a/tests/unit/test_power.py +++ b/tests/unit/test_power.py @@ -2051,7 +2051,7 @@ class Power2Param(NamedTuple): pradhcd: Any = None - p_fw_nuclear_mw: Any = None + p_fw_nuclear_heat_total_mw: Any = None htpmw_shld: Any = None @@ -2234,7 +2234,7 @@ class Power2Param(NamedTuple): pnuchcd=0, pnucshld=1.3609360176065353, pradhcd=0, - p_fw_nuclear_mw=276.76827393356979, + p_fw_nuclear_heat_total_mw=276.76827393356979, htpmw_shld=0.0068046800880326762, htpmw_blkt=0, psecshld=0, @@ -2336,7 +2336,7 @@ class Power2Param(NamedTuple): pnuchcd=0, pnucshld=1.4036212304705389, pradhcd=0, - p_fw_nuclear_mw=230.95082168283884, + p_fw_nuclear_heat_total_mw=230.95082168283884, htpmw_shld=0.0070181061523526943, htpmw_blkt=0, psecshld=0, @@ -2474,7 +2474,11 @@ def test_power2(power2param, monkeypatch, power): monkeypatch.setattr(fwbs_variables, "pradhcd", power2param.pradhcd) - monkeypatch.setattr(fwbs_variables, "p_fw_nuclear_mw", power2param.p_fw_nuclear_mw) + monkeypatch.setattr( + fwbs_variables, + "p_fw_nuclear_heat_total_mw", + power2param.p_fw_nuclear_heat_total_mw, + ) monkeypatch.setattr(heat_transport_variables, "htpmw_shld", power2param.htpmw_shld) From 691202763987322f5c69a13252c63aaeee2242b8 Mon Sep 17 00:00:00 2001 From: mn3981 Date: Tue, 18 Feb 2025 09:52:12 +0000 Subject: [PATCH 33/34] =?UTF-8?q?=F0=9F=94=84=20Add=20obsolete=20variable?= =?UTF-8?q?=20'denw'=20to=20OBS=5FVARS=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 --- process/io/obsolete_vars.py | 1 + 1 file changed, 1 insertion(+) diff --git a/process/io/obsolete_vars.py b/process/io/obsolete_vars.py index fd36bacc9f..734b2b73bd 100644 --- a/process/io/obsolete_vars.py +++ b/process/io/obsolete_vars.py @@ -213,6 +213,7 @@ "fwinlet": "temp_fw_coolant_in", "tfwmatmax": "temp_fw_max", "fw_channel_length": "len_fw_channel", + "denw": None, } OBS_VARS_HELP = { From 724c025f0979bb076b6de3be4d48b593f6ec342b Mon Sep 17 00:00:00 2001 From: mn3981 Date: Tue, 18 Feb 2025 10:07:05 +0000 Subject: [PATCH 34/34] Update ST tests --- .../input_files/spherical_tokamak_once_through.IN.DAT | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/regression/input_files/spherical_tokamak_once_through.IN.DAT b/tests/regression/input_files/spherical_tokamak_once_through.IN.DAT index c9558253e5..21a4bb15b4 100644 --- a/tests/regression/input_files/spherical_tokamak_once_through.IN.DAT +++ b/tests/regression/input_files/spherical_tokamak_once_through.IN.DAT @@ -229,12 +229,12 @@ divfix = 1.0 * divertor structure vertical thickness (m) fwbsshape = 1 * switch for first wall; blanket; shield and vacuum vessel shape; fw_armour_thickness = 0.003 * first wall armour thickness [m] -iblanket = 1 * switch for blanket model; +i_blanket_type = 1 * switch for blanket model; i_blkt_inboard = 0 * switch for inboard blanket; inuclear = 0 * switch for nuclear heating in the coils; primary_pumping = 3 * Switch for pumping power for primary coolant (mechanical power only and peak first wall secondary_cycle = 2 * Switch for power conversion cycle; -fwcoolant = helium * switch for first wall coolant (can be different from blanket coolant); +i_fw_coolant_type = helium * switch for first wall coolant (can be different from blanket coolant); etaiso = 0.9 * isentropic efficiency of FW and blanket coolant pumps etahtp = 0.87 * electrical efficiency of primary coolant pumps ipump = 0 * Switch for whether the FW and BB are on the same pump system