Coverage for backend/django/flowsheetInternals/unitops/config/objects/reverse_osmosis_0d_config.py: 100%
3 statements
« prev ^ index » next coverage.py v7.10.7, created at 2026-03-26 20:57 +0000
« prev ^ index » next coverage.py v7.10.7, created at 2026-03-26 20:57 +0000
1from common.config_types import *
2from common.config_utils import *
5reverse_osmosis_0d_config: ObjectType = ObjectType.model_validate({
6 "displayType": "Reverse Osmosis (0D)",
7 "displayName": "Reverse Osmosis (0D)",
8 "ports": {
9 "inlet": {
10 "many": False,
11 "displayName": "Inlet",
12 "type": ConType.Inlet,
13 "default": 1,
14 "streamName": "S"
15 },
16 "retentate": {
17 "many": False,
18 "displayName": "Retentate",
19 "type": ConType.Outlet,
20 "default": 1,
21 "streamName": "Retentate S"
22 },
23 "permeate": {
24 "many": False,
25 "displayName": "Permeate",
26 "type": ConType.Outlet,
27 "default": 1,
28 "streamName": "Permeate S"
29 }
30 },
31 "propertyPackagePorts": {
32 "": ["inlet", "retentate", "permeate"]
33 },
34 "graphicObject": unitop_graphic(),
35 "properties": {
36 "A_comp": {
37 "displayName": "Membrane Water Permeability (A)",
38 "type": "numeric",
39 "unitType": "solventPermeability",
40 },
41 "B_comp": {
42 "displayName": "Membrane Salt Permeability (B)",
43 "type": "numeric",
44 "unitType": "velocity",
45 },
46 "permeate.pressure": {
47 "displayName": "Permeate Pressure",
48 "type": "numeric",
49 "unitType": "pressure",
50 },
51 "area": {
52 "displayName": "Membrane Area",
53 "type": "numeric",
54 "unitType": "area",
55 },
56 "feed_side.spacer_porosity": {
57 "displayName": "Feed Spacer Porosity",
58 "type": "numeric",
59 "unitType": "ratio",
60 },
61 "feed_side.channel_height": {
62 "displayName": "Feed Channel Height",
63 "type": "numeric",
64 "unitType": "distance",
65 },
66 "length": {
67 "displayName": "Membrane Length",
68 "type": "numeric",
69 "unitType": "distance",
70 },
71 "width": {
72 "displayName": "Membrane Width",
73 "type": "numeric",
74 "unitType": "distance",
75 },
76 "feed_side.N_Re": {
77 "displayName": "Inlet Reynolds Number",
78 "type": "numeric",
79 "unitType": "dimensionless",
80 },
81 "recovery_vol_phase": {
82 "displayName": "Volumetric Recovery",
83 "type": "numeric",
84 "unitType": "ratio",
85 },
86 "recovery_mass_phase_comp": {
87 "displayName": "Mass Recovery",
88 "type": "numeric",
89 "unitType": "ratio",
90 },
91 "rejection_phase_comp": {
92 "displayName": "Observed Solute Rejection",
93 "type": "numeric",
94 "unitType": "ratio",
95 },
96 "flux_mass_phase_comp_avg": {
97 "displayName": "Average Mass Flux",
98 "type": "numeric",
99 "unitType": "massflow",
100 },
101 "over_pressure_ratio": {
102 "displayName": "Over Pressure Ratio",
103 "type": "numeric",
104 "unitType": "ratio",
105 },
106 },
107 "propertySetGroups": {
108 "default": {
109 "type": "stateVars",
110 "displayName": "Properties",
111 "stateVars": (
112 "A_comp",
113 "B_comp",
114 "permeate.pressure",
115 "area",
116 "feed_side.spacer_porosity",
117 "feed_side.channel_height",
118 "length",
119 ),
120 }
121 },
122 "keyProperties": [
123 "recovery_vol_phase",
124 "recovery_mass_phase_comp",
125 "rejection_phase_comp",
126 "flux_mass_phase_comp_avg",
127 "over_pressure_ratio",
128 ],
129})