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
« 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 *
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)