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

1from common.config_types import * 

2from common.config_utils import * 

3 

4 

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