Coverage for backend/django/flowsheetInternals/unitops/config/objects/ntu_heat_exchanger_config.py: 100%
5 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 *
4from .heat_exchanger_config import heat_exchanger_config
6ntu_heat_exchanger_config: ObjectType = ObjectType(
7 displayType="NTU Heat Exchanger",
8 displayName="NTU Heat Exchanger",
10 ports={
11 "coldInlet": PortType(
12 displayName="Cold Inlet",
13 type="inlet",
14 streamOffset=1,
15 streamName="CS",
16 ),
17 "hotInlet": PortType(
18 displayName="Hot Inlet",
19 type="inlet",
20 streamOffset=1,
21 streamName="HS",
22 ),
23 "coldOutlet": PortType(
24 displayName="Cold Outlet",
25 type="outlet",
26 streamOffset=1,
27 streamName="CS",
28 ),
29 "hotOutlet": PortType(
30 displayName="Hot Outlet",
31 type="outlet",
32 streamOffset=1,
33 streamName="HS",
34 ),
35 },
36 propertyPackagePorts={
37 "Cold Side": ["coldInlet", "coldOutlet"],
38 "Hot Side": ["hotInlet", "hotOutlet"]
39 },
40 graphicObject=unitop_graphic(),
41 properties=PropertiesType({
42 "heat_duty": PropertyType(
43 displayName="Heat Load",
44 type="numeric",
45 unitType="heatflow",
46 ),
47 "effectiveness": PropertyType(
48 displayName="Effectiveness",
49 type="numeric",
50 unitType="ratio",
51 ),
52 "cold_side.deltaP_inverted": PropertyType(
53 displayName="Pressure Drop (Cold Side)",
54 type="numeric",
55 unitType="pressure",
56 value=0.0,
57 ),
58 "hot_side.deltaP_inverted": PropertyType(
59 displayName="Pressure Drop (Hot Side)",
60 type="numeric",
61 unitType="pressure",
62 value=0.0,
63 ),
65 }),
66 propertySetGroups={
67 "default": {
68 "type": "stateVars",
69 "displayName": "Properties",
70 "stateVars": ("heat_transfer_coefficient", "area", "effectiveness","cold_side.deltaP_inverted", "hot_side.deltaP_inverted")
71 }
72 },
73 keyProperties=[
74 "heat_duty",
75 "logMeanTemperatureDifference",
76 "minimumTemperatureDifference"
77 ],
78 idaes_adapter=UnitModelAdapter(
79 args=ArgAdapter({
80 "hot_side": DictArgAdapter({
81 "property_package": PropertyPackageAdapter("Hot Side"),
82 "has_pressure_change": ConstantArg(True),
83 }),
84 "cold_side": DictArgAdapter({
85 "property_package": PropertyPackageAdapter("Cold Side"),
86 "has_pressure_change": ConstantArg(True),
87 }),
88 "dynamic": ConstantArg(False),
89 }),
90 properties=SerialisePropertiesAdapter(),
91 ports=PortListAdapter({
92 "cold_side_inlet": PortAdapter("coldInlet", inlet=True),
93 "hot_side_inlet": PortAdapter("hotInlet", inlet=True),
94 "cold_side_outlet": PortAdapter("coldOutlet"),
95 "hot_side_outlet": PortAdapter("hotOutlet"),
96 })
97 ),
98)