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