Coverage for backend/django/flowsheetInternals/unitops/config/objects/heat_pump_config.py: 100%

4 statements  

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

1from common.config_types import * 

2from common.config_utils import * 

3from ..spec_helpers import * 

4 

5heat_pump_config: ObjectType = ObjectType( 

6 displayType="Heat Pump", 

7 displayName="Heat Pump", 

8 ports={ 

9 "source_inlet": PortType( 

10 displayName="Source Inlet", 

11 type="inlet", 

12 streamOffset=1, 

13 streamName="SRC", 

14 ), 

15 "sink_inlet": PortType( 

16 displayName="Sink Inlet", 

17 type="inlet", 

18 streamOffset=1, 

19 streamName="SNK", 

20 ), 

21 "source_outlet": PortType( 

22 displayName="Source Outlet", 

23 type="outlet", 

24 streamOffset=1, 

25 streamName="SRC_R", 

26 ), 

27 "sink_outlet": PortType( 

28 displayName="Sink Outlet", 

29 type="outlet", 

30 streamOffset=1, 

31 streamName="SNK_R", 

32 ), 

33 }, 

34 propertyPackagePorts={ 

35 "Source": ["source_inlet", "source_outlet"], 

36 "Sink": ["sink_inlet", "sink_outlet"] 

37 }, 

38 graphicObject=unitop_graphic(), 

39 properties=PropertiesType({ 

40 "work_mechanical": PropertyType( 

41 displayName="Mechanical Work", 

42 type="numeric", 

43 unitType="heatflow" 

44 ), 

45 "efficiency": PropertyType( 

46 displayName="Carnot Efficiency", 

47 type="numeric", 

48 unitType="ratio", 

49 hasTimeIndex=False, 

50 ), 

51 "approach_temperature": PropertyType( 

52 displayName="Approach Temperature", 

53 type="numeric", 

54 unitType="deltaTemperature", 

55 value=10, 

56 hasTimeIndex=False, 

57 ), 

58 "coefficient_of_performance": PropertyType( 

59 displayName="Coefficient of Performance (heating)", 

60 type="numeric", 

61 unitType="ratio", 

62 hasTimeIndex=False, 

63 ), 

64 "sink.heat": PropertyType( 

65 displayName="Heating Duty", 

66 type="numeric", 

67 unitType="heatflow", 

68 ), 

69 "source.heat": PropertyType( 

70 displayName="Cooling Duty", 

71 type="numeric", 

72 unitType="heatflow", 

73 ), 

74 }), 

75 propertySetGroups={ 

76 "default": { 

77 "type": "stateVars", 

78 "displayName": "Properties", 

79 "stateVars": ("work_mechanical", "efficiency","approach_temperature") 

80 } 

81 }, 

82 keyProperties=[ 

83 "work_mechanical", 

84 "coefficient_of_performance", 

85 ], 

86 idaes_adapter=UnitModelAdapter( 

87 args=ArgAdapter({ 

88 "source": DictArgAdapter({ 

89 "property_package": PropertyPackageAdapter("Source"), 

90 "has_pressure_change": ConstantArg(False), 

91 }), 

92 "sink": DictArgAdapter({ 

93 "property_package": PropertyPackageAdapter("Sink"), 

94 "has_pressure_change": ConstantArg(False), 

95 }), 

96 "dynamic": ConstantArg(False), 

97 }), 

98 properties=SerialisePropertiesAdapter(), 

99 ports=SerialisePortAdapter() 

100 ), 

101)