Coverage for backend/django/flowsheetInternals/unitops/config/objects/crystallizer_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 

5 

6crystallizer_config: ObjectType = ObjectType( 

7 displayType="Crystallizer", 

8 displayName="Crystallizer", 

9 ports={ 

10 "feed_inlet": PortType( 

11 many=False, 

12 displayName="Feed Inlet", 

13 type=ConType.Inlet, 

14 default=1, 

15 streamName="Feed S", 

16 ), 

17 "utility_inlet": PortType( 

18 many=False, 

19 displayName="Utility Inlet", 

20 type=ConType.Inlet, 

21 default=1, 

22 streamName="Utility S", 

23 ), 

24 "concentrate_outlet": PortType( 

25 many=False, 

26 displayName="Concentrate Outlet", 

27 type=ConType.Outlet, 

28 default=1, 

29 streamName="Concentrate S", 

30 ), 

31 "vapor_outlet": PortType( 

32 many=False, 

33 displayName="Vapor Outlet", 

34 type=ConType.Outlet, 

35 default=1, 

36 streamName="Vapor S", 

37 ), 

38 "utility_outlet": PortType( 

39 many=False, 

40 displayName="Utility Outlet", 

41 type=ConType.Outlet, 

42 default=1, 

43 streamName="Utility S", 

44 ), 

45 }, 

46 propertyPackagePorts={ 

47 "Process": ["feed_inlet", "concentrate_outlet", "vapor_outlet"], 

48 "Utility": ["utility_inlet", "utility_outlet"], 

49 }, 

50 graphicObject=unitop_graphic(), 

51 properties=PropertiesType({ 

52 "heat_duty": PropertyType( 

53 displayName="Heat Duty", 

54 type="numeric", 

55 unitType="heatflow", 

56 ), 

57 "deltaP_process": PropertyType( 

58 displayName="Process Pressure Change", 

59 propertySetGroup="pressure_change", 

60 type="numeric", 

61 unitType="pressure", 

62 ), 

63 "deltaP_utility": PropertyType( 

64 displayName="Utility Pressure Change", 

65 propertySetGroup="pressure_change", 

66 type="numeric", 

67 unitType="pressure", 

68 ), 

69 "has_pressure_change": PropertyType( 

70 displayName="Enable Pressure Change", 

71 propertySetGroup="pressure_change", 

72 type="checkbox", 

73 unitType="dimensionless", 

74 value=False, 

75 ), 

76 "utility_enthalpy_drop": PropertyType( 

77 displayName="Utility Enthalpy Drop", 

78 type="numeric", 

79 unitType="heatflow", 

80 ), 

81 "concentrate_liquid_phase_flow": PropertyType( 

82 displayName="Concentrate Liquid Flow", 

83 type="numeric", 

84 unitType="massflow", 

85 ), 

86 "concentrate_solid_phase_flow": PropertyType( 

87 displayName="Concentrate Solid Flow", 

88 type="numeric", 

89 unitType="massflow", 

90 ), 

91 "vapor_phase_flow": PropertyType( 

92 displayName="Vapor Flow", 

93 type="numeric", 

94 unitType="massflow", 

95 ), 

96 }), 

97 propertySetGroups={ 

98 "default": { 

99 "type": "stateVars", 

100 "displayName": "Properties", 

101 "stateVars": ( 

102 "heat_duty", 

103 ), 

104 }, 

105 "pressure_change": { 

106 "type": "stateVars", 

107 "displayName": "Pressure Change", 

108 "toggle": "has_pressure_change", 

109 "stateVars": ( 

110 "has_pressure_change", 

111 "deltaP_process", 

112 "deltaP_utility", 

113 ), 

114 } 

115 }, 

116 keyProperties=[ 

117 "utility_enthalpy_drop", 

118 "concentrate_liquid_phase_flow", 

119 "concentrate_solid_phase_flow", 

120 "vapor_phase_flow", 

121 ], 

122 idaes_adapter=UnitModelAdapter( 

123 args=ArgAdapter({ 

124 "process_property_package": PropertyPackageAdapter("Process"), 

125 "utility_property_package": PropertyPackageAdapter("Utility"), 

126 "has_pressure_change": ToggleAdapter("has_pressure_change"), 

127 }), 

128 properties=SerialisePropertiesAdapter(), 

129 ports=SerialisePortAdapter(), 

130 ), 

131)