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

1from common.config_types import * 

2from common.config_utils import * 

3from ..spec_helpers import * 

4from .heat_exchanger_config import heat_exchanger_config 

5 

6ntu_heat_exchanger_config: ObjectType = ObjectType( 

7 displayType="NTU Heat Exchanger", 

8 displayName="NTU Heat Exchanger", 

9 

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 ), 

64 

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)