diff --git a/process/data_structure/vacuum_variables.py b/process/data_structure/vacuum_variables.py index 25204f6856..b0cd721ee7 100644 --- a/process/data_structure/vacuum_variables.py +++ b/process/data_structure/vacuum_variables.py @@ -1,4 +1,12 @@ from dataclasses import dataclass +from enum import IntEnum + + +class VacuumPumpType(IntEnum): + """Enum for vacuum pump types. Controlled via `i_vacuum_pump_type` in `VacuumData`.""" + + TURBOMOLECULAR = 0 + COMPOUND_CRYOPUMP = 1 @dataclass(slots=True) diff --git a/process/models/vacuum.py b/process/models/vacuum.py index 39f2be1786..5fc3c998e5 100644 --- a/process/models/vacuum.py +++ b/process/models/vacuum.py @@ -8,6 +8,7 @@ from process.core import constants, process_output from process.core import process_output as po from process.core.model import Model +from process.data_structure.vacuum_variables import VacuumPumpType from process.models.build import FwBlktVVShape from process.models.engineering.ivc_functions import dshellvol, eshellvol @@ -312,7 +313,8 @@ def vacuum( # nitrogen, DT, helium, DT again sp = ( [1.95, 1.8, 1.8, 1.8] - if self.data.vacuum.i_vacuum_pump_type == 0 + if VacuumPumpType(self.data.vacuum.i_vacuum_pump_type) + == VacuumPumpType.TURBOMOLECULAR else [9.0, 25.0, 5.0, 25.0] ) @@ -512,7 +514,10 @@ def vacuum( # If cryopumps are used then an additional pump is required # for continuous operation with regeneration. - if self.data.vacuum.i_vacuum_pump_type == 1: + if ( + VacuumPumpType(self.data.vacuum.i_vacuum_pump_type) + == VacuumPumpType.COMPOUND_CRYOPUMP + ): pumpn *= 2.0e0 # Information for costing routine @@ -658,7 +663,10 @@ def vacuum( process_output.oblnkl(self.outfile) i_fw_blkt_shared_coolant = ( - "cryo " if self.data.vacuum.i_vacuum_pump_type == 1 else "turbo" + "cryo " + if VacuumPumpType(self.data.vacuum.i_vacuum_pump_type) + == VacuumPumpType.COMPOUND_CRYOPUMP + else "turbo" ) process_output.oblnkl(self.outfile) diff --git a/tests/unit/models/test_costs_1990.py b/tests/unit/models/test_costs_1990.py index 831b08a72c..15819a386a 100644 --- a/tests/unit/models/test_costs_1990.py +++ b/tests/unit/models/test_costs_1990.py @@ -6,6 +6,7 @@ import pytest from process.data_structure.pfcoil_variables import PFConductorModel +from process.data_structure.vacuum_variables import VacuumPumpType from process.models.engineering.pumping import CoolantType from process.models.superconductors import ( SuperconductorModel, @@ -2936,7 +2937,7 @@ class Acc224Param(NamedTuple): m_vv_vacuum_duct_shield=0, n_vac_pumps_high=46, dia_vv_vacuum_ducts=0.57081858183821432, - i_vacuum_pump_type=1, + i_vacuum_pump_type=VacuumPumpType.COMPOUND_CRYOPUMP, n_vv_vacuum_ducts=16, c22=0, c2245=0, @@ -2953,7 +2954,7 @@ class Acc224Param(NamedTuple): m_vv_vacuum_duct_shield=0, n_vac_pumps_high=46, dia_vv_vacuum_ducts=0.57072331228476758, - i_vacuum_pump_type=1, + i_vacuum_pump_type=VacuumPumpType.COMPOUND_CRYOPUMP, n_vv_vacuum_ducts=16, c22=3474.7391916096453, c2245=0, diff --git a/tests/unit/models/test_vacuum.py b/tests/unit/models/test_vacuum.py index 7c869820e2..f1913200a2 100644 --- a/tests/unit/models/test_vacuum.py +++ b/tests/unit/models/test_vacuum.py @@ -2,6 +2,8 @@ import pytest +from process.data_structure.vacuum_variables import VacuumPumpType + @pytest.fixture def vacuum(process_models): @@ -70,7 +72,9 @@ def test_old_model(monkeypatch, vacuum): ) monkeypatch.setattr(vacuum.data.times, "t_plant_pulse_coil_precharge", 30) monkeypatch.setattr(vacuum.data.vacuum, "i_vac_pump_dwell", 0) - monkeypatch.setattr(vacuum.data.vacuum, "i_vacuum_pump_type", 1) + monkeypatch.setattr( + vacuum.data.vacuum, "i_vacuum_pump_type", VacuumPumpType.COMPOUND_CRYOPUMP + ) monkeypatch.setattr( vacuum.data.vacuum, "pres_vv_chamber_base", 0.00050000000000000001 )