Coverage for backend/ahuora-builder/src/ahuora_builder/methods/adapter_library.py: 100%

61 statements  

« prev     ^ index     » next       coverage.py v7.10.7, created at 2026-05-13 02:47 +0000

1from idaes.models.unit_models import ( 

2 Pump, 

3 Heater, 

4 Mixer, 

5 StateJunction, 

6 HeatExchanger, 

7 Turbine, 

8 PressureChanger, 

9) 

10from idaes.models.unit_models.heat_exchanger import delta_temperature_underwood_callback 

11from idaes.models.unit_models.pressure_changer import ThermodynamicAssumption 

12from idaes.models.unit_models.separator import SplittingType, EnergySplittingType 

13from ahuora_builder.custom.heat_exchanger_1d_wrapper import HeatExchanger1DWrapper 

14from . import adapter_methods as methods 

15from ..custom.custom_heat_exchanger import CustomHeatExchanger 

16from ..custom.PySMOModel import PySMOModel 

17from ..custom.energy.link import Link 

18from ..custom.energy.power_property_package import PowerParameterBlock 

19from ..custom.energy.ac_property_package import acParameterBlock 

20from ..custom.energy.transformer_property_package import transformerParameterBlock 

21from ..custom.updated_pressure_changer import Compressor 

22from ..custom.energy.solar import Solar 

23from ..custom.custom_valve import Valve 

24from ..custom.energy.wind import Wind 

25from ..custom.energy.energy_mixer import EnergyMixer 

26from ..custom.energy.bus import Bus 

27from ..custom.energy.acBus import acBus 

28from ..custom.energy.transmissionLine import transmissionLine 

29from ..custom.valve_wrapper import ValveWrapper 

30from ..custom.energy.load import Load 

31from ..custom.energy.hydro import Hydro 

32from ..custom.energy.transformer import Transformer 

33from ..custom.energy.storage import Storage 

34from ..custom.direct_steam_injection import Dsi 

35from ..custom.translator import GenericTranslator 

36from idaes.models.control.controller import ControllerType, ControllerMVBoundType 

37from ..custom.PIDController import PIDController2 

38from ..custom.energy.grid import Grid 

39from ..custom.custom_heater import DynamicHeater 

40from ..custom.custom_tank import CustomTank 

41from ..custom.custom_compressor import CustomCompressor 

42from ..custom.custom_pump import CustomPump 

43from ..custom.integration_block import IntegrationBlock 

44from idaes.models.unit_models.cstr import CSTR 

45from ..custom.energy.energy_splitter import EnergySplitter 

46from ..custom.custom_turbine import CustomTurbine 

47from ..custom.energy.mainDistributionBoard import MDB 

48from ..custom.custom_separator import CustomSeparator 

49from ..custom.custom_variable import CustomVariable 

50from ..custom.thermal_utility_systems.steam_header import SteamHeader 

51from ..custom.thermal_utility_systems.header import simple_header 

52from ..custom.reactions.hda_stoich import HDAStoichiometricReactor 

53from ..custom.custom_heat_exchanger_1d import CustomHeatExchanger1D 

54from ..custom.thermal_utility_systems.simple_heat_pump import SimpleHeatPump 

55from ..custom.thermal_utility_systems.steam_user import SteamUser 

56from ..custom.thermal_utility_systems.heat_user import HeatUser 

57from ..custom.thermal_utility_systems.desuperheater import Desuperheater 

58from idaes.models_extra.power_generation.unit_models.waterpipe import WaterPipe 

59from ..custom.SimpleEffectivenessHX_DH import HeatExchangerEffectiveness 

60from idaes.models.unit_models.heat_exchanger_lc import HeatExchangerLumpedCapacitance 

61from idaes.models_extra.column_models.plate_heat_exchanger import PlateHeatExchanger 

62from ..custom.custom_cooler import CustomCooler 

63from ..custom.watertap.reverse_osmosis_0d import ReverseOsmosis0D 

64from ..custom.watertap.pressure_exchanger import PressureExchanger 

65from ..custom.salt.crystallizer import Crystallizer 

66from collections.abc import Callable 

67 

68type ModelConstructor = Callable 

69 

70""" 

71A dictionary of adapters for the idaes model constructors 

72""" 

73AdapterLibrary: dict[str, ModelConstructor] = { 

74 "pump": CustomPump, 

75 "heater": DynamicHeater, 

76 "heat_user": HeatUser, 

77 "compressor": CustomCompressor, 

78 "turbine": CustomTurbine, 

79 "willans_turbine": CustomTurbine, 

80 "pl_turbine": CustomTurbine, 

81 "dts_turbine": CustomTurbine, 

82 "bs_turbine": CustomTurbine, 

83 "cs_turbine": CustomTurbine, 

84 "mixer": Mixer, 

85 "Tank": CustomTank, 

86 "heatExchanger": CustomHeatExchanger, 

87 "heatPump": SimpleHeatPump, 

88 "valve": ValveWrapper, 

89 "cooler": CustomCooler, 

90 "splitter": CustomSeparator, 

91 "phaseSeparator": CustomSeparator, 

92 "compoundSeparator": CustomSeparator, 

93 "machineLearningBlock": PySMOModel, 

94 "link": Link, 

95 "solar": Solar, 

96 "wind": Wind, 

97 "energy_mixer": EnergyMixer, 

98 "bus": Bus, 

99 "acBus": acBus, 

100 "transmissionLine": transmissionLine, 

101 "load": Load, 

102 "hydro": Hydro, 

103 "transformer": Transformer, 

104 "storage": Storage, 

105 "direct_steam_injection": Dsi, 

106 "translator": GenericTranslator, 

107 "pid_controller": PIDController2, 

108 "custom_variable": CustomVariable, 

109 "grid": Grid, 

110 "integration": IntegrationBlock, 

111 "stoich_hda": HDAStoichiometricReactor, 

112 "RCT_CSTR": CSTR, 

113 "energy_splitter": EnergySplitter, 

114 "mdb": MDB, 

115 "header": SteamHeader, 

116 "simple_header": simple_header, 

117 "heat_exchanger_1d": HeatExchanger1DWrapper, 

118 "steam_user": SteamUser, 

119 "desuperheater": Desuperheater, 

120 "heat_exchanger_ntu": HeatExchangerEffectiveness, 

121 "waterpipe": WaterPipe, 

122 "heat_exchanger_lc": HeatExchangerLumpedCapacitance, 

123 "plate_heat_exchanger": PlateHeatExchanger, 

124 "reverse_osmosis_0d": ReverseOsmosis0D, 

125 "pressure_exchanger": PressureExchanger, 

126 "crystallizer": Crystallizer, 

127}