diff --git a/docs/4-add-validation-based-on-optihorst/build/build.svg b/docs/10_jupyter_notebook_compressor_model/build/build.svg similarity index 100% rename from docs/4-add-validation-based-on-optihorst/build/build.svg rename to docs/10_jupyter_notebook_compressor_model/build/build.svg diff --git a/docs/4-add-validation-based-on-optihorst/coverage/.gitignore b/docs/10_jupyter_notebook_compressor_model/coverage/.gitignore similarity index 100% rename from docs/4-add-validation-based-on-optihorst/coverage/.gitignore rename to docs/10_jupyter_notebook_compressor_model/coverage/.gitignore diff --git a/docs/4-add-validation-based-on-optihorst/coverage/badge.svg b/docs/10_jupyter_notebook_compressor_model/coverage/badge.svg similarity index 88% rename from docs/4-add-validation-based-on-optihorst/coverage/badge.svg rename to docs/10_jupyter_notebook_compressor_model/coverage/badge.svg index d1f8965..5d787db 100644 --- a/docs/4-add-validation-based-on-optihorst/coverage/badge.svg +++ b/docs/10_jupyter_notebook_compressor_model/coverage/badge.svg @@ -15,7 +15,7 @@ coverage coverage - 53% - 53% + 58% + 58% diff --git a/docs/4-add-validation-based-on-optihorst/coverage/coverage_html.js b/docs/10_jupyter_notebook_compressor_model/coverage/coverage_html.js similarity index 100% rename from docs/4-add-validation-based-on-optihorst/coverage/coverage_html.js rename to docs/10_jupyter_notebook_compressor_model/coverage/coverage_html.js diff --git a/docs/4-add-validation-based-on-optihorst/coverage/d_35fc0e049e81dfd6___init___py.html b/docs/10_jupyter_notebook_compressor_model/coverage/d_35fc0e049e81dfd6___init___py.html similarity index 96% rename from docs/4-add-validation-based-on-optihorst/coverage/d_35fc0e049e81dfd6___init___py.html rename to docs/10_jupyter_notebook_compressor_model/coverage/d_35fc0e049e81dfd6___init___py.html index dafd9ef..b486f9b 100644 --- a/docs/4-add-validation-based-on-optihorst/coverage/d_35fc0e049e81dfd6___init___py.html +++ b/docs/10_jupyter_notebook_compressor_model/coverage/d_35fc0e049e81dfd6___init___py.html @@ -64,8 +64,8 @@

^ index     » next       - coverage.py v7.3.4, - created at 2023-12-21 20:11 +0000 + coverage.py v7.4.4, + created at 2024-10-17 09:57 +0000

- 75 statements   - + 70 statements   +

@@ -64,8 +64,8 @@

^ index     » next       - coverage.py v7.3.4, - created at 2023-12-21 20:11 +0000 + coverage.py v7.4.4, + created at 2024-10-17 09:57 +0000

- 135 statements   - - + 133 statements   + +

- « prev     + « prev     ^ index     » next       - coverage.py v7.3.4, - created at 2023-12-21 20:11 +0000 + coverage.py v7.4.4, + created at 2024-10-17 09:57 +0000

- 45 statements   - + 50 statements   +

@@ -64,8 +64,8 @@

^ index     » next       - coverage.py v7.3.4, - created at 2023-12-21 20:11 +0000 + coverage.py v7.4.4, + created at 2024-10-17 09:57 +0000

- 54 statements   - + 52 statements   +

@@ -64,8 +64,8 @@

^ index     » next       - coverage.py v7.3.4, - created at 2023-12-21 20:11 +0000 + coverage.py v7.4.4, + created at 2024-10-17 09:57 +0000

- « prev     + « prev     ^ index     - » next + » next       - coverage.py v7.3.4, - created at 2023-12-21 20:11 +0000 + coverage.py v7.4.4, + created at 2024-10-17 09:57 +0000

- 320 statements   - - + 228 statements   + +

@@ -64,8 +64,8 @@

^ index     » next       - coverage.py v7.3.4, - created at 2023-12-21 20:11 +0000 + coverage.py v7.4.4, + created at 2024-10-17 09:57 +0000

-

- « prev     - ^ index     - » next -       - coverage.py v7.3.4, - created at 2023-12-21 20:11 +0000 -

- - - -
-

1import logging 

-

2 

-

3import numpy as np 

-

4from vclibpy.datamodels import FlowsheetState, Inputs 

-

5from vclibpy.components.heat_exchangers import HeatExchanger 

-

6from vclibpy.media import ThermodynamicState 

-

7 

-

8logger = logging.getLogger(__name__) 

-

9 

-

10 

-

11def calc_area(Q, k, Tm): 

-

12 if Tm * k == 0: 

-

13 return 1e10 # A really large number, but not np.inf to still be able to calculate with it 

-

14 else: 

-

15 return Q / (k * Tm) 

-

16 

-

17 

-

18def calc_mean_temperature( 

-

19 T_hot_in: float, T_hot_out: float, 

-

20 T_cold_in: float, T_cold_out: float, 

-

21 flow_type: str = "counter" 

-

22): 

-

23 if flow_type == "counter": 

-

24 dT_A = T_hot_in - T_cold_out 

-

25 dT_B = T_hot_out - T_cold_in 

-

26 elif flow_type == "parallel": 

-

27 dT_A = T_hot_in - T_cold_in 

-

28 dT_B = T_hot_out - T_cold_out 

-

29 else: 

-

30 raise TypeError("Given flow_type is not supported yet") 

-

31 if dT_B < 0 or dT_A < 0: 

-

32 return 0 # Heat can't be transferred 

-

33 if np.isclose(dT_B, 0) or np.isclose(dT_A, 0) or np.isclose(dT_B, dT_A): 

-

34 return abs((dT_A + dT_B) / 2) 

-

35 return (dT_A - dT_B) / np.log(dT_A / dT_B) 

-

36 

-

37 

-

38def separate_phases(m_flow, med_prop, state_max: ThermodynamicState, state_min: ThermodynamicState, p: float): 

-

39 """ 

-

40 Separates a flow with possible phase changes into three parts: 

-

41 subcooling (sc), latent phase change (lat), and superheating (sh) 

-

42 at the given pressure. 

-

43 

-

44 Args: 

-

45 state_max (ThermodynamicState): State with higher enthalpy. 

-

46 state_min (ThermodynamicState): State with lower enthalpy. 

-

47 p (float): Pressure of phase change. 

-

48 

-

49 Returns: 

-

50 Tuple[float, float, float, ThermodynamicState, ThermodynamicState]: 

-

51 Q_sc: Heat for subcooling. 

-

52 Q_lat: Heat for latent phase change. 

-

53 Q_sh: Heat for superheating. 

-

54 state_q0: State at vapor quality 0 and the given pressure. 

-

55 state_q1: State at vapor quality 1 and the given pressure. 

-

56 """ 

-

57 # Get relevant states: 

-

58 state_q0 = med_prop.calc_state("PQ", p, 0) 

-

59 state_q1 = med_prop.calc_state("PQ", p, 1) 

-

60 Q_sc = max(0.0, 

-

61 min((state_q0.h - state_min.h), 

-

62 (state_max.h - state_min.h))) * m_flow 

-

63 Q_lat = max(0.0, 

-

64 (min(state_max.h, state_q1.h) - 

-

65 max(state_min.h, state_q0.h))) * m_flow 

-

66 Q_sh = max(0.0, 

-

67 min((state_max.h - state_q1.h), 

-

68 (state_max.h - state_min.h))) * m_flow 

-

69 return Q_sc, Q_lat, Q_sh, state_q0, state_q1 

-

70 

-

71 

-

72class MovingBoundaryTmCondenser(HeatExchanger): 

-

73 """ 

-

74 Condenser class which implements the actual `calc` method. 

-

75 

-

76 Assumptions: 

-

77 - No phase changes in secondary medium 

-

78 - cp of secondary medium is constant over heat-exchanger 

-

79 

-

80 See parent classes for arguments. 

-

81 """ 

-

82 

-

83 def calc(self, inputs: Inputs, fs_state: FlowsheetState) -> (float, float): 

-

84 """ 

-

85 Calculate the heat exchanger with the Tm-Method based on the given inputs. 

-

86 

-

87 The flowsheet state can be used to save important variables 

-

88 during calculation for later analysis. 

-

89 

-

90 Both return values are used to check if the heat transfer is valid or not. 

-

91 

-

92 Args: 

-

93 inputs (Inputs): The inputs for the calculation. 

-

94 fs_state (FlowsheetState): The flowsheet state to save important variables. 

-

95 

-

96 Returns: 

-

97 Tuple[float, float]: 

-

98 error: Error in percentage between the required and calculated heat flow rates. 

-

99 dT_min: Minimal temperature difference (can be negative). 

-

100 """ 

-

101 self.m_flow_secondary = inputs.m_flow_con # [kg/s] 

-

102 self.calc_secondary_cp(T=inputs.T_con_in) 

-

103 

-

104 # First we separate the flow: 

-

105 Q_sc, Q_lat, Q_sh, state_q0, state_q1 = separate_phases( 

-

106 m_flow=self.m_flow, 

-

107 med_prop=self.med_prop, 

-

108 state_max=self.state_inlet, 

-

109 state_min=self.state_outlet, 

-

110 p=self.state_inlet.p 

-

111 ) 

-

112 Q = Q_sc + Q_lat + Q_sh 

-

113 

-

114 # Note: As Q_con_Tm has to converge to Q_con (m_ref*delta_h), we can safely 

-

115 # calculate the output temperature. 

-

116 

-

117 T_mean = inputs.T_con_in + self.calc_secondary_Q_flow(Q) / (self.m_flow_secondary_cp * 2) 

-

118 tra_prop_med = self.calc_transport_properties_secondary_medium(T_mean) 

-

119 alpha_med_wall = self.calc_alpha_secondary(tra_prop_med) 

-

120 

-

121 # Calculate secondary_medium side temperatures: 

-

122 # Assumption loss is the same correlation for each regime 

-

123 T_sc = inputs.T_con_in + self.calc_secondary_Q_flow(Q_sc) / self.m_flow_secondary_cp 

-

124 T_sh = T_sc + self.calc_secondary_Q_flow(Q_lat) / self.m_flow_secondary_cp 

-

125 T_out = T_sh + self.calc_secondary_Q_flow(Q_sh) / self.m_flow_secondary_cp 

-

126 

-

127 # 1. Regime: Subcooling 

-

128 Q_sc_Tm, A_sc, A_sc_available = 0, 0, 0 

-

129 if Q_sc > 0 and (state_q0.T != self.state_outlet.T): 

-

130 # Get transport properties: 

-

131 tra_prop_ref_con = self.med_prop.calc_mean_transport_properties(state_q0, self.state_outlet) 

-

132 alpha_ref_wall = self.calc_alpha_liquid(tra_prop_ref_con) 

-

133 

-

134 # Only use still available area: 

-

135 k_sc = self.calc_k(alpha_pri=alpha_ref_wall, alpha_sec=alpha_med_wall) 

-

136 T_m_sc = calc_mean_temperature( 

-

137 T_hot_in=state_q0.T, T_hot_out=self.state_outlet.T, 

-

138 T_cold_in=inputs.T_con_in, T_cold_out=T_sc 

-

139 ) 

-

140 A_sc = calc_area(Q_sc, k_sc, T_m_sc) 

-

141 A_sc_available = min(self.A, A_sc) 

-

142 Q_sc_Tm = A_sc_available * k_sc * T_m_sc 

-

143 

-

144 # 2. Regime: Latent heat exchange 

-

145 Q_lat_Tm, A_lat, A_lat_available = 0, 0, 0 

-

146 if Q_lat > 0: 

-

147 # Get transport properties: 

-

148 alpha_ref_wall = self.calc_alpha_two_phase( 

-

149 state_q0=state_q0, 

-

150 state_q1=state_q1, 

-

151 fs_state=fs_state, 

-

152 inputs=inputs 

-

153 ) 

-

154 k_lat = self.calc_k(alpha_pri=alpha_ref_wall, alpha_sec=alpha_med_wall) 

-

155 T_m_lat = calc_mean_temperature( 

-

156 T_hot_in=state_q1.T, T_hot_out=state_q0.T, 

-

157 T_cold_in=T_sc, T_cold_out=T_sh 

-

158 ) 

-

159 A_lat = calc_area(Q_lat, k_lat, T_m_lat) 

-

160 # Only use still available area: 

-

161 A_lat_available = min(max(self.A - A_sc_available, 0), A_lat) 

-

162 Q_lat_Tm = A_lat_available * k_lat * T_m_lat 

-

163 

-

164 logger.debug(f"con_lat: pri: {round(alpha_ref_wall, 2)} sec: {round(alpha_med_wall, 2)}") 

-

165 

-

166 # 3. Regime: Superheat heat exchange 

-

167 Q_sh_Tm, A_sh = 0, 0 

-

168 if Q_sh and (self.state_inlet.T != state_q1.T): 

-

169 # Get transport properties: 

-

170 tra_prop_ref_con = self.med_prop.calc_mean_transport_properties(self.state_inlet, state_q1) 

-

171 alpha_ref_wall = self.calc_alpha_gas(tra_prop_ref_con) 

-

172 

-

173 k_sh = self.calc_k(alpha_pri=alpha_ref_wall, alpha_sec=alpha_med_wall) 

-

174 T_m_sh = calc_mean_temperature( 

-

175 T_hot_in=self.state_inlet.T, T_hot_out=state_q1.T, 

-

176 T_cold_in=T_sh, T_cold_out=T_out 

-

177 ) 

-

178 A_sh = calc_area(Q_sh, k_sh, T_m_sh) 

-

179 # Only use still available area: 

-

180 A_sh_available = min(max(self.A - A_sc_available - A_lat_available, 0), A_sh) 

-

181 Q_sh_Tm = A_sh_available * k_sh * T_m_sh 

-

182 

-

183 logger.debug(f"con_sh: pri: {round(alpha_ref_wall, 2)} sec: {round(alpha_med_wall, 2)}") 

-

184 

-

185 A_necessary = A_sh + A_lat + A_sc 

-

186 Q_Tm = Q_sh_Tm + Q_sc_Tm + Q_lat_Tm 

-

187 error_A = (1 - A_necessary / self.A) * 100 

-

188 error = (Q_Tm / Q - 1) * 100 

-

189 # Get possible dT_min: 

-

190 dT_min_in = self.state_outlet.T - inputs.T_con_in 

-

191 dT_min_out = self.state_inlet.T - T_out 

-

192 dT_min_LatSH = state_q1.T - T_sh 

-

193 

-

194 fs_state.set(name="A_con_sh", value=A_sh, unit="m2", description="Area for superheat heat exchange in condenser") 

-

195 fs_state.set(name="A_con_lat", value=A_lat, unit="m2", description="Area for latent heat exchange in condenser") 

-

196 fs_state.set(name="A_con_sc", value=A_sc, unit="m2", description="Area for subcooling heat exchange in condenser") 

-

197 

-

198 return error, min(dT_min_in, 

-

199 dT_min_LatSH, 

-

200 dT_min_out) 

-

201 

-

202 

-

203class MovingBoundaryTmEvaporator(HeatExchanger): 

-

204 """ 

-

205 Evaporator class which implements the actual `calc` method. 

-

206 

-

207 Assumptions: 

-

208 - No phase changes in secondary medium 

-

209 - cp of secondary medium is constant over heat-exchanger 

-

210 

-

211 See parent classes for arguments. 

-

212 """ 

-

213 

-

214 def calc(self, inputs: Inputs, fs_state: FlowsheetState) -> (float, float): 

-

215 """ 

-

216 Calculate the heat exchanger with the Tm-Method based on the given inputs. 

-

217 

-

218 The flowsheet state can be used to save important variables 

-

219 during calculation for later analysis. 

-

220 

-

221 Both return values are used to check if the heat transfer is valid or not. 

-

222 

-

223 Args: 

-

224 inputs (Inputs): The inputs for the calculation. 

-

225 fs_state (FlowsheetState): The flowsheet state to save important variables. 

-

226 

-

227 Returns: 

-

228 Tuple[float, float]: 

-

229 error: Error in percentage between the required and calculated heat flow rates. 

-

230 dT_min: Minimal temperature difference (can be negative). 

-

231 """ 

-

232 self.m_flow_secondary = inputs.m_flow_eva # [kg/s] 

-

233 self.calc_secondary_cp(T=inputs.T_eva_in) 

-

234 

-

235 # First we separate the flow: 

-

236 Q_sc, Q_lat, Q_sh, state_q0, state_q1 = separate_phases( 

-

237 m_flow=self.m_flow, 

-

238 med_prop=self.med_prop, 

-

239 state_max=self.state_outlet, 

-

240 state_min=self.state_inlet, 

-

241 p=self.state_outlet.p 

-

242 ) 

-

243 

-

244 Q = Q_sc + Q_lat + Q_sh 

-

245 

-

246 # Note: As Q_eva_Tm has to converge to Q_eva (m_ref*delta_h), we can safely 

-

247 # calculate the output temperature. 

-

248 T_mean = inputs.T_eva_in - Q / (self.m_flow_secondary_cp * 2) 

-

249 tra_prop_med = self.calc_transport_properties_secondary_medium(T_mean) 

-

250 alpha_med_wall = self.calc_alpha_secondary(tra_prop_med) 

-

251 # alpha_med_wall = 26 

-

252 

-

253 # Calculate secondary_medium side temperatures: 

-

254 T_sh = inputs.T_eva_in - Q_sh / self.m_flow_secondary_cp 

-

255 T_sc = T_sh - Q_lat / self.m_flow_secondary_cp 

-

256 T_out = T_sc - Q_sc / self.m_flow_secondary_cp 

-

257 

-

258 # 1. Regime: Superheating 

-

259 Q_sh_Tm, A_sh, A_sh_available = 0, 0, 0 

-

260 if Q_sh and (self.state_outlet.T != state_q1.T): 

-

261 # Get transport properties: 

-

262 tra_prop_ref_eva = self.med_prop.calc_mean_transport_properties(self.state_outlet, state_q1) 

-

263 alpha_ref_wall = self.calc_alpha_gas(tra_prop_ref_eva) 

-

264 

-

265 k_sh = self.calc_k(alpha_pri=alpha_ref_wall, alpha_sec=alpha_med_wall) 

-

266 T_m_sh = calc_mean_temperature( 

-

267 T_hot_in=inputs.T_eva_in, T_hot_out=T_sh, 

-

268 T_cold_in=state_q1.T, T_cold_out=self.state_outlet.T 

-

269 ) 

-

270 # Only use still available area: 

-

271 A_sh = calc_area(Q_sh, k_sh, T_m_sh) 

-

272 A_sh_available = min(self.A, A_sh) 

-

273 Q_sh_Tm = A_sh_available * k_sh * T_m_sh 

-

274 

-

275 logger.debug(f"eva_sh: pri: {round(alpha_ref_wall, 2)} sec: {round(alpha_med_wall, 2)}") 

-

276 

-

277 # 2. Regime: Latent heat exchange 

-

278 Q_lat_Tm, A_lat, A_lat_available = 0, 0, 0 

-

279 if Q_lat > 0: 

-

280 alpha_ref_wall = self.calc_alpha_two_phase( 

-

281 state_q0=state_q0, 

-

282 state_q1=state_q1, 

-

283 fs_state=fs_state, 

-

284 inputs=inputs 

-

285 ) 

-

286 k_lat = self.calc_k(alpha_pri=alpha_ref_wall, alpha_sec=alpha_med_wall) 

-

287 T_m_lat = calc_mean_temperature( 

-

288 T_hot_in=T_sh, T_hot_out=T_sc, 

-

289 T_cold_in=state_q0.T, T_cold_out=state_q1.T 

-

290 ) 

-

291 A_lat = calc_area(Q_lat, k_lat, T_m_lat) 

-

292 # Only use still available area: 

-

293 A_lat_available = min(max(self.A - A_sh_available, 0), A_lat) 

-

294 Q_lat_Tm = A_lat_available * k_lat * T_m_lat 

-

295 

-

296 logger.debug(f"eva_lat: pri: {round(alpha_ref_wall, 2)} sec: {round(alpha_med_wall, 2)}") 

-

297 

-

298 # 3. Regime: Subcooling 

-

299 Q_sc_Tm, A_sc = 0, 0 

-

300 if Q_sc > 0 and (state_q0.T != self.state_inlet.T): 

-

301 # Get transport properties: 

-

302 tra_prop_ref_eva = self.med_prop.calc_mean_transport_properties(state_q0, self.state_inlet) 

-

303 alpha_ref_wall = self.calc_alpha_liquid(tra_prop_ref_eva) 

-

304 

-

305 # Only use still available area: 

-

306 k_sc = self.calc_k(alpha_pri=alpha_ref_wall, alpha_sec=alpha_med_wall) 

-

307 T_m_sc = calc_mean_temperature( 

-

308 T_hot_in=T_sc, T_hot_out=T_out, 

-

309 T_cold_in=self.state_inlet.T, T_cold_out=state_q0.T 

-

310 ) 

-

311 A_sc = calc_area(Q_sc, k_sc, T_m_sc) 

-

312 A_sc_available = min(max(self.A - A_sh_available - A_lat_available, 0), A_sc) 

-

313 Q_sc_Tm = A_sc_available * k_sc * T_m_sc 

-

314 

-

315 A_necessary = A_sc + A_lat + A_sh 

-

316 Q_Tm = Q_sh_Tm + Q_sc_Tm + Q_lat_Tm 

-

317 error_A = (A_necessary / self.A - 1) * 100 

-

318 error = (Q_Tm / Q - 1) * 100 

-

319 # Get dT_min 

-

320 dT_min_in = inputs.T_eva_in - self.state_outlet.T 

-

321 dT_min_out = T_out - self.state_inlet.T 

-

322 

-

323 fs_state.set(name="A_eva_sh", value=A_sh, unit="m2", description="Area for superheat heat exchange in evaporator") 

-

324 fs_state.set(name="A_eva_lat", value=A_lat, unit="m2", description="Area for latent heat exchange in evaporator") 

-

325 

-

326 return error, min(dT_min_out, dT_min_in) 

-
- - - diff --git a/docs/4-add-validation-based-on-optihorst/coverage/d_4deeb89b86ecce82_vdi_atlas_plate_he_py.html b/docs/4-add-validation-based-on-optihorst/coverage/d_4deeb89b86ecce82_vdi_atlas_plate_he_py.html deleted file mode 100644 index 8c722a0..0000000 --- a/docs/4-add-validation-based-on-optihorst/coverage/d_4deeb89b86ecce82_vdi_atlas_plate_he_py.html +++ /dev/null @@ -1,223 +0,0 @@ - - - - - Coverage for vclibpy/components/heat_exchangers/heat_transfer/vdi_atlas_plate_he.py: 0% - - - - - -
-
-

- Coverage for vclibpy/components/heat_exchangers/heat_transfer/vdi_atlas_plate_he.py: - 0% -

- -

- 44 statements   - - - -

-

- « prev     - ^ index     - » next -       - coverage.py v7.3.4, - created at 2023-12-21 20:11 +0000 -

- -
-
-
-

1import logging 

-

2from dataclasses import dataclass 

-

3 

-

4import numpy as np 

-

5 

-

6from .heat_transfer import HeatTransfer 

-

7from vclibpy.media import TransportProperties 

-

8 

-

9logger = logging.getLogger(__name__) 

-

10 

-

11 

-

12@dataclass 

-

13class PlateHeatExchangerGeometry: 

-

14 """ 

-

15 Geometry of a fin and tube heat exchanger with two rows of pipes in a shifted arrangement. 

-

16 

-

17 Source: VDI-Wärmeatlas, Druckverlust und Wärmeübergang in Plattenwärmeübertragern, 11. Auflage, S.1687 

-

18 

-

19 

-

20 """ 

-

21 wall_thickness: float # thickness of a plate 

-

22 lambda_w: float # thermal conductivity of plates 

-

23 amplitude: float # amplitude of a wavy plate 

-

24 wave_length: float # wavelength of a wavy plate 

-

25 phi: float # embossing angle 

-

26 width: float # width of a plate 

-

27 height: float # height of a plate 

-

28 n_plates: float # number of plates 

-

29 

-

30 @property 

-

31 def X(self) -> float: 

-

32 """return the wave number""" 

-

33 return 2 * np.pi * self.amplitude / self.wave_length 

-

34 

-

35 @property 

-

36 def enlargement_factor(self) -> float: 

-

37 """return surface enlargement factor""" 

-

38 return (1 + np.sqrt(1 + self.X ** 2) + 4 * np.sqrt(1 + self.X ** 2 / 2)) / 6 

-

39 

-

40 @property 

-

41 def d_h(self) -> float: 

-

42 """return hydraulic diameter""" 

-

43 return 4 * self.amplitude / self.enlargement_factor 

-

44 

-

45 @property 

-

46 def A(self) -> float: 

-

47 """return plate surface""" 

-

48 return self.height * self.width * self.enlargement_factor * self.n_plates 

-

49 

-

50 

-

51class VDIAtlasPlateHeatTransfer(HeatTransfer): 

-

52 """ 

-

53 VDI-Atlas based heat transfer estimation. 

-

54 Check `AirToWallTransfer` for further argument options. 

-

55 

-

56 This class assumes two pipes with a shifted arrangement. 

-

57 

-

58 Args: 

-

59 A_cross (float): Free cross-sectional area. 

-

60 characteristic_length (float): Characteristic length d_a. 

-

61 geometry_parameters (AirSourceHeatExchangerGeometry): 

-

62 Geometry parameters for heat exchanger according to VDI-Atlas 

-

63 """ 

-

64 

-

65 def __init__(self, 

-

66 geometry_parameters: PlateHeatExchangerGeometry): 

-

67 super().__init__() 

-

68 self.geometry_parameters = geometry_parameters 

-

69 

-

70 def calc(self, transport_properties: TransportProperties, m_flow: float) -> float: 

-

71 """ 

-

72 Calculate heat transfer coefficient from refrigerant to the wall of the heat exchanger. 

-

73 

-

74 The flow is assumed to be always turbulent and is based on a calibrated 

-

75 Nusselt correlation. 

-

76 

-

77 Args: 

-

78 transport_properties (TransportProperties): Transport properties of the fluid. 

-

79 m_flow (float): Mass flow rate of the fluid. 

-

80 

-

81 Returns: 

-

82 float: Heat transfer coefficient from refrigerant to HE in W/(m^2*K). 

-

83 """ 

-

84 Re = self.calc_reynolds( 

-

85 dynamic_viscosity=transport_properties.dyn_vis, 

-

86 m_flow=m_flow 

-

87 ) 

-

88 Nu = self.calc_turbulent_plate_nusselt(Re, transport_properties.Pr) 

-

89 return Nu * transport_properties.lam / self.geometry_parameters.d_h 

-

90 

-

91 def calc_reynolds(self, dynamic_viscosity: float, m_flow: float) -> float: 

-

92 """ 

-

93 Calculate Reynolds number for flow between two plates. 

-

94 

-

95 Args: 

-

96 dynamic_viscosity (float): Dynamic viscosity of the fluid. 

-

97 m_flow (float): Mass flow rate. 

-

98 width (float): Characteristic length (e.g., width) of the plate. 

-

99 enlargement_factor (float): surface enlargement factor. 

-

100 

-

101 Returns: 

-

102 float: Reynolds number. 

-

103 

-

104 """ 

-

105 

-

106 return 2 * m_flow / (self.geometry_parameters.enlargement_factor * self.geometry_parameters.width * dynamic_viscosity) 

-

107 

-

108 def calc_turbulent_plate_nusselt(self, Re: float, Pr: float) -> float: 

-

109 """ 

-

110 Calculate Nusselt Number based on Nusselt correlation VDI Atlas. 

-

111 

-

112 Args: 

-

113 Re (float): Reynolds number. 

-

114 Pr (float): Prandtl number. 

-

115 Zeta (float): pressure drop coefficient. 

-

116 eta_by_eta_w (float): dynamic viscosity temperature correction factor. 

-

117 

-

118 Returns: 

-

119 float: Apparent heat transfer coefficient. 

-

120 """ 

-

121 c_q = 0.122 

-

122 q = 0.374 

-

123 eta_by_eta_w = 1 

-

124 Zeta = 1 

-

125 

-

126 return c_q * Pr ** (1/3) * eta_by_eta_w ** (1/6) * (Zeta * Re ** 2 * np.sin(2 * self.geometry_parameters.phi * np.pi / 180)) ** q 

-
- - - diff --git a/docs/4-add-validation-based-on-optihorst/coverage/status.json b/docs/4-add-validation-based-on-optihorst/coverage/status.json deleted file mode 100644 index ee63a9a..0000000 --- a/docs/4-add-validation-based-on-optihorst/coverage/status.json +++ /dev/null @@ -1 +0,0 @@ -{"format":2,"version":"7.3.4","globals":"74abd1c460a0e4f1d4012186ef7e9ad6","files":{"d_3aa0e56d51a2f798___init___py":{"hash":"870c0676e94c5bfc237601cbc9f77cd0","index":{"nums":[0,1,2,0,0,0,0,0],"html_filename":"d_3aa0e56d51a2f798___init___py.html","relative_filename":"vclibpy/__init__.py"}},"d_f54be612a69fd5f7___init___py":{"hash":"3c77fc9ef7f887ac2508d4109cf92472","index":{"nums":[0,1,0,0,0,0,0,0],"html_filename":"d_f54be612a69fd5f7___init___py.html","relative_filename":"vclibpy/components/__init__.py"}},"d_f54be612a69fd5f7_component_py":{"hash":"3db0ffe89ce541833830e98d0d13344d","index":{"nums":[0,1,36,0,0,0,0,0],"html_filename":"d_f54be612a69fd5f7_component_py.html","relative_filename":"vclibpy/components/component.py"}},"d_d45aa4312ad3649a___init___py":{"hash":"58c79786dd810b608768b6b102ce33bc","index":{"nums":[0,1,4,0,0,0,0,0],"html_filename":"d_d45aa4312ad3649a___init___py.html","relative_filename":"vclibpy/components/compressors/__init__.py"}},"d_d45aa4312ad3649a_compressor_py":{"hash":"e610ba34470ef26ae9ddeb217e8497e8","index":{"nums":[0,1,35,3,0,0,0,0],"html_filename":"d_d45aa4312ad3649a_compressor_py.html","relative_filename":"vclibpy/components/compressors/compressor.py"}},"d_d45aa4312ad3649a_constant_effectivness_py":{"hash":"6c8c3d90d9037e1e4af2177944012a83","index":{"nums":[0,1,14,0,0,0,0,0],"html_filename":"d_d45aa4312ad3649a_constant_effectivness_py.html","relative_filename":"vclibpy/components/compressors/constant_effectivness.py"}},"d_d45aa4312ad3649a_rotary_py":{"hash":"af7b7c2885234cb21c632f304450a2e5","index":{"nums":[0,1,49,0,1,0,0,0],"html_filename":"d_d45aa4312ad3649a_rotary_py.html","relative_filename":"vclibpy/components/compressors/rotary.py"}},"d_d45aa4312ad3649a_ten_coefficient_py":{"hash":"402ba402d992eab2a54e3fdb4a5d0d64","index":{"nums":[0,1,95,0,74,0,0,0],"html_filename":"d_d45aa4312ad3649a_ten_coefficient_py.html","relative_filename":"vclibpy/components/compressors/ten_coefficient.py"}},"d_38531a0795c587f9___init___py":{"hash":"15a488013d0d4fec574cfa29a480f8ec","index":{"nums":[0,1,2,0,0,0,0,0],"html_filename":"d_38531a0795c587f9___init___py.html","relative_filename":"vclibpy/components/expansion_valves/__init__.py"}},"d_38531a0795c587f9_bernoulli_py":{"hash":"8143e3e6a35f9f70527ec9f6f6f58e98","index":{"nums":[0,1,6,0,1,0,0,0],"html_filename":"d_38531a0795c587f9_bernoulli_py.html","relative_filename":"vclibpy/components/expansion_valves/bernoulli.py"}},"d_38531a0795c587f9_expansion_valve_py":{"hash":"c1f6e24fb01bea7b352f52a083ea35f4","index":{"nums":[0,1,12,2,0,0,0,0],"html_filename":"d_38531a0795c587f9_expansion_valve_py.html","relative_filename":"vclibpy/components/expansion_valves/expansion_valve.py"}},"d_35fc0e049e81dfd6___init___py":{"hash":"62edc4ea1ff8cc29b75a2661f82df77c","index":{"nums":[0,1,2,0,0,0,0,0],"html_filename":"d_35fc0e049e81dfd6___init___py.html","relative_filename":"vclibpy/components/heat_exchangers/__init__.py"}},"d_35fc0e049e81dfd6_economizer_py":{"hash":"024c3260fd54d92584c950eed4083cbb","index":{"nums":[0,1,32,3,0,0,0,0],"html_filename":"d_35fc0e049e81dfd6_economizer_py.html","relative_filename":"vclibpy/components/heat_exchangers/economizer.py"}},"d_35fc0e049e81dfd6_heat_exchanger_py":{"hash":"1fcb57c764a9da1cd63053645c6cb068","index":{"nums":[0,1,75,2,2,0,0,0],"html_filename":"d_35fc0e049e81dfd6_heat_exchanger_py.html","relative_filename":"vclibpy/components/heat_exchangers/heat_exchanger.py"}},"d_4deeb89b86ecce82___init___py":{"hash":"cd0aefd2cbed7a9db71739b8c9cb8b50","index":{"nums":[0,1,3,0,0,0,0,0],"html_filename":"d_4deeb89b86ecce82___init___py.html","relative_filename":"vclibpy/components/heat_exchangers/heat_transfer/__init__.py"}},"d_4deeb89b86ecce82_air_to_wall_py":{"hash":"877afa8d94728f82ab6de27f7fd55dd4","index":{"nums":[0,1,31,2,31,0,0,0],"html_filename":"d_4deeb89b86ecce82_air_to_wall_py.html","relative_filename":"vclibpy/components/heat_exchangers/heat_transfer/air_to_wall.py"}},"d_4deeb89b86ecce82_constant_py":{"hash":"0b266129fe2feea7b8baf9c46c055fb7","index":{"nums":[0,1,12,0,0,0,0,0],"html_filename":"d_4deeb89b86ecce82_constant_py.html","relative_filename":"vclibpy/components/heat_exchangers/heat_transfer/constant.py"}},"d_4deeb89b86ecce82_heat_transfer_py":{"hash":"f51fdbae938471bf019d6c28e7cb7872","index":{"nums":[0,1,12,2,1,0,0,0],"html_filename":"d_4deeb89b86ecce82_heat_transfer_py.html","relative_filename":"vclibpy/components/heat_exchangers/heat_transfer/heat_transfer.py"}},"d_4deeb89b86ecce82_pipe_to_wall_py":{"hash":"47a45d1a3a597da79c6d257efeab6863","index":{"nums":[0,1,36,0,36,0,0,0],"html_filename":"d_4deeb89b86ecce82_pipe_to_wall_py.html","relative_filename":"vclibpy/components/heat_exchangers/heat_transfer/pipe_to_wall.py"}},"d_4deeb89b86ecce82_vdi_atlas_air_to_wall_py":{"hash":"624025a66375e3409fda3c8494e98e4e","index":{"nums":[0,1,72,0,72,0,0,0],"html_filename":"d_4deeb89b86ecce82_vdi_atlas_air_to_wall_py.html","relative_filename":"vclibpy/components/heat_exchangers/heat_transfer/vdi_atlas_air_to_wall.py"}},"d_4deeb89b86ecce82_vdi_atlas_plate_he_py":{"hash":"48334a028525e64183a8bb01482e7fda","index":{"nums":[0,1,44,0,44,0,0,0],"html_filename":"d_4deeb89b86ecce82_vdi_atlas_plate_he_py.html","relative_filename":"vclibpy/components/heat_exchangers/heat_transfer/vdi_atlas_plate_he.py"}},"d_4deeb89b86ecce82_wall_py":{"hash":"ac2945ad9159828416ff549823978b51","index":{"nums":[0,1,10,0,0,0,0,0],"html_filename":"d_4deeb89b86ecce82_wall_py.html","relative_filename":"vclibpy/components/heat_exchangers/heat_transfer/wall.py"}},"d_35fc0e049e81dfd6_moving_boundary_Tm_py":{"hash":"c3c3ab2263d195622b93dc8e429b1f71","index":{"nums":[0,1,130,0,130,0,0,0],"html_filename":"d_35fc0e049e81dfd6_moving_boundary_Tm_py.html","relative_filename":"vclibpy/components/heat_exchangers/moving_boundary_Tm.py"}},"d_35fc0e049e81dfd6_moving_boundary_ntu_py":{"hash":"77583828cf494bd60fa18ee1b37cc2b9","index":{"nums":[0,1,135,0,8,0,0,0],"html_filename":"d_35fc0e049e81dfd6_moving_boundary_ntu_py.html","relative_filename":"vclibpy/components/heat_exchangers/moving_boundary_ntu.py"}},"d_35fc0e049e81dfd6_ntu_py":{"hash":"cf60445b44719872cda1d415ea39b28e","index":{"nums":[0,1,45,0,9,0,0,0],"html_filename":"d_35fc0e049e81dfd6_ntu_py.html","relative_filename":"vclibpy/components/heat_exchangers/ntu.py"}},"d_f54be612a69fd5f7_phase_separator_py":{"hash":"d94ca0bf3649559551e67fc1eee4561d","index":{"nums":[0,1,26,1,0,0,0,0],"html_filename":"d_f54be612a69fd5f7_phase_separator_py.html","relative_filename":"vclibpy/components/phase_separator.py"}},"d_3aa0e56d51a2f798_datamodels_py":{"hash":"16bcfc5a440f021c5b1a2e39f500d6a3","index":{"nums":[0,1,54,0,1,0,0,0],"html_filename":"d_3aa0e56d51a2f798_datamodels_py.html","relative_filename":"vclibpy/datamodels.py"}},"d_dae209ba2e6604e9___init___py":{"hash":"7281f14e47e81fe0b9ad9a12b319bd57","index":{"nums":[0,1,4,0,0,0,0,0],"html_filename":"d_dae209ba2e6604e9___init___py.html","relative_filename":"vclibpy/flowsheets/__init__.py"}},"d_dae209ba2e6604e9_base_py":{"hash":"87f4d09544632392d5fd83ba4ace01a1","index":{"nums":[0,1,320,2,107,0,0,0],"html_filename":"d_dae209ba2e6604e9_base_py.html","relative_filename":"vclibpy/flowsheets/base.py"}},"d_dae209ba2e6604e9_standard_py":{"hash":"4fb0cef586438a2d17f270cc784297b1","index":{"nums":[0,1,36,0,0,0,0,0],"html_filename":"d_dae209ba2e6604e9_standard_py.html","relative_filename":"vclibpy/flowsheets/standard.py"}},"d_dae209ba2e6604e9_vapor_injection_py":{"hash":"abc9fb0b06ee82c48c40c721eeba403d","index":{"nums":[0,1,63,1,0,0,0,0],"html_filename":"d_dae209ba2e6604e9_vapor_injection_py.html","relative_filename":"vclibpy/flowsheets/vapor_injection.py"}},"d_dae209ba2e6604e9_vapor_injection_economizer_py":{"hash":"84bb7ee40ee94ba593266d83ea146d2b","index":{"nums":[0,1,48,0,0,0,0,0],"html_filename":"d_dae209ba2e6604e9_vapor_injection_economizer_py.html","relative_filename":"vclibpy/flowsheets/vapor_injection_economizer.py"}},"d_dae209ba2e6604e9_vapor_injection_phase_separator_py":{"hash":"3aded356bf6949c71b6701c3ee34d559","index":{"nums":[0,1,18,0,0,0,0,0],"html_filename":"d_dae209ba2e6604e9_vapor_injection_phase_separator_py.html","relative_filename":"vclibpy/flowsheets/vapor_injection_phase_separator.py"}},"d_c048ebee450da2af___init___py":{"hash":"87b8fac9e8e02ce5d66655daa17176d8","index":{"nums":[0,1,10,0,1,0,0,0],"html_filename":"d_c048ebee450da2af___init___py.html","relative_filename":"vclibpy/media/__init__.py"}},"d_c048ebee450da2af_cool_prop_py":{"hash":"73fcbd3358d6190bf6a5b01479fe8439","index":{"nums":[0,1,57,2,19,0,0,0],"html_filename":"d_c048ebee450da2af_cool_prop_py.html","relative_filename":"vclibpy/media/cool_prop.py"}},"d_c048ebee450da2af_media_py":{"hash":"4d3971c7dd207fc4eae4646296604790","index":{"nums":[0,1,53,0,8,0,0,0],"html_filename":"d_c048ebee450da2af_media_py.html","relative_filename":"vclibpy/media/media.py"}},"d_c048ebee450da2af_ref_prop_py":{"hash":"1044a06eaaea85af194aace054ea8ffc","index":{"nums":[0,1,429,0,379,0,0,0],"html_filename":"d_c048ebee450da2af_ref_prop_py.html","relative_filename":"vclibpy/media/ref_prop.py"}},"d_c048ebee450da2af_states_py":{"hash":"15f3bffaf147424b6befa389fb5307b8","index":{"nums":[0,1,60,0,5,0,0,0],"html_filename":"d_c048ebee450da2af_states_py.html","relative_filename":"vclibpy/media/states.py"}},"d_57d6adb9ba5af1cf___init___py":{"hash":"a655ec0211a7f7e93d3f8f156fdafef8","index":{"nums":[0,1,2,0,0,0,0,0],"html_filename":"d_57d6adb9ba5af1cf___init___py.html","relative_filename":"vclibpy/utils/__init__.py"}},"d_57d6adb9ba5af1cf_automation_py":{"hash":"97a292dbb7aa146c23aadc4aec252f7e","index":{"nums":[0,1,99,0,22,0,0,0],"html_filename":"d_57d6adb9ba5af1cf_automation_py.html","relative_filename":"vclibpy/utils/automation.py"}},"d_57d6adb9ba5af1cf_nominal_design_py":{"hash":"4a08a048acd7717988bf6f5af8e281a8","index":{"nums":[0,1,34,0,34,0,0,0],"html_filename":"d_57d6adb9ba5af1cf_nominal_design_py.html","relative_filename":"vclibpy/utils/nominal_design.py"}},"d_57d6adb9ba5af1cf_plotting_py":{"hash":"12543d26375c3dbcd575bd9455c4f54c","index":{"nums":[0,1,141,0,67,0,0,0],"html_filename":"d_57d6adb9ba5af1cf_plotting_py.html","relative_filename":"vclibpy/utils/plotting.py"}},"d_57d6adb9ba5af1cf_sdf__py":{"hash":"f5df962d66e060e06edca81baf7c1bf8","index":{"nums":[0,1,73,2,42,0,0,0],"html_filename":"d_57d6adb9ba5af1cf_sdf__py.html","relative_filename":"vclibpy/utils/sdf_.py"}},"d_57d6adb9ba5af1cf_ten_coefficient_compressor_reqression_py":{"hash":"687adf63f4c478a46a5dcf8332602b77","index":{"nums":[0,1,64,1,64,0,0,0],"html_filename":"d_57d6adb9ba5af1cf_ten_coefficient_compressor_reqression_py.html","relative_filename":"vclibpy/utils/ten_coefficient_compressor_reqression.py"}}}} \ No newline at end of file diff --git a/docs/4-add-validation-based-on-optihorst/docs/.doctrees/code/vclibpy.components.heat_exchangers.doctree b/docs/4-add-validation-based-on-optihorst/docs/.doctrees/code/vclibpy.components.heat_exchangers.doctree deleted file mode 100644 index 230da17..0000000 Binary files a/docs/4-add-validation-based-on-optihorst/docs/.doctrees/code/vclibpy.components.heat_exchangers.doctree and /dev/null differ diff --git a/docs/4-add-validation-based-on-optihorst/docs/.doctrees/code/vclibpy.flowsheets.doctree b/docs/4-add-validation-based-on-optihorst/docs/.doctrees/code/vclibpy.flowsheets.doctree deleted file mode 100644 index aa705dd..0000000 Binary files a/docs/4-add-validation-based-on-optihorst/docs/.doctrees/code/vclibpy.flowsheets.doctree and /dev/null differ diff --git a/docs/4-add-validation-based-on-optihorst/docs/.doctrees/environment.pickle b/docs/4-add-validation-based-on-optihorst/docs/.doctrees/environment.pickle deleted file mode 100644 index c409e18..0000000 Binary files a/docs/4-add-validation-based-on-optihorst/docs/.doctrees/environment.pickle and /dev/null differ diff --git a/docs/4-add-validation-based-on-optihorst/docs/_modules/vclibpy/components/heat_exchangers/heat_transfer/vdi_atlas_plate_he.html b/docs/4-add-validation-based-on-optihorst/docs/_modules/vclibpy/components/heat_exchangers/heat_transfer/vdi_atlas_plate_he.html deleted file mode 100644 index e4e4ee9..0000000 --- a/docs/4-add-validation-based-on-optihorst/docs/_modules/vclibpy/components/heat_exchangers/heat_transfer/vdi_atlas_plate_he.html +++ /dev/null @@ -1,235 +0,0 @@ - - - - - - vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_plate_he — vclibpy 0.1.0 documentation - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
-
    -
  • - - -
  • -
  • -
-
-
-
-
- -

Source code for vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_plate_he

-import logging
-from dataclasses import dataclass
-
-import numpy as np
-
-from .heat_transfer import HeatTransfer
-from vclibpy.media import TransportProperties
-
-logger = logging.getLogger(__name__)
-
-
-
[docs]@dataclass -class PlateHeatExchangerGeometry: - """ - Geometry of a fin and tube heat exchanger with two rows of pipes in a shifted arrangement. - - Source: VDI-Wärmeatlas, Druckverlust und Wärmeübergang in Plattenwärmeübertragern, 11. Auflage, S.1687 - - - """ - wall_thickness: float # thickness of a plate - lambda_w: float # thermal conductivity of plates - amplitude: float # amplitude of a wavy plate - wave_length: float # wavelength of a wavy plate - phi: float # embossing angle - width: float # width of a plate - height: float # height of a plate - n_plates: float # number of plates - - @property - def X(self) -> float: - """return the wave number""" - return 2 * np.pi * self.amplitude / self.wave_length - - @property - def enlargement_factor(self) -> float: - """return surface enlargement factor""" - return (1 + np.sqrt(1 + self.X ** 2) + 4 * np.sqrt(1 + self.X ** 2 / 2)) / 6 - - @property - def d_h(self) -> float: - """return hydraulic diameter""" - return 4 * self.amplitude / self.enlargement_factor - - @property - def A(self) -> float: - """return plate surface""" - return self.height * self.width * self.enlargement_factor * self.n_plates
- - -
[docs]class VDIAtlasPlateHeatTransfer(HeatTransfer): - """ - VDI-Atlas based heat transfer estimation. - Check `AirToWallTransfer` for further argument options. - - This class assumes two pipes with a shifted arrangement. - - Args: - A_cross (float): Free cross-sectional area. - characteristic_length (float): Characteristic length d_a. - geometry_parameters (AirSourceHeatExchangerGeometry): - Geometry parameters for heat exchanger according to VDI-Atlas - """ - - def __init__(self, - geometry_parameters: PlateHeatExchangerGeometry): - super().__init__() - self.geometry_parameters = geometry_parameters - -
[docs] def calc(self, transport_properties: TransportProperties, m_flow: float) -> float: - """ - Calculate heat transfer coefficient from refrigerant to the wall of the heat exchanger. - - The flow is assumed to be always turbulent and is based on a calibrated - Nusselt correlation. - - Args: - transport_properties (TransportProperties): Transport properties of the fluid. - m_flow (float): Mass flow rate of the fluid. - - Returns: - float: Heat transfer coefficient from refrigerant to HE in W/(m^2*K). - """ - Re = self.calc_reynolds( - dynamic_viscosity=transport_properties.dyn_vis, - m_flow=m_flow - ) - Nu = self.calc_turbulent_plate_nusselt(Re, transport_properties.Pr) - return Nu * transport_properties.lam / self.geometry_parameters.d_h
- -
[docs] def calc_reynolds(self, dynamic_viscosity: float, m_flow: float) -> float: - """ - Calculate Reynolds number for flow between two plates. - - Args: - dynamic_viscosity (float): Dynamic viscosity of the fluid. - m_flow (float): Mass flow rate. - width (float): Characteristic length (e.g., width) of the plate. - enlargement_factor (float): surface enlargement factor. - - Returns: - float: Reynolds number. - - """ - - return 2 * m_flow / (self.geometry_parameters.enlargement_factor * self.geometry_parameters.width * dynamic_viscosity)
- -
[docs] def calc_turbulent_plate_nusselt(self, Re: float, Pr: float) -> float: - """ - Calculate Nusselt Number based on Nusselt correlation VDI Atlas. - - Args: - Re (float): Reynolds number. - Pr (float): Prandtl number. - Zeta (float): pressure drop coefficient. - eta_by_eta_w (float): dynamic viscosity temperature correction factor. - - Returns: - float: Apparent heat transfer coefficient. - """ - c_q = 0.122 - q = 0.374 - eta_by_eta_w = 1 - Zeta = 1 - - return c_q * Pr ** (1/3) * eta_by_eta_w ** (1/6) * (Zeta * Re ** 2 * np.sin(2 * self.geometry_parameters.phi * np.pi / 180)) ** q
-
- -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/4-add-validation-based-on-optihorst/docs/_modules/vclibpy/components/heat_exchangers/moving_boundary_Tm.html b/docs/4-add-validation-based-on-optihorst/docs/_modules/vclibpy/components/heat_exchangers/moving_boundary_Tm.html deleted file mode 100644 index eca30c3..0000000 --- a/docs/4-add-validation-based-on-optihorst/docs/_modules/vclibpy/components/heat_exchangers/moving_boundary_Tm.html +++ /dev/null @@ -1,435 +0,0 @@ - - - - - - vclibpy.components.heat_exchangers.moving_boundary_Tm — vclibpy 0.1.0 documentation - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
-
    -
  • - - -
  • -
  • -
-
-
-
-
- -

Source code for vclibpy.components.heat_exchangers.moving_boundary_Tm

-import logging
-
-import numpy as np
-from vclibpy.datamodels import FlowsheetState, Inputs
-from vclibpy.components.heat_exchangers import HeatExchanger
-from vclibpy.media import ThermodynamicState
-
-logger = logging.getLogger(__name__)
-
-
-
[docs]def calc_area(Q, k, Tm): - if Tm * k == 0: - return 1e10 # A really large number, but not np.inf to still be able to calculate with it - else: - return Q / (k * Tm)
- - -
[docs]def calc_mean_temperature( - T_hot_in: float, T_hot_out: float, - T_cold_in: float, T_cold_out: float, - flow_type: str = "counter" -): - if flow_type == "counter": - dT_A = T_hot_in - T_cold_out - dT_B = T_hot_out - T_cold_in - elif flow_type == "parallel": - dT_A = T_hot_in - T_cold_in - dT_B = T_hot_out - T_cold_out - else: - raise TypeError("Given flow_type is not supported yet") - if dT_B < 0 or dT_A < 0: - return 0 # Heat can't be transferred - if np.isclose(dT_B, 0) or np.isclose(dT_A, 0) or np.isclose(dT_B, dT_A): - return abs((dT_A + dT_B) / 2) - return (dT_A - dT_B) / np.log(dT_A / dT_B)
- - -
[docs]def separate_phases(m_flow, med_prop, state_max: ThermodynamicState, state_min: ThermodynamicState, p: float): - """ - Separates a flow with possible phase changes into three parts: - subcooling (sc), latent phase change (lat), and superheating (sh) - at the given pressure. - - Args: - state_max (ThermodynamicState): State with higher enthalpy. - state_min (ThermodynamicState): State with lower enthalpy. - p (float): Pressure of phase change. - - Returns: - Tuple[float, float, float, ThermodynamicState, ThermodynamicState]: - Q_sc: Heat for subcooling. - Q_lat: Heat for latent phase change. - Q_sh: Heat for superheating. - state_q0: State at vapor quality 0 and the given pressure. - state_q1: State at vapor quality 1 and the given pressure. - """ - # Get relevant states: - state_q0 = med_prop.calc_state("PQ", p, 0) - state_q1 = med_prop.calc_state("PQ", p, 1) - Q_sc = max(0.0, - min((state_q0.h - state_min.h), - (state_max.h - state_min.h))) * m_flow - Q_lat = max(0.0, - (min(state_max.h, state_q1.h) - - max(state_min.h, state_q0.h))) * m_flow - Q_sh = max(0.0, - min((state_max.h - state_q1.h), - (state_max.h - state_min.h))) * m_flow - return Q_sc, Q_lat, Q_sh, state_q0, state_q1
- - -
[docs]class MovingBoundaryTmCondenser(HeatExchanger): - """ - Condenser class which implements the actual `calc` method. - - Assumptions: - - No phase changes in secondary medium - - cp of secondary medium is constant over heat-exchanger - - See parent classes for arguments. - """ - -
[docs] def calc(self, inputs: Inputs, fs_state: FlowsheetState) -> (float, float): - """ - Calculate the heat exchanger with the Tm-Method based on the given inputs. - - The flowsheet state can be used to save important variables - during calculation for later analysis. - - Both return values are used to check if the heat transfer is valid or not. - - Args: - inputs (Inputs): The inputs for the calculation. - fs_state (FlowsheetState): The flowsheet state to save important variables. - - Returns: - Tuple[float, float]: - error: Error in percentage between the required and calculated heat flow rates. - dT_min: Minimal temperature difference (can be negative). - """ - self.m_flow_secondary = inputs.m_flow_con # [kg/s] - self.calc_secondary_cp(T=inputs.T_con_in) - - # First we separate the flow: - Q_sc, Q_lat, Q_sh, state_q0, state_q1 = separate_phases( - m_flow=self.m_flow, - med_prop=self.med_prop, - state_max=self.state_inlet, - state_min=self.state_outlet, - p=self.state_inlet.p - ) - Q = Q_sc + Q_lat + Q_sh - - # Note: As Q_con_Tm has to converge to Q_con (m_ref*delta_h), we can safely - # calculate the output temperature. - - T_mean = inputs.T_con_in + self.calc_secondary_Q_flow(Q) / (self.m_flow_secondary_cp * 2) - tra_prop_med = self.calc_transport_properties_secondary_medium(T_mean) - alpha_med_wall = self.calc_alpha_secondary(tra_prop_med) - - # Calculate secondary_medium side temperatures: - # Assumption loss is the same correlation for each regime - T_sc = inputs.T_con_in + self.calc_secondary_Q_flow(Q_sc) / self.m_flow_secondary_cp - T_sh = T_sc + self.calc_secondary_Q_flow(Q_lat) / self.m_flow_secondary_cp - T_out = T_sh + self.calc_secondary_Q_flow(Q_sh) / self.m_flow_secondary_cp - - # 1. Regime: Subcooling - Q_sc_Tm, A_sc, A_sc_available = 0, 0, 0 - if Q_sc > 0 and (state_q0.T != self.state_outlet.T): - # Get transport properties: - tra_prop_ref_con = self.med_prop.calc_mean_transport_properties(state_q0, self.state_outlet) - alpha_ref_wall = self.calc_alpha_liquid(tra_prop_ref_con) - - # Only use still available area: - k_sc = self.calc_k(alpha_pri=alpha_ref_wall, alpha_sec=alpha_med_wall) - T_m_sc = calc_mean_temperature( - T_hot_in=state_q0.T, T_hot_out=self.state_outlet.T, - T_cold_in=inputs.T_con_in, T_cold_out=T_sc - ) - A_sc = calc_area(Q_sc, k_sc, T_m_sc) - A_sc_available = min(self.A, A_sc) - Q_sc_Tm = A_sc_available * k_sc * T_m_sc - - # 2. Regime: Latent heat exchange - Q_lat_Tm, A_lat, A_lat_available = 0, 0, 0 - if Q_lat > 0: - # Get transport properties: - alpha_ref_wall = self.calc_alpha_two_phase( - state_q0=state_q0, - state_q1=state_q1, - fs_state=fs_state, - inputs=inputs - ) - k_lat = self.calc_k(alpha_pri=alpha_ref_wall, alpha_sec=alpha_med_wall) - T_m_lat = calc_mean_temperature( - T_hot_in=state_q1.T, T_hot_out=state_q0.T, - T_cold_in=T_sc, T_cold_out=T_sh - ) - A_lat = calc_area(Q_lat, k_lat, T_m_lat) - # Only use still available area: - A_lat_available = min(max(self.A - A_sc_available, 0), A_lat) - Q_lat_Tm = A_lat_available * k_lat * T_m_lat - - logger.debug(f"con_lat: pri: {round(alpha_ref_wall, 2)} sec: {round(alpha_med_wall, 2)}") - - # 3. Regime: Superheat heat exchange - Q_sh_Tm, A_sh = 0, 0 - if Q_sh and (self.state_inlet.T != state_q1.T): - # Get transport properties: - tra_prop_ref_con = self.med_prop.calc_mean_transport_properties(self.state_inlet, state_q1) - alpha_ref_wall = self.calc_alpha_gas(tra_prop_ref_con) - - k_sh = self.calc_k(alpha_pri=alpha_ref_wall, alpha_sec=alpha_med_wall) - T_m_sh = calc_mean_temperature( - T_hot_in=self.state_inlet.T, T_hot_out=state_q1.T, - T_cold_in=T_sh, T_cold_out=T_out - ) - A_sh = calc_area(Q_sh, k_sh, T_m_sh) - # Only use still available area: - A_sh_available = min(max(self.A - A_sc_available - A_lat_available, 0), A_sh) - Q_sh_Tm = A_sh_available * k_sh * T_m_sh - - logger.debug(f"con_sh: pri: {round(alpha_ref_wall, 2)} sec: {round(alpha_med_wall, 2)}") - - A_necessary = A_sh + A_lat + A_sc - Q_Tm = Q_sh_Tm + Q_sc_Tm + Q_lat_Tm - error_A = (1 - A_necessary / self.A) * 100 - error = (Q_Tm / Q - 1) * 100 - # Get possible dT_min: - dT_min_in = self.state_outlet.T - inputs.T_con_in - dT_min_out = self.state_inlet.T - T_out - dT_min_LatSH = state_q1.T - T_sh - - fs_state.set(name="A_con_sh", value=A_sh, unit="m2", description="Area for superheat heat exchange in condenser") - fs_state.set(name="A_con_lat", value=A_lat, unit="m2", description="Area for latent heat exchange in condenser") - fs_state.set(name="A_con_sc", value=A_sc, unit="m2", description="Area for subcooling heat exchange in condenser") - - return error, min(dT_min_in, - dT_min_LatSH, - dT_min_out)
- - -
[docs]class MovingBoundaryTmEvaporator(HeatExchanger): - """ - Evaporator class which implements the actual `calc` method. - - Assumptions: - - No phase changes in secondary medium - - cp of secondary medium is constant over heat-exchanger - - See parent classes for arguments. - """ - -
[docs] def calc(self, inputs: Inputs, fs_state: FlowsheetState) -> (float, float): - """ - Calculate the heat exchanger with the Tm-Method based on the given inputs. - - The flowsheet state can be used to save important variables - during calculation for later analysis. - - Both return values are used to check if the heat transfer is valid or not. - - Args: - inputs (Inputs): The inputs for the calculation. - fs_state (FlowsheetState): The flowsheet state to save important variables. - - Returns: - Tuple[float, float]: - error: Error in percentage between the required and calculated heat flow rates. - dT_min: Minimal temperature difference (can be negative). - """ - self.m_flow_secondary = inputs.m_flow_eva # [kg/s] - self.calc_secondary_cp(T=inputs.T_eva_in) - - # First we separate the flow: - Q_sc, Q_lat, Q_sh, state_q0, state_q1 = separate_phases( - m_flow=self.m_flow, - med_prop=self.med_prop, - state_max=self.state_outlet, - state_min=self.state_inlet, - p=self.state_outlet.p - ) - - Q = Q_sc + Q_lat + Q_sh - - # Note: As Q_eva_Tm has to converge to Q_eva (m_ref*delta_h), we can safely - # calculate the output temperature. - T_mean = inputs.T_eva_in - Q / (self.m_flow_secondary_cp * 2) - tra_prop_med = self.calc_transport_properties_secondary_medium(T_mean) - alpha_med_wall = self.calc_alpha_secondary(tra_prop_med) - # alpha_med_wall = 26 - - # Calculate secondary_medium side temperatures: - T_sh = inputs.T_eva_in - Q_sh / self.m_flow_secondary_cp - T_sc = T_sh - Q_lat / self.m_flow_secondary_cp - T_out = T_sc - Q_sc / self.m_flow_secondary_cp - - # 1. Regime: Superheating - Q_sh_Tm, A_sh, A_sh_available = 0, 0, 0 - if Q_sh and (self.state_outlet.T != state_q1.T): - # Get transport properties: - tra_prop_ref_eva = self.med_prop.calc_mean_transport_properties(self.state_outlet, state_q1) - alpha_ref_wall = self.calc_alpha_gas(tra_prop_ref_eva) - - k_sh = self.calc_k(alpha_pri=alpha_ref_wall, alpha_sec=alpha_med_wall) - T_m_sh = calc_mean_temperature( - T_hot_in=inputs.T_eva_in, T_hot_out=T_sh, - T_cold_in=state_q1.T, T_cold_out=self.state_outlet.T - ) - # Only use still available area: - A_sh = calc_area(Q_sh, k_sh, T_m_sh) - A_sh_available = min(self.A, A_sh) - Q_sh_Tm = A_sh_available * k_sh * T_m_sh - - logger.debug(f"eva_sh: pri: {round(alpha_ref_wall, 2)} sec: {round(alpha_med_wall, 2)}") - - # 2. Regime: Latent heat exchange - Q_lat_Tm, A_lat, A_lat_available = 0, 0, 0 - if Q_lat > 0: - alpha_ref_wall = self.calc_alpha_two_phase( - state_q0=state_q0, - state_q1=state_q1, - fs_state=fs_state, - inputs=inputs - ) - k_lat = self.calc_k(alpha_pri=alpha_ref_wall, alpha_sec=alpha_med_wall) - T_m_lat = calc_mean_temperature( - T_hot_in=T_sh, T_hot_out=T_sc, - T_cold_in=state_q0.T, T_cold_out=state_q1.T - ) - A_lat = calc_area(Q_lat, k_lat, T_m_lat) - # Only use still available area: - A_lat_available = min(max(self.A - A_sh_available, 0), A_lat) - Q_lat_Tm = A_lat_available * k_lat * T_m_lat - - logger.debug(f"eva_lat: pri: {round(alpha_ref_wall, 2)} sec: {round(alpha_med_wall, 2)}") - - # 3. Regime: Subcooling - Q_sc_Tm, A_sc = 0, 0 - if Q_sc > 0 and (state_q0.T != self.state_inlet.T): - # Get transport properties: - tra_prop_ref_eva = self.med_prop.calc_mean_transport_properties(state_q0, self.state_inlet) - alpha_ref_wall = self.calc_alpha_liquid(tra_prop_ref_eva) - - # Only use still available area: - k_sc = self.calc_k(alpha_pri=alpha_ref_wall, alpha_sec=alpha_med_wall) - T_m_sc = calc_mean_temperature( - T_hot_in=T_sc, T_hot_out=T_out, - T_cold_in=self.state_inlet.T, T_cold_out=state_q0.T - ) - A_sc = calc_area(Q_sc, k_sc, T_m_sc) - A_sc_available = min(max(self.A - A_sh_available - A_lat_available, 0), A_sc) - Q_sc_Tm = A_sc_available * k_sc * T_m_sc - - A_necessary = A_sc + A_lat + A_sh - Q_Tm = Q_sh_Tm + Q_sc_Tm + Q_lat_Tm - error_A = (A_necessary / self.A - 1) * 100 - error = (Q_Tm / Q - 1) * 100 - # Get dT_min - dT_min_in = inputs.T_eva_in - self.state_outlet.T - dT_min_out = T_out - self.state_inlet.T - - fs_state.set(name="A_eva_sh", value=A_sh, unit="m2", description="Area for superheat heat exchange in evaporator") - fs_state.set(name="A_eva_lat", value=A_lat, unit="m2", description="Area for latent heat exchange in evaporator") - - return error, min(dT_min_out, dT_min_in)
-
- -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/4-add-validation-based-on-optihorst/docs/_static/js/html5shiv-printshiv.min.js b/docs/4-add-validation-based-on-optihorst/docs/_static/js/html5shiv-printshiv.min.js deleted file mode 100644 index 2b43bd0..0000000 --- a/docs/4-add-validation-based-on-optihorst/docs/_static/js/html5shiv-printshiv.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/** -* @preserve HTML5 Shiv 3.7.3-pre | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed -*/ -!function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=y.elements;return"string"==typeof a?a.split(" "):a}function e(a,b){var c=y.elements;"string"!=typeof c&&(c=c.join(" ")),"string"!=typeof a&&(a=a.join(" ")),y.elements=c+" "+a,j(b)}function f(a){var b=x[a[v]];return b||(b={},w++,a[v]=w,x[w]=b),b}function g(a,c,d){if(c||(c=b),q)return c.createElement(a);d||(d=f(c));var e;return e=d.cache[a]?d.cache[a].cloneNode():u.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!e.canHaveChildren||t.test(a)||e.tagUrn?e:d.frag.appendChild(e)}function h(a,c){if(a||(a=b),q)return a.createDocumentFragment();c=c||f(a);for(var e=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)e.createElement(h[g]);return e}function i(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return y.shivMethods?g(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(y,b.frag)}function j(a){a||(a=b);var d=f(a);return!y.shivCSS||p||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),q||i(a,d),a}function k(a){for(var b,c=a.getElementsByTagName("*"),e=c.length,f=RegExp("^(?:"+d().join("|")+")$","i"),g=[];e--;)b=c[e],f.test(b.nodeName)&&g.push(b.applyElement(l(b)));return g}function l(a){for(var b,c=a.attributes,d=c.length,e=a.ownerDocument.createElement(A+":"+a.nodeName);d--;)b=c[d],b.specified&&e.setAttribute(b.nodeName,b.nodeValue);return e.style.cssText=a.style.cssText,e}function m(a){for(var b,c=a.split("{"),e=c.length,f=RegExp("(^|[\\s,>+~])("+d().join("|")+")(?=[[\\s,>+~#.:]|$)","gi"),g="$1"+A+"\\:$2";e--;)b=c[e]=c[e].split("}"),b[b.length-1]=b[b.length-1].replace(f,g),c[e]=b.join("}");return c.join("{")}function n(a){for(var b=a.length;b--;)a[b].removeNode()}function o(a){function b(){clearTimeout(g._removeSheetTimer),d&&d.removeNode(!0),d=null}var d,e,g=f(a),h=a.namespaces,i=a.parentWindow;return!B||a.printShived?a:("undefined"==typeof h[A]&&h.add(A),i.attachEvent("onbeforeprint",function(){b();for(var f,g,h,i=a.styleSheets,j=[],l=i.length,n=Array(l);l--;)n[l]=i[l];for(;h=n.pop();)if(!h.disabled&&z.test(h.media)){try{f=h.imports,g=f.length}catch(o){g=0}for(l=0;g>l;l++)n.push(f[l]);try{j.push(h.cssText)}catch(o){}}j=m(j.reverse().join("")),e=k(a),d=c(a,j)}),i.attachEvent("onafterprint",function(){n(e),clearTimeout(g._removeSheetTimer),g._removeSheetTimer=setTimeout(b,500)}),a.printShived=!0,a)}var p,q,r="3.7.3",s=a.html5||{},t=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,u=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,v="_html5shiv",w=0,x={};!function(){try{var a=b.createElement("a");a.innerHTML="",p="hidden"in a,q=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){p=!0,q=!0}}();var y={elements:s.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:r,shivCSS:s.shivCSS!==!1,supportsUnknownElements:q,shivMethods:s.shivMethods!==!1,type:"default",shivDocument:j,createElement:g,createDocumentFragment:h,addElements:e};a.html5=y,j(b);var z=/^$|\b(?:all|print)\b/,A="html5shiv",B=!q&&function(){var c=b.documentElement;return!("undefined"==typeof b.namespaces||"undefined"==typeof b.parentWindow||"undefined"==typeof c.applyElement||"undefined"==typeof c.removeNode||"undefined"==typeof a.attachEvent)}();y.type+=" print",y.shivPrint=o,o(b),"object"==typeof module&&module.exports&&(module.exports=y)}("undefined"!=typeof window?window:this,document); \ No newline at end of file diff --git a/docs/4-add-validation-based-on-optihorst/docs/_static/js/html5shiv.min.js b/docs/4-add-validation-based-on-optihorst/docs/_static/js/html5shiv.min.js deleted file mode 100644 index cd1c674..0000000 --- a/docs/4-add-validation-based-on-optihorst/docs/_static/js/html5shiv.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/** -* @preserve HTML5 Shiv 3.7.3 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed -*/ -!function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=t.elements;return"string"==typeof a?a.split(" "):a}function e(a,b){var c=t.elements;"string"!=typeof c&&(c=c.join(" ")),"string"!=typeof a&&(a=a.join(" ")),t.elements=c+" "+a,j(b)}function f(a){var b=s[a[q]];return b||(b={},r++,a[q]=r,s[r]=b),b}function g(a,c,d){if(c||(c=b),l)return c.createElement(a);d||(d=f(c));var e;return e=d.cache[a]?d.cache[a].cloneNode():p.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!e.canHaveChildren||o.test(a)||e.tagUrn?e:d.frag.appendChild(e)}function h(a,c){if(a||(a=b),l)return a.createDocumentFragment();c=c||f(a);for(var e=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)e.createElement(h[g]);return e}function i(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return t.shivMethods?g(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(t,b.frag)}function j(a){a||(a=b);var d=f(a);return!t.shivCSS||k||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),l||i(a,d),a}var k,l,m="3.7.3-pre",n=a.html5||{},o=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,p=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,q="_html5shiv",r=0,s={};!function(){try{var a=b.createElement("a");a.innerHTML="",k="hidden"in a,l=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){k=!0,l=!0}}();var t={elements:n.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:m,shivCSS:n.shivCSS!==!1,supportsUnknownElements:l,shivMethods:n.shivMethods!==!1,type:"default",shivDocument:j,createElement:g,createDocumentFragment:h,addElements:e};a.html5=t,j(b),"object"==typeof module&&module.exports&&(module.exports=t)}("undefined"!=typeof window?window:this,document); \ No newline at end of file diff --git a/docs/4-add-validation-based-on-optihorst/docs/objects.inv b/docs/4-add-validation-based-on-optihorst/docs/objects.inv deleted file mode 100644 index 1fb7ea6..0000000 Binary files a/docs/4-add-validation-based-on-optihorst/docs/objects.inv and /dev/null differ diff --git a/docs/4-add-validation-based-on-optihorst/docs/searchindex.js b/docs/4-add-validation-based-on-optihorst/docs/searchindex.js deleted file mode 100644 index ead3330..0000000 --- a/docs/4-add-validation-based-on-optihorst/docs/searchindex.js +++ /dev/null @@ -1 +0,0 @@ -Search.setIndex({"docnames": ["Contribution", "code/modules", "code/vclibpy", "code/vclibpy.components", "code/vclibpy.components.compressors", "code/vclibpy.components.expansion_valves", "code/vclibpy.components.heat_exchangers", "code/vclibpy.components.heat_exchangers.heat_transfer", "code/vclibpy.flowsheets", "code/vclibpy.media", "code/vclibpy.utils", "examples/e1_refrigerant_data", "examples/e2_compressor", "examples/e3_inputs_and_flowsheet_state", "examples/e4_heat_exchanger", "examples/e5_expansion_valve", "examples/e6_simple_heat_pump", "examples/e7_vapor_injection", "index", "version_his"], "filenames": ["Contribution.md", "code/modules.rst", "code/vclibpy.rst", "code/vclibpy.components.rst", "code/vclibpy.components.compressors.rst", "code/vclibpy.components.expansion_valves.rst", "code/vclibpy.components.heat_exchangers.rst", "code/vclibpy.components.heat_exchangers.heat_transfer.rst", "code/vclibpy.flowsheets.rst", "code/vclibpy.media.rst", "code/vclibpy.utils.rst", "examples/e1_refrigerant_data.md", "examples/e2_compressor.md", "examples/e3_inputs_and_flowsheet_state.md", "examples/e4_heat_exchanger.md", "examples/e5_expansion_valve.md", "examples/e6_simple_heat_pump.md", "examples/e7_vapor_injection.md", "index.rst", "version_his.rst"], "titles": ["Contribute as a user", "vclibpy", "vclibpy package", "vclibpy.components package", "vclibpy.components.compressors package", "vclibpy.components.expansion_valves package", "vclibpy.components.heat_exchangers package", "vclibpy.components.heat_exchangers.heat_transfer package", "vclibpy.flowsheets package", "vclibpy.media package", "vclibpy.utils package", "Refrigerant Data Example", "Compressor Example", "Inputs and FlowsheetState", "Heat Exchanger Example", "Expansion Valve Example", "Example for a heat pump with a standard cycle", "Example for a heat pump with vapor injection using a phase separator", "About vcliby", "Version History"], "terms": {"The": [0, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "exampl": [0, 4, 9, 10, 13, 18], "tutori": [0, 18], "should": [0, 9, 13, 14, 15, 16], "understand": [0, 11, 13, 14], "code": [0, 6, 9, 16, 18], "bug": [0, 9], "free": [0, 7, 17], "As": [0, 7, 13, 14, 16, 17], "all": [0, 2, 4, 8, 9, 10, 11, 13, 14, 16, 17], "": [0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "have": [0, 3, 4, 6, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18], "differ": [0, 4, 6, 7, 8, 9, 10, 12, 13, 14, 15, 18], "background": 0, "you": [0, 2, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18], "mai": [0, 2, 5, 6, 8, 9, 10, 11, 12, 13, 14], "everyth": [0, 9, 16, 17], "encount": 0, "In": [0, 4, 8, 9, 10, 14, 16, 18], "case": [0, 4, 9, 10], "pleas": [0, 10, 18], "rais": [0, 7, 9, 10, 18], "an": [0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18], "issu": [0, 10, 18], "here": [0, 7, 8, 11, 12, 13, 16, 18], "consid": 0, "label": [0, 10], "us": [0, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 18], "flag": [0, 9], "question": 0, "If": [0, 4, 7, 8, 9, 10, 12, 13, 14, 16, 18], "instead": [0, 9, 14, 17], "want": [0, 9, 12, 13, 14, 15], "new": [0, 2, 9, 10, 13], "featur": 0, "fix": [0, 9], "yourself": 0, "we": [0, 8, 11, 12, 13, 14, 15, 16, 17, 18], "ar": [0, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18], "more": [0, 6, 7, 8, 10, 14, 17], "than": [0, 14, 15], "happi": 0, "also": [0, 12, 13, 14, 15, 16, 17], "creat": [0, 8, 9, 10, 11, 17], "branch": 0, "issuexy_some_nam": 0, "xy": 0, "i": [0, 2, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18], "number": [0, 4, 6, 7, 8, 9, 11], "your": [0, 4, 8, 13, 15], "some_nam": 0, "meaing": 0, "descript": [0, 1, 2, 9, 13, 16], "onc": 0, "re": [0, 7], "readi": 0, "pull": 0, "request": 0, "check": [0, 6, 7, 9, 12, 14, 15, 18], "pipelin": 0, "succe": 0, "assign": [0, 14], "review": 0, "befor": [0, 8, 12], "merg": [0, 10], "finish": 0, "can": [0, 3, 4, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18], "implement": [0, 6, 7, 9, 10, 15, 19], "modifi": [0, 4], "modul": [0, 1, 11, 16, 17, 18], "class": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], "function": [0, 3, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16], "read": 0, "follow": [0, 6, 9, 10, 14, 18], "page": [0, 18], "pep8": 0, "some": [0, 9, 11, 12, 15, 16, 17], "id": [0, 16], "like": [0, 2, 10, 12, 13, 16, 17], "pycharm": [0, 16], "automat": [0, 4, 10, 12], "show": [0, 11, 12, 14, 15, 16], "don": [0, 16], "t": [0, 3, 4, 6, 9, 11, 12, 14, 16], "thi": [0, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18], "get": [0, 1, 2, 3, 4, 9, 11, 13, 14, 16, 17], "better": [0, 11, 14], "properli": [0, 9], "try": [0, 11], "structur": [0, 10], "alreadi": 0, "present": [0, 8], "possibl": [0, 3, 5, 6, 7, 8, 9, 11, 14], "write": 0, "littl": 0, "doctest": 0, "docstr": [0, 8], "make": [0, 13], "clear": 0, "what": [0, 14, 15, 16], "desir": 0, "output": [0, 4, 5, 8, 13], "non": [0, 11], "self": [0, 4, 9, 13], "explanatori": 0, "line": [0, 9], "includ": [0, 4, 8, 9, 10, 11, 16, 17], "comment": 0, "style": 0, "e": [0, 6, 7, 8, 9, 10, 11, 17, 18], "g": [0, 6, 7, 8, 9, 10, 11, 17], "def": 0, "foo": 0, "dummi": [0, 12, 15, 17], "dummy2": 0, "describ": 0, "doe": [0, 3, 6, 9, 12, 16, 17], "blank": 0, "below": 0, "necessari": [0, 8, 9], "doc": [0, 14, 18], "render": 0, "nice": 0, "arg": [0, 2, 4, 5, 6, 7, 8, 9, 10], "str": [0, 2, 4, 6, 7, 8, 9, 10], "ani": [0, 2, 8, 11, 12, 13, 14], "paramet": [0, 4, 7, 8, 10, 12, 13, 14, 15, 17], "int": [0, 7, 8, 9, 11], "float": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10], "A": [0, 2, 3, 5, 6, 7, 9, 10, 14, 15, 16, 17, 18], "variabl": [0, 1, 2, 6, 7, 8, 9, 10, 13, 16], "two": [0, 6, 7, 8, 9, 11, 12, 13, 17], "type": [0, 4, 6, 10, 11, 13], "espaci": 0, "when": [0, 2, 9, 13], "add": [0, 2, 9, 13], "open": [0, 5, 9, 14, 16], "test_modul": 0, "py": [0, 10, 18], "file": [0, 2, 4, 9, 10, 16, 17, 18], "directori": [0, 9, 10], "testmodul": 0, "name": [0, 1, 2, 4, 6, 7, 8, 9, 10, 13, 16], "test_my_new_funct": 0, "test_my_new_modul": 0, "exist": [0, 16], "other": [0, 10, 12, 13, 16, 17], "familiar": [0, 11], "quick": [0, 8], "summari": [0, 4], "mani": 0, "thing": [0, 12], "even": [0, 9], "seemingli": 0, "silli": 0, "correct": [0, 5, 7, 8, 9], "input": [0, 1, 2, 4, 6, 7, 8, 9, 10, 12, 14, 15, 16, 17], "format": [0, 2, 4, 9, 11, 13, 16], "help": [0, 11, 12, 14, 15, 16, 17, 18], "prevent": 0, "futur": [0, 13, 14], "problem": 0, "assertsometh": 0, "provid": [0, 4, 9, 10], "unittest": 0, "wai": [0, 13], "failur": 0, "correctli": 0, "error": [0, 6, 8, 9, 14], "insid": [0, 6, 7, 14], "handel": 0, "success": 0, "depend": [0, 6, 9, 16], "devic": [0, 14], "decor": 0, "skip": 0, "skipif": 0, "numpi": [0, 9, 10, 12, 14, 15], "__version__": 0, "1": [0, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "0": [0, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 19], "support": [0, 9, 10, 18], "version": [0, 18], "etc": [0, 9, 11, 13], "setup": 0, "teardown": 0, "call": [0, 9, 11], "after": [0, 2, 8, 11, 12], "each": [0, 8, 10, 11, 12], "defin": [0, 2, 3, 4, 8, 9, 11, 12, 13, 14, 16], "everi": 0, "close": [0, 8, 11, 14], "applic": 0, "dymola": 0, "complet": [0, 16], "see": [0, 5, 6, 8, 9, 12, 13, 14, 16, 17], "further": [0, 2, 7, 8, 9, 11, 14, 17], "inform": [0, 9, 10, 11, 13], "work": [0, 3, 9, 10, 11, 12, 13, 14, 19], "run": [0, 8, 10, 17, 18], "commit": 0, "git": [0, 18], "With": [0, 11, 14], "keep": [0, 14], "our": [0, 14, 16, 18], "clean": 0, "repo": [0, 18], "how": [0, 11, 12, 13, 14, 15, 16, 17], "packag": [1, 12, 14, 15, 18], "subpackag": 1, "compon": [1, 2, 8, 9, 11, 12, 13, 14, 15, 16, 17], "submodul": 1, "phase_separ": [1, 2], "flowsheet": [1, 2, 4, 6, 7, 10, 13, 16, 17, 18], "base": [1, 2, 3, 4, 5, 6, 7, 9, 10, 14, 19], "standard": [1, 2, 14, 17], "vapor_inject": [1, 2, 17], "vapor_injection_econom": [1, 2, 17], "vapor_injection_phase_separ": [1, 2], "media": [1, 2, 6, 8, 11, 12, 14, 15], "coolprop": [1, 2, 9, 11, 12, 14, 15, 18], "medprop": [1, 2, 3, 6, 7, 9, 11], "refprop": [1, 2, 11, 18], "thermodynamicst": [1, 2, 3, 6, 7, 8, 9], "transportproperti": [1, 2, 6, 7, 9], "cool_prop": [1, 2, 11], "ref_prop": [1, 2], "state": [1, 2, 3, 4, 6, 7, 8, 10, 11, 13, 14, 15, 18], "util": [1, 2, 16, 17], "autom": [1, 2], "nominal_design": [1, 2], "plot": [1, 2, 8, 9, 12, 13, 15, 16, 17], "sdf_": [1, 2], "ten_coefficient_compressor_reqress": [1, 2], "datamodel": [1, 6], "flowsheetst": [1, 2, 4, 6, 7, 8, 12, 14], "unit": [1, 2, 6, 9, 13, 16, 18], "valu": [1, 2, 4, 6, 9, 10, 11, 12, 13, 14, 16], "variablecontain": [1, 2], "convert_to_str_value_format": [1, 2], "copi": [1, 2, 9, 13], "get_nam": [1, 2], "get_variable_nam": [1, 2, 13], "get_vari": [1, 2, 13], "item": [1, 2, 13], "set": [1, 2, 3, 4, 6, 7, 8, 9, 10, 12, 13, 14, 16, 17], "stationari": 2, "vapor": [2, 3, 4, 6, 8, 9, 11, 12, 13, 15], "compress": [2, 3, 4, 8, 11, 12, 13, 15], "model": [2, 3, 4, 5, 6, 7, 11, 12, 13, 14, 16, 17], "analysi": [2, 6], "compressor": [2, 3, 8, 11, 13, 16, 17, 18], "constant_effectiv": [2, 3], "rotari": [2, 3], "ten_coeffici": [2, 3], "expansion_valv": [2, 3, 8, 15, 16, 17], "bernoulli": [2, 3, 15, 16, 17], "heat_exchang": [2, 3, 14, 16, 17], "econom": [2, 3, 8, 18], "moving_boundary_tm": [2, 3], "moving_boundary_ntu": [2, 3, 16, 17], "ntu": [2, 3, 14], "basecompon": [2, 3, 4, 5, 6, 8], "m_flow": [2, 3, 4, 5, 6, 7, 12, 14, 15], "med_prop": [2, 3, 6, 7, 9, 12, 14, 15], "start_secondary_med_prop": [2, 3, 6, 14], "state_inlet": [2, 3, 7, 12, 14, 15], "state_outlet": [2, 3, 7, 12, 14, 15], "terminate_secondary_med_prop": [2, 3, 6], "phasesepar": [2, 3], "state_outlet_liquid": [2, 3], "state_outlet_vapor": [2, 3], "basecycl": [2, 8, 10, 16], "calc_electrical_pow": [2, 3, 4, 8, 12], "calc_stat": [2, 8, 9, 11, 12, 14, 15], "calc_steady_st": [2, 8], "calc_steady_state_fsolv": [2, 8], "calculate_cycle_for_pressur": [2, 8], "calculate_outputs_for_valid_pressur": [2, 8], "flowsheet_nam": [2, 8, 10], "get_all_compon": [2, 8], "get_start_condensing_pressur": [2, 8], "get_start_evaporating_pressur": [2, 8], "get_states_in_order_for_plot": [2, 8], "improve_first_condensing_guess": [2, 8], "plot_cycl": [2, 8], "set_condenser_outlet_based_on_subcool": [2, 8], "set_evaporator_outlet_based_on_superh": [2, 8], "setup_new_fluid": [2, 8], "termin": [2, 3, 6, 8, 9], "standardcycl": [2, 8, 16], "fluid": [2, 3, 7, 8, 9, 10, 11, 16, 17], "basevaporinject": [2, 8], "calc_inject": [2, 8], "vaporinjectioneconom": [2, 8, 17], "vaporinjectionphasesepar": [2, 8, 17], "calc_transport_properti": [2, 9, 11], "get_critical_point": [2, 9, 11], "get_molar_mass": [2, 9], "calc_mean_transport_properti": [2, 9], "get_two_phase_limit": [2, 9, 11, 14], "calc_satliq_st": [2, 9], "get_available_subst": [2, 9], "get_comp_nam": [2, 9], "get_def_limit": [2, 9], "get_dll_path": [2, 9], "get_fluid_nam": [2, 9], "get_gwp": [2, 9], "get_longnam": [2, 9], "get_mass_fract": [2, 9], "get_mol_fract": [2, 9], "get_molar_composit": [2, 9], "get_nbp": [2, 9], "get_odp": [2, 9], "get_safeti": [2, 9], "get_sat_vap_pressur": [2, 9], "get_triple_point": [2, 9], "get_vers": [2, 9], "is_mixtur": [2, 9], "set_error_flag": [2, 9], "set_warning_flag": [2, 9], "get_pretty_print": [2, 9, 11], "calc_multiple_st": [2, 10], "full_factorial_map_gener": [2, 10, 16, 17], "nominal_hp_design": [2, 10], "plot_sdf_map": [2, 10, 16], "set_axis_styl": [2, 10], "merge_sdf": [2, 10], "save_to_sdf": [2, 10], "sdf_to_csv": [2, 10], "which": [2, 4, 6, 7, 9, 10, 11, 12, 13, 14, 16, 17, 18], "contain": [2, 8, 9, 10, 11, 14, 16], "librari": 2, "sourc": [2, 3, 4, 5, 6, 7, 8, 9, 10], "uniqu": 2, "heat": [2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 18], "pump": [2, 7, 8, 10, 14, 18], "dynam": [2, 7, 9, 14], "sens": [2, 14], "attribut": 2, "ad": [2, 9, 12, 18], "dure": [2, 6, 8], "calcul": [2, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15], "enabl": [2, 9, 14, 18], "easi": [2, 13], "custom": [2, 9, 10, 13], "analyz": [2, 10, 13, 16, 17], "whole": [2, 12], "restrict": 2, "certain": [2, 8, 13, 14], "convent": 2, "n": [2, 4, 9, 10, 12, 16], "none": [2, 4, 6, 8, 9, 10, 12], "t_eva_in": [2, 10, 14, 16], "t_con_in": [2, 10, 16], "m_flow_eva": [2, 10, 14, 16, 17], "m_flow_con": [2, 10, 16, 17], "dt_eva_superh": [2, 10, 14, 16, 17], "dt_con_subcool": [2, 10, 14, 16, 17], "t_ambient": 2, "while": [2, 8, 11, 12, 14], "pre": [2, 14], "ones": [2, 17], "method": [2, 3, 4, 6, 7, 9, 14], "rel": [2, 4, 12, 16], "speed": [2, 4, 10, 12, 13, 16], "between": [2, 4, 5, 6, 7, 9], "secondari": [2, 3, 6, 13, 14], "side": [2, 6, 7, 13, 14], "evapor": [2, 4, 6, 7, 8, 10, 11, 14, 15, 16, 17], "inlet": [2, 3, 7, 8, 12, 13, 14, 15], "temperatur": [2, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16], "condens": [2, 4, 6, 8, 10, 11, 14, 16, 17], "mass": [2, 3, 4, 5, 7, 8, 9, 10, 13, 14, 15], "flow": [2, 3, 4, 5, 6, 7, 8, 10, 13, 14, 15], "rate": [2, 3, 4, 5, 6, 7, 8, 10, 13, 14, 15], "super": [2, 12], "subcool": [2, 4, 6, 8, 9, 10, 11, 14], "ambient": [2, 13], "machin": 2, "object": [2, 3, 6, 7, 8, 9, 13], "numer": 2, "measur": 2, "option": [2, 4, 6, 7, 9, 10, 11, 13, 14], "hold": [2, 14], "anywher": 2, "addit": [2, 9, 17], "with_unit_and_descript": 2, "bool": [2, 8, 9, 10], "dict": [2, 4, 9, 10, 13], "return": [2, 3, 4, 5, 6, 7, 8, 10], "dictionari": [2, 4, 9, 10], "handi": 2, "store": [2, 10, 13, 14, 16, 17], "result": [2, 4, 8, 10, 12, 13, 14, 15, 16, 17], "csv": [2, 10, 13, 16, 17], "xlsx": [2, 10], "fals": [2, 8, 9, 10, 16, 17], "onli": [2, 4, 6, 8, 9, 10, 11, 13, 14, 15], "string": [2, 9], "deepcopi": 2, "instanc": [2, 3, 6, 8, 9, 11, 13], "mutabl": [2, 13], "default": [2, 3, 4, 6, 8, 9, 10, 13, 14, 16], "specifi": [2, 8, 9, 10, 12, 15, 16, 17], "found": [2, 10, 17], "list": [2, 4, 8, 9, 10, 11, 16], "from": [2, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "updat": 2, "calc_m_flow": [3, 4, 12], "calc_state_outlet": [3, 4, 12], "get_eta_isentrop": [3, 4], "get_eta_mech": [3, 4], "get_lambda_h": [3, 4], "get_n_absolut": [3, 4], "get_p_outlet": [3, 4], "constanteffectivenesscompressor": [3, 4, 12], "rotarycompressor": [3, 4, 12, 16, 17], "basetencoefficientcompressor": [3, 4], "get_paramet": [3, 4], "datasheetcompressor": [3, 4], "tencoefficientcompressor": [3, 4, 12], "calc_ten_coeffici": [3, 4], "calc_m_flow_at_open": [3, 5], "calc_opening_at_m_flow": [3, 5, 15], "expansionvalv": [3, 5, 8, 15], "calc_outlet": [3, 5, 15], "heat_transf": [3, 6, 14, 16, 17], "air_to_wal": [3, 6], "constant": [3, 4, 6, 8, 12, 14, 16, 17], "pipe_to_wal": [3, 6], "vdi_atlas_air_to_wal": [3, 6], "vdi_atlas_plate_h": [3, 6], "wall": [3, 6, 14, 16, 17], "vaporinjectioneconomizerntu": [3, 6, 8, 17], "calc": [3, 6, 7, 8, 14], "calc_alpha_secondari": [3, 6], "calc_transport_properties_secondary_medium": [3, 6], "set_secondary_cp": [3, 6], "state_two_phase_inlet": [3, 6], "state_two_phase_outlet": [3, 6], "heatexchang": [3, 6, 8], "calc_q_flow": [3, 6, 14], "calc_alpha_ga": [3, 6], "calc_alpha_liquid": [3, 6], "calc_alpha_two_phas": [3, 6], "calc_k": [3, 6], "calc_secondary_q_flow": [3, 6], "calc_secondary_cp": [3, 6], "calc_wall_heat_transf": [3, 6], "m_flow_secondari": [3, 6], "m_flow_secondary_cp": [3, 6], "movingboundarytmcondens": [3, 6], "movingboundarytmevapor": [3, 6], "calc_area": [3, 6], "calc_mean_temperatur": [3, 6], "separate_phas": [3, 6], "movingboundaryntu": [3, 6], "iterate_area": [3, 6], "movingboundaryntucondens": [3, 6, 16, 17], "movingboundaryntuevapor": [3, 6, 14, 16, 17], "basicntu": [3, 6], "calc_ntu": [3, 6], "calc_q_ntu": [3, 6], "calc_r": [3, 6], "calc_ep": [3, 6], "calc_m_flow_cp_min": [3, 6], "set_primary_cp": [3, 6], "abc": [3, 4, 5, 6, 7, 8, 9], "abstract": [3, 5, 6, 7, 8, 9], "interfac": [3, 9], "cycl": [3, 4, 6, 8, 9, 11, 13, 14, 17], "To": [3, 6, 9, 11, 13, 14, 16, 17, 18], "multiprocess": [3, 9, 10], "start": [3, 6, 8, 9, 10, 11, 14, 15, 16], "main": [3, 6], "thread": [3, 6], "pickl": [3, 6], "exchang": [3, 6, 7, 8, 11, 13, 17, 18], "overrid": [3, 6, 13], "properti": [3, 4, 6, 7, 9, 11, 12], "access": [3, 9, 12, 13, 16], "outlet": [3, 4, 5, 7, 8, 14, 15], "through": [3, 18], "wrapper": [3, 6], "multi": [3, 6, 14], "process": [3, 6, 14, 15, 18], "med": [3, 6, 14, 15], "prop": [3, 6, 9, 14, 15], "simpl": [3, 5, 7, 8, 14], "phase": [3, 6, 7, 8, 9, 11], "separ": [3, 6, 8], "getter": 3, "liquid": [3, 6, 8, 9], "n_max": [4, 12, 16, 17], "v_h": [4, 12, 16, 17], "extend": 4, "specif": [4, 6, 8, 9, 10, 11, 13], "maxim": [4, 14], "rotat": 4, "per": 4, "second": [4, 8, 9, 10, 14], "volum": [4, 9], "m": [4, 6, 7, 9, 12], "3": [4, 8, 9, 10, 13, 14, 15, 16, 17], "volumetr": 4, "effici": [4, 7, 12, 13, 14], "p_outlet": [4, 5, 12, 15], "isentrop": [4, 11], "mechan": 4, "pressur": [4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 17], "absolut": 4, "frequenc": [4, 16], "fs_state": [4, 6, 7, 8, 12, 13, 14], "high": [4, 9, 17], "level": [4, 5, 8, 9, 10, 11, 13, 14, 15, 16, 17], "refriger": [4, 6, 7, 9, 10, 12, 14], "electr": [4, 8], "power": [4, 8], "consum": 4, "adiabat": [4, 8], "energi": [4, 8, 9], "balanc": [4, 8], "motor": 4, "invert": 4, "given": [4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15], "round": [4, 9], "sec": 4, "eta_isentrop": [4, 12], "eta_mech": [4, 12], "lambda_h": [4, 12], "inherit": [4, 8], "basic": [4, 7, 11, 12, 13, 14, 16], "behavior": 4, "eta_invert": 4, "eta_motor": 4, "product": 4, "effect": [4, 6, 12], "thesi": 4, "mirko": 4, "engelpracht": 4, "character": 4, "regress": 4, "famili": 4, "coeffici": [4, 6, 7, 9, 16], "hi": 4, "master": [4, 9], "datasheet": 4, "kwarg": [4, 5, 6, 7, 8, 10], "ten": 4, "tabl": 4, "ha": [4, 12, 15], "order": [4, 8, 9, 10, 14, 18], "column": [4, 16], "import": [4, 6, 8, 11, 12, 13, 14, 15, 16, 17], "must": [4, 8], "same": [4, 6, 9, 10, 12, 13, 14, 15, 17, 18], "tabel": 4, "match": [4, 15], "argument": [4, 5, 6, 7, 8, 12, 13, 16], "parameter_nam": 4, "fiction": 4, "placehold": 4, "capac": [4, 6, 9], "w": [4, 7, 9], "kg": [4, 5, 9, 10, 11, 12], "h": [4, 9, 11, 14, 15], "n1": 4, "n2": 4, "n_last": 4, "p1": 4, "42": 4, "12": [4, 9], "243": 4, "32": 4, "412": 4, "p10": 4, "10": [4, 9, 12, 13, 14, 16, 17], "23": 4, "21": [4, 9], "41": 4, "2434": 4, "path": [4, 8, 9, 10, 16, 17], "intern": [4, 9], "kei": [4, 10], "input_pow": 4, "eta_": 4, "volumentr": 4, "sheet_nam": 4, "sheet": 4, "t_eva": [4, 14], "t_con": 4, "type_": 4, "celsiu": 4, "interpol": 4, "keyword": [4, 5, 8], "pa": [4, 9, 11, 14], "t_sc": 4, "t_sh": 4, "capacity_definit": 4, "assumed_eta_mech": 4, "accord": [4, 7, 13, 14], "data": [4, 10, 12, 13], "cool": [4, 8, 9], "h1": 4, "h4": 4, "h2": 4, "h3": 4, "assum": [4, 7, 8, 11, 12, 14, 15, 17], "otherwis": 4, "For": [4, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18], "p_el": [4, 12], "k": [4, 6, 7, 8, 9, 11, 14], "superh": [4, 6, 8, 9, 10], "definit": [4, 9], "need": [4, 8, 9, 12, 13, 14, 16, 17], "coef_list": 4, "expans": [5, 8, 9, 11, 14, 16, 17], "valv": [5, 8, 14, 16, 17], "cross": [5, 6, 7, 15], "section": [5, 7, 9, 15], "area": [5, 6, 7, 14, 15], "child": [5, 8], "ev": [5, 8], "thei": [5, 14], "isenthalp": [5, 8, 14], "airtowalltransf": [6, 7], "calc_laminar_area_nusselt": [6, 7], "calc_reynold": [6, 7], "wsuairtowal": [6, 7], "constantheattransf": [6, 7, 14, 16, 17], "constanttwophaseheattransf": [6, 7, 14, 16, 17], "heattransf": [6, 7], "twophaseheattransf": [6, 7], "calc_reynolds_pip": [6, 7], "turbulentfluidinpipetowalltransf": [6, 7], "calc_turbulent_tube_nusselt": [6, 7], "airsourceheatexchangergeometri": [6, 7], "a_freieoberflaecherohr": [6, 7], "a_rippen": [6, 7], "a_rohrinnen": [6, 7], "a_rohrunberippt": [6, 7], "alpha_": [6, 7], "char_length": [6, 7], "d_a": [6, 7], "d_i": [6, 7], "dicke_ripp": [6, 7], "eta_r": [6, 7], "hoeh": [6, 7], "laeng": [6, 7], "lambda_r": [6, 7], "n_rippen": [6, 7], "n_rohr": [6, 7], "phi": [6, 7], "t_l": [6, 7], "t_q": [6, 7], "tief": [6, 7], "verjuengungsfaktor": [6, 7], "vdiatlasairtowalltransf": [6, 7], "plateheatexchangergeometri": [6, 7], "x": [6, 7, 8, 9], "amplitud": [6, 7], "d_h": [6, 7], "enlargement_factor": [6, 7], "height": [6, 7], "lambda_w": [6, 7], "n_plate": [6, 7], "wall_thick": [6, 7], "wave_length": [6, 7], "width": [6, 7], "vdiatlasplateheattransf": [6, 7], "calc_turbulent_plate_nusselt": [6, 7], "walltransf": [6, 7, 14, 16, 17], "inject": [6, 8, 13], "pure": [6, 9], "estim": [6, 7, 13], "parent": [6, 8], "assumpt": [6, 7, 11, 14, 15, 17], "flow_typ": [6, 14, 16, 17], "counter_flow": 6, "ratio_outer_to_inner_area": [6, 14, 16, 17], "pipe": [6, 7], "nearli": 6, "diamet": [6, 7, 15], "length": [6, 7], "transfer": [6, 7, 8, 14], "alpha": [6, 7, 14, 16, 17], "disabl": [6, 10], "ga": 6, "both": [6, 10, 14], "save": [6, 8, 10, 13, 16, 17], "later": [6, 14], "valid": [6, 9, 10, 11, 14, 18], "tupl": [6, 8, 9, 10], "percentag": 6, "requir": [6, 8, 10, 11, 12, 13, 14, 15], "dt_min": [6, 14], "minim": [6, 10], "neg": [6, 14], "transport_properti": [6, 7, 11], "medium": [6, 7], "transport": [6, 7, 9, 11, 14], "p": [6, 8, 9, 11, 14], "select": [6, 11], "secondary_medium": [6, 7, 14, 16, 17], "cp": [6, 9], "primari": [6, 10], "m_flow_cp": 6, "up": [6, 9, 10], "wall_heat_transf": [6, 14, 16, 17], "secondary_heat_transf": [6, 14, 16, 17], "gas_heat_transf": [6, 14, 16, 17], "liquid_heat_transf": [6, 14, 16, 17], "two_phase_heat_transf": [6, 14, 16, 17], "counter": [6, 14, 16, 17], "he": [6, 7, 8], "2": [6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17], "water": [6, 7, 16, 17], "air": [6, 7, 14, 16, 17], "total": [6, 7, 9], "state_q0": [6, 7], "state_q1": [6, 7], "qualiti": [6, 9, 11], "alpha_pri": 6, "alpha_sec": 6, "overal": 6, "q_flow": [6, 14], "actual": 6, "No": [6, 8, 11], "chang": [6, 8, 9, 10, 12, 14], "over": [6, 9, 11, 13], "tm": 6, "q": [6, 9, 11, 14], "t_hot_in": 6, "t_hot_out": 6, "t_cold_in": 6, "t_cold_out": 6, "state_max": 6, "state_min": 6, "three": [6, 10], "part": [6, 8], "sc": 6, "latent": 6, "lat": 6, "sh": 6, "higher": [6, 8, 9, 14, 16], "enthalpi": [6, 8, 9, 11, 15], "lower": [6, 8, 9, 14, 16], "q_sc": 6, "q_lat": 6, "q_sh": 6, "move": [6, 8, 14], "boundari": [6, 8, 9, 13, 14], "dt_max": 6, "iter": [6, 8, 9, 10, 15], "maximum": [6, 8, 9, 11], "differenti": 6, "parallel": 6, "multipli": 6, "outer": 6, "howev": [6, 10, 13, 14, 15, 16], "drastic": 6, "vdi": [6, 7], "atla": [6, 7], "propos": 6, "ratio": [6, 12, 13], "inner": [6, 9], "account": 6, "mismatch": 6, "size": [6, 8, 9, 14, 16, 17], "typic": [6, 14], "around": [6, 11, 12, 15], "20": 6, "30": [6, 16, 17], "static": [6, 9], "r": [6, 10, 16, 17], "ep": 6, "ebc": [6, 18], "lectur": 6, "simmodel": 6, "minimum": [6, 8, 9, 11], "a_cross": 7, "characteristic_length": 7, "m2": 7, "similitud": 7, "approach": [7, 8, 14], "alwai": [7, 8, 11, 12, 14], "laminar": 7, "pr": [7, 9], "lambda_": [7, 14, 16, 17], "nusselt": 7, "reynold": 7, "prandlt": 7, "lambda": 7, "dynamic_viscos": 7, "viscos": [7, 9], "ws\u00fc": 7, "script": [7, 16], "rwth": [7, 18], "prandtl": [7, 9], "allow": [7, 8], "notimplementederror": 7, "subclass": 7, "thermodynam": [7, 8, 9], "begin": 7, "region": [7, 8, 9, 11], "end": [7, 9, 14], "characterist": 7, "turbul": 7, "equat": 7, "note": [7, 11, 12, 14, 15, 16, 17], "just": [7, 11, 12, 13, 16, 17], "one": [7, 9, 10, 13, 15, 16, 17, 18], "taler2016": 7, "domanski1989_sp_smooth": 7, "amalfi2016": 7, "scriptws\u00fc": 7, "regim": [7, 14], "eta_by_eta_w": 7, "refer": [7, 9, 12, 18], "paper": 7, "document": [7, 9, 11, 12, 14, 16], "info": [7, 8, 16, 17], "ref": [7, 9], "calibr": 7, "correl": [7, 14], "nuseelt": 7, "tube": 7, "conderns": 7, "50": [7, 12, 16, 17], "500": 7, "00195": 7, "5e": [7, 15], "05": [7, 9, 13], "04": [7, 9], "64": 7, "geometri": 7, "fin": 7, "row": 7, "shift": 7, "arrang": 7, "w\u00e4rmeatla": 7, "berechnungsbl\u00e4tt": 7, "f\u00fcr": 7, "den": 7, "w\u00e4rme\u00fcbergang": 7, "11": [7, 9], "auflag": 7, "1461": 7, "german": 7, "kept": 7, "well": [7, 9, 12, 14, 17, 18], "surfac": [7, 9, 10], "outsid": [7, 9, 11], "without": [7, 11, 13, 16], "alpha_r": 7, "appar": 7, "averag": [7, 9], "auxiliari": 7, "reduct": 7, "factor": [7, 9, 14], "a_cross_fre": 7, "a_cross_smallest": 7, "geometry_paramet": 7, "thermal": [7, 9], "conduct": [7, 9, 11], "druckverlust": 7, "und": 7, "plattenw\u00e4rme\u00fcbertragern": 7, "1687": 7, "plate": 7, "wave": 7, "hydraul": 7, "enlarg": 7, "zeta": 7, "drop": 7, "thick": [7, 14, 16, 17], "materi": 7, "km": 7, "complex": [8, 14, 17], "system": [8, 16], "hp": [8, 10], "sink": 8, "therefor": 8, "consumpt": 8, "p_1": [8, 13], "p_2": [8, 13], "loss": [8, 13], "equal": [8, 16, 17], "steadi": [8, 10, 13, 14, 18], "perform": [8, 10, 16, 17], "ensur": [8, 14], "consist": 8, "across": 8, "It": [8, 9, 18], "under": [8, 16, 17], "condit": [8, 13], "adher": 8, "sever": [8, 18], "plu": 8, "maintain": [8, 9], "overh": 8, "initi": [8, 9], "min_iteration_step": [8, 14], "step": [8, 9, 14], "save_path_plot": 8, "show_iter": 8, "whether": [8, 9], "displai": [8, 10], "progress": 8, "t_max": 8, "273": [8, 11, 12, 14, 15, 16, 17], "15": [8, 11, 12, 14, 15, 16, 17], "150": 8, "use_quick_solv": 8, "solver": [8, 10, 16, 17], "true": [8, 9, 10, 14, 16, 17], "max_err_ntu": 8, "percent": 8, "5": [8, 9, 10, 12, 15, 16, 17], "max_err_dt_min": 8, "max_num_iter": 8, "repres": [8, 9], "baseclass": 8, "map": [8, 10, 16, 17], "dt_pinch": 8, "simul": [8, 10, 13, 14, 15, 16, 18], "plausibl": 8, "first": [8, 9, 10, 11, 12, 13, 14, 15, 19], "entri": 8, "being": 8, "m_flow_guess": 8, "p_2_guess": 8, "dt_pinch_assumpt": 8, "save_path": [8, 10, 16, 17], "config": 8, "p_con": 8, "degre": [8, 14], "p_eva": 8, "four": 8, "4": [8, 9, 15], "high_pressure_compressor": [8, 17], "low_pressure_compressor": [8, 17], "high_pressure_valv": [8, 17], "low_pressure_valv": [8, 17], "partial": 8, "portion": 8, "low": [8, 17], "relev": [8, 9, 11, 12, 13], "stage": 8, "except": [8, 13], "intermedi": [8, 14], "9": [8, 12, 16, 17], "ihx": 8, "5_ihx": 8, "6_ihx": 8, "mix": [8, 9], "1_vi": 8, "7_ihx": 8, "1_vi_mix": 8, "split": 8, "stream": 8, "realiti": [8, 14], "would": [8, 9, 13, 14, 15], "achiev": [8, 10, 17], "superheat": [8, 11, 14, 15], "thu": [8, 11, 12, 13, 14], "fit": 8, "simplic": 8, "amount": [8, 14], "increas": 8, "long": [8, 9], "enough": [8, 15], "hotter": 8, "sub": 8, "fulli": [8, 9], "ideal": 8, "seper": [8, 17], "5_vip": 8, "6_vip": 8, "7_vip": 8, "fluid_nam": [9, 11, 12, 14, 15], "use_high_level_api": 9, "api": 9, "much": [9, 10, 15], "slower": 9, "mode": 9, "var1": 9, "var2": 9, "chosen": 9, "si": 9, "pt": [9, 12, 14], "might": [9, 13], "fall": 9, "within": 9, "densiti": 9, "where": [9, 10], "know": [9, 16], "invers": 9, "physic": 9, "scope": 9, "998": 9, "999": 9, "supercrit": 9, "pd": [9, 16], "ph": [9, 11, 14], "pq": [9, 11, 12, 14], "entropi": 9, "pu": 9, "td": 9, "th": 9, "tq": [9, 11, 14, 15], "tu": 9, "dh": 9, "d": [9, 15, 16, 17], "du": 9, "abov": [9, 16, 17], "assertionerror": 9, "avail": [9, 18], "current": [9, 10, 13, 14, 15, 16, 17, 18], "retriev": 9, "critic": [9, 11], "point": [9, 10, 11, 14, 15], "tc": 9, "pc": 9, "dc": 9, "molar": 9, "mol": 9, "serv": 9, "comput": 9, "limit": [9, 11], "state_in": 9, "state_out": 9, "quantiti": 9, "p_min": [9, 11], "100000": 9, "p_step": [9, 11, 14], "5000": [9, 14, 16, 17], "arrai": [9, 10, 12], "purpos": 9, "rang": [9, 11, 13, 14], "variat": 9, "ndarrai": [9, 10], "valueerror": 9, "behaviour": 9, "noth": [9, 14], "z": 9, "dll_path": 9, "use_error_check": 9, "use_warn": 9, "ref_prop_path": 9, "copy_dl": 9, "copy_dll_directori": 9, "connect": 9, "param": 9, "composit": 9, "design": [9, 10, 16, 17, 18], "mixtur": 9, "shall": 9, "r32": 9, "fld": 9, "r125": 9, "fraction": 9, "697": 9, "303": 9, "similar": [9, 10, 11, 17], "r410a": [9, 10], "dll": [9, 11, 18], "c": [9, 11, 12, 14, 18], "path_to_dllrefprop64": 9, "determin": 9, "boolean": 9, "warn": 9, "env": 9, "rpprefix": 9, "simultan": 9, "multipl": [9, 10, 12], "instal": 9, "ctrefprop": 9, "http": [9, 10, 18], "github": [9, 18], "com": [9, 18], "usnistgov": 9, "tree": 9, "python": [9, 11], "deviat": 9, "gui": 9, "last": [9, 12, 15], "somehow": 9, "though": 9, "rp": 9, "now": [9, 11, 12, 14, 15, 16, 17], "header": [9, 16], "global": 9, "warm": 9, "potenti": 9, "ozon": 9, "deplet": 9, "safeti": 9, "substanc": 9, "crit": 9, "2020": 9, "christoph": 9, "hoeg": 9, "gwp": 9, "odp": 9, "wasn": 9, "testet": 9, "r455a": 9, "still": [9, 12, 14, 15], "slightli": 9, "25": [9, 14, 16, 17], "command": 9, "instruct": 9, "init": 9, "__init__": 9, "remov": 9, "protect": 9, "due": [9, 12], "adjust": [9, 14], "_call_refprop": 9, "frac": 9, "08": 9, "abflshdll": 9, "abflsh": 9, "convers": 9, "so": [9, 11, 12, 14], "user": [9, 13, 18], "choos": 9, "Not": [9, 15], "19": 9, "debug": 9, "predefin": 9, "22": 9, "6": [9, 12, 16, 17], "06": 9, "fabian": 9, "wuellhorst": 9, "time": [9, 12, 14], "kj": [9, 11, 14], "kgk": [9, 14], "kr": 9, "include_end": 9, "save_txt": 9, "kind": 9, "text": 9, "comp_nam": 9, "tmin": 9, "tmax": 9, "dmax": 9, "pmax": 9, "min": 9, "max": [9, 14], "locat": [9, 10], "path_to_dl": 9, "fail": 9, "longnam": 9, "use_round": 9, "exact": 9, "fourth": 9, "mass_frac": 9, "z_molar": 9, "whose": 9, "_mol_frac": 9, "y": 9, "normal": 9, "boil": 9, "bar": [9, 11, 14], "nbp": 9, "t_sat": 9, "satur": 9, "solid": 9, "equilibrium": 9, "p_sat": 9, "tripl": 9, "fine": 9, "t_tpl": 9, "p_tpl": 9, "wrapper_vers": 9, "refprop_vers": 9, "find": [9, 14], "out": [9, 12], "_mix_flag": 9, "err": 9, "notifi": 9, "went": 9, "u": 9, "v": [9, 18], "necessarili": 9, "j": [9, 11], "__str__": 9, "represent": 9, "lam": 9, "dyn_vi": 9, "kin_vi": 9, "cv": 9, "beta": 9, "sur_ten": 9, "ace_fac": 9, "kinemat": 9, "isobar": [9, 11], "isochor": 9, "tension": 9, "acentr": 9, "belong": [9, 16], "handl": [9, 13], "databas": 9, "load": [9, 16, 17], "variou": [9, 10], "relat": 9, "1000": [9, 14, 16, 17], "primarili": 9, "visual": [9, 10], "accuraci": [9, 10], "exclus": 9, "append": [9, 11, 12, 13, 14, 15], "form": 9, "revers": 9, "author": 9, "jona": 9, "brach": 9, "test": [9, 18], "statu": 9, "exclud": 9, "gener": [10, 16, 17], "heat_pump": [10, 16, 17], "pathlib": 10, "t_eva_in_ar": [10, 16, 17], "t_con_in_ar": [10, 16, 17], "n_ar": [10, 16, 17], "use_multiprocess": [10, 16, 17], "save_plot": [10, 16, 17], "full": [10, 16, 17], "factori": [10, 16, 17], "tool": 10, "modelica": 10, "off": [10, 16, 17], "sdf": [10, 13, 16, 17], "vari": [10, 16, 17], "dimens": 10, "dt_con": 10, "dt_eva": 10, "nomin": 10, "m_flow_eva_start": 10, "guess": 10, "m_flow_con_start": 10, "001": 10, "about": 10, "filepath_sdf": [10, 16], "nd_data": [10, 16], "first_dimens": [10, 16], "second_dimens": [10, 16], "violin_plot_vari": 10, "third_dimens": 10, "dataset": 10, "3d": [10, 16], "scatter": [10, 16], "violin": 10, "them": [10, 11, 17], "matplotlib": [10, 11, 12, 14, 15, 16], "third": [10, 12], "4d": 10, "keyerror": 10, "heatpumpmap": 10, "cop": [10, 13, 16], "optihorn": 10, "ax": [10, 14], "org": 10, "galleri": 10, "statist": 10, "customized_violin": 10, "html": 10, "sphx": 10, "glr": 10, "filepath": 10, "Be": 10, "care": 10, "combin": 10, "Then": 10, "latter": [10, 11, 12, 13], "element": 10, "overwrit": 10, "scale": 10, "Of": 10, "t_amb": 10, "dimension": 10, "scalar": 10, "top": 10, "group": 10, "convert": 10, "excel": 10, "demonstr": [11, 12, 13, 14, 15], "its": [11, 12, 13, 14, 15], "children": [11, 12, 15], "shown": 11, "let": [11, 12, 13, 14, 15, 16, 17], "vclibpi": [11, 12, 13, 14, 15, 16, 17], "purchas": 11, "togeth": 11, "pass": [11, 12, 13], "go": [11, 12, 14], "propan": [11, 12, 14, 15, 16, 17], "explain": [11, 12], "2e5": 11, "100": [11, 14, 15], "100e3": 11, "print": [11, 12, 13, 14, 15, 16], "plai": [11, 12], "those": [11, 13, 14, 16, 18], "look": [11, 15, 16, 18], "again": [11, 12, 14, 15, 16], "learn": [11, 12], "idea": 11, "loop": [11, 13, 14], "40": [11, 14, 15], "t_crit": 11, "p_crit": 11, "d_crit": 11, "p_max": 11, "q0": 11, "q1": 11, "10000": [11, 14], "reduc": 11, "diagram": 11, "revert": 11, "comprehens": 11, "quit": 11, "pyplot": [11, 12, 14, 15, 16], "plt": [11, 12, 14, 15, 16], "ylabel": [11, 12, 14, 15, 16], "xlabel": [11, 12, 14, 15, 16], "color": [11, 14], "black": [11, 14], "nor": 11, "state_1": 11, "state_3": 11, "state_4": 11, "state_2": 11, "marker": [11, 14, 15], "plot_lines_h": 11, "plot_lines_t": 11, "red": [11, 14], "skill": 11, "ve": 11, "tweak": [11, 15], "log": [11, 16, 17], "next": 11, "exemplari": [12, 15], "constant_efficiency_compressor": 12, "120": 12, "19e": [12, 16, 17], "7": [12, 16, 17], "95": 12, "do": [12, 14], "1bar": 12, "p_inlet": 12, "1e5": [12, 14, 15], "t_superheat": 12, "least": [12, 14], "most": [12, 16], "concept": [12, 13], "instanti": [12, 14], "reli": 12, "6e5": 12, "f": [12, 13, 14, 15], "np": [12, 13, 14, 15], "arang": [12, 15], "t_outlet": 12, "t_": 12, "mathrm": [12, 14], "pi": 12, "continu": [12, 14], "interest": [12, 13], "dot": 12, "influenc": [12, 16, 17], "metric": 12, "deeper": 12, "alter": 12, "extern": 13, "act": 13, "could": [13, 14, 16, 17], "empti": 13, "sai": 13, "control": [13, 14], "k_vapor_inject": 13, "along": 13, "easier": 13, "sqrt": 13, "regist": 13, "essenti": 13, "anyth": 13, "some_interesting_output": 13, "14": [13, 15], "distinct": 13, "t_1": 13, "histori": [13, 18], "preserv": 13, "some_valu": 13, "contrari": 14, "epsntu": 14, "lot": 14, "236": [14, 16, 17], "2e": [14, 16, 17], "solv": 14, "until": 14, "met": 14, "oscil": 14, "oper": 14, "abl": 14, "meet": 14, "mean": 14, "directli": [14, 15], "real": 14, "01": [14, 15], "done": 14, "extra": 14, "correspond": [14, 18], "a2w25": 14, "47": 14, "p_evapor": [14, 15], "state_condenser_outlet": [14, 15], "t_evapor": 14, "logic": 14, "indic": 14, "smaller": [14, 15, 17], "margin": 14, "greater": [14, 16], "zero": 14, "veri": 14, "larg": [14, 15], "q_ntu": 14, "less": 14, "linspac": 14, "1e4": 14, "fanci": 14, "posit": 14, "back": 14, "old": 14, "decreas": 14, "At": 14, "fig": 14, "subplot": 14, "sharex": 14, "set_ylabel": 14, "delta": 14, "set_xlabel": 14, "p_": 14, "eva": 14, "good": 14, "realli": 14, "avoid": [14, 16], "infinit": 14, "max_iter": 14, "n_iter": 14, "p_eva_next": 14, "min_step": 14, "min_error": 14, "elif": 14, "accur": 14, "break": 14, "els": 14, "converg": 14, "did": [14, 16], "solut": 14, "took": 14, "optim": 14, "techniqu": 14, "quickli": 14, "state_vapor": 14, "states_to_plot": 14, "t_eva_out": 14, "blue": 14, "ylim": 14, "275": 14, "mm": 15, "give": 15, "149034617014494": 15, "ca": 15, "m_flow_ref_go": 15, "repeat": 15, "d_mm_arrai": 15, "d_mm": 15, "1e": 15, "common": 16, "repetit": 16, "modern": 16, "tell": 16, "hand": 16, "fist": 16, "develop": [16, 18], "previou": 16, "algorithm": [16, 17], "But": 16, "anoth": [16, 17], "125": [16, 17], "plug": [16, 17], "00_temp": [16, 17], "simple_heat_pump": 16, "70": 16, "messag": [16, 17], "basicconfig": [16, 17], "save_path_sdf": 16, "save_path_csv": 16, "happen": 16, "explor": 16, "o": 16, "listdir": 16, "One": 16, "standard_propan": 16, "panda": 16, "df": 16, "read_csv": 16, "index_col": 16, "x_name": 16, "y_name": 16, "often": 16, "lead": 16, "impact": 16, "field": 16, "twice": 17, "somewhat": 17, "larger": 17, "60": 17, "prior": [17, 19], "feel": 17, "asid": 17, "usag": 17, "50000": 17, "And": 17, "repositori": 18, "apor": 18, "ompress": 18, "lib": 18, "rari": 18, "thon": 18, "configur": 18, "chiller": 18, "pip": 18, "bui": 18, "licenc": 18, "obtain": 18, "egg": 18, "clone": 18, "recommend": 18, "jupyt": 18, "notebook": 18, "guid": 18, "prepar": 18, "encourag": 18, "either": 18, "local": 18, "browser": 18, "juypter": 18, "web": 18, "host": 18, "jupyter_notebook": 18, "Or": 18, "folder": 18, "public": 18, "doi": 18, "soon": 18, "visit": 18, "offici": 18, "gratefulli": 18, "financi": 18, "feder": 18, "ministri": 18, "affair": 18, "climat": 18, "action": 18, "bmwk": 18, "promot": 18, "03en1022b": 18, "contribut": 18, "styleguid": 18, "pylint": 18, "index": 18, "search": 18, "v0": 19}, "objects": {"": [[2, 0, 0, "-", "vclibpy"]], "vclibpy": [[3, 0, 0, "-", "components"], [2, 0, 0, "-", "datamodels"], [8, 0, 0, "-", "flowsheets"], [9, 0, 0, "-", "media"], [10, 0, 0, "-", "utils"]], "vclibpy.components": [[3, 0, 0, "-", "component"], [4, 0, 0, "-", "compressors"], [5, 0, 0, "-", "expansion_valves"], [6, 0, 0, "-", "heat_exchangers"], [3, 0, 0, "-", "phase_separator"]], "vclibpy.components.component": [[3, 1, 1, "", "BaseComponent"]], "vclibpy.components.component.BaseComponent": [[3, 2, 1, "", "m_flow"], [3, 2, 1, "", "med_prop"], [3, 3, 1, "", "start_secondary_med_prop"], [3, 2, 1, "", "state_inlet"], [3, 2, 1, "", "state_outlet"], [3, 3, 1, "", "terminate_secondary_med_prop"]], "vclibpy.components.compressors": [[4, 0, 0, "-", "compressor"], [4, 0, 0, "-", "constant_effectivness"], [4, 0, 0, "-", "rotary"], [4, 0, 0, "-", "ten_coefficient"]], "vclibpy.components.compressors.compressor": [[4, 1, 1, "", "Compressor"]], "vclibpy.components.compressors.compressor.Compressor": [[4, 3, 1, "", "calc_electrical_power"], [4, 3, 1, "", "calc_m_flow"], [4, 3, 1, "", "calc_state_outlet"], [4, 3, 1, "", "get_eta_isentropic"], [4, 3, 1, "", "get_eta_mech"], [4, 3, 1, "", "get_lambda_h"], [4, 3, 1, "", "get_n_absolute"], [4, 3, 1, "", "get_p_outlet"]], "vclibpy.components.compressors.constant_effectivness": [[4, 1, 1, "", "ConstantEffectivenessCompressor"]], "vclibpy.components.compressors.constant_effectivness.ConstantEffectivenessCompressor": [[4, 3, 1, "", "get_eta_isentropic"], [4, 3, 1, "", "get_eta_mech"], [4, 3, 1, "", "get_lambda_h"]], "vclibpy.components.compressors.rotary": [[4, 1, 1, "", "RotaryCompressor"]], "vclibpy.components.compressors.rotary.RotaryCompressor": [[4, 3, 1, "", "get_eta_isentropic"], [4, 3, 1, "", "get_eta_mech"], [4, 3, 1, "", "get_lambda_h"]], "vclibpy.components.compressors.ten_coefficient": [[4, 1, 1, "", "BaseTenCoefficientCompressor"], [4, 1, 1, "", "DataSheetCompressor"], [4, 1, 1, "", "TenCoefficientCompressor"], [4, 4, 1, "", "calc_ten_coefficients"]], "vclibpy.components.compressors.ten_coefficient.BaseTenCoefficientCompressor": [[4, 3, 1, "", "get_parameter"]], "vclibpy.components.compressors.ten_coefficient.DataSheetCompressor": [[4, 3, 1, "", "get_eta_isentropic"], [4, 3, 1, "", "get_eta_mech"], [4, 3, 1, "", "get_lambda_h"]], "vclibpy.components.compressors.ten_coefficient.TenCoefficientCompressor": [[4, 3, 1, "", "get_eta_isentropic"], [4, 3, 1, "", "get_eta_mech"], [4, 3, 1, "", "get_lambda_h"]], "vclibpy.components.expansion_valves": [[5, 0, 0, "-", "bernoulli"], [5, 0, 0, "-", "expansion_valve"]], "vclibpy.components.expansion_valves.bernoulli": [[5, 1, 1, "", "Bernoulli"]], "vclibpy.components.expansion_valves.bernoulli.Bernoulli": [[5, 3, 1, "", "calc_m_flow_at_opening"], [5, 3, 1, "", "calc_opening_at_m_flow"]], "vclibpy.components.expansion_valves.expansion_valve": [[5, 1, 1, "", "ExpansionValve"]], "vclibpy.components.expansion_valves.expansion_valve.ExpansionValve": [[5, 3, 1, "", "calc_m_flow_at_opening"], [5, 3, 1, "", "calc_opening_at_m_flow"], [5, 3, 1, "", "calc_outlet"]], "vclibpy.components.heat_exchangers": [[6, 0, 0, "-", "economizer"], [6, 0, 0, "-", "heat_exchanger"], [7, 0, 0, "-", "heat_transfer"], [6, 0, 0, "-", "moving_boundary_Tm"], [6, 0, 0, "-", "moving_boundary_ntu"], [6, 0, 0, "-", "ntu"]], "vclibpy.components.heat_exchangers.economizer": [[6, 1, 1, "", "VaporInjectionEconomizerNTU"]], "vclibpy.components.heat_exchangers.economizer.VaporInjectionEconomizerNTU": [[6, 3, 1, "", "calc"], [6, 3, 1, "", "calc_alpha_secondary"], [6, 3, 1, "", "calc_transport_properties_secondary_medium"], [6, 3, 1, "", "set_secondary_cp"], [6, 3, 1, "", "start_secondary_med_prop"], [6, 2, 1, "", "state_two_phase_inlet"], [6, 2, 1, "", "state_two_phase_outlet"], [6, 3, 1, "", "terminate_secondary_med_prop"]], "vclibpy.components.heat_exchangers.heat_exchanger": [[6, 1, 1, "", "HeatExchanger"]], "vclibpy.components.heat_exchangers.heat_exchanger.HeatExchanger": [[6, 3, 1, "", "calc"], [6, 3, 1, "", "calc_Q_flow"], [6, 3, 1, "", "calc_alpha_gas"], [6, 3, 1, "", "calc_alpha_liquid"], [6, 3, 1, "", "calc_alpha_secondary"], [6, 3, 1, "", "calc_alpha_two_phase"], [6, 3, 1, "", "calc_k"], [6, 3, 1, "", "calc_secondary_Q_flow"], [6, 3, 1, "", "calc_secondary_cp"], [6, 3, 1, "", "calc_transport_properties_secondary_medium"], [6, 3, 1, "", "calc_wall_heat_transfer"], [6, 2, 1, "", "m_flow_secondary"], [6, 2, 1, "", "m_flow_secondary_cp"], [6, 3, 1, "", "start_secondary_med_prop"], [6, 3, 1, "", "terminate_secondary_med_prop"]], "vclibpy.components.heat_exchangers.heat_transfer": [[7, 0, 0, "-", "air_to_wall"], [7, 0, 0, "-", "constant"], [7, 0, 0, "-", "heat_transfer"], [7, 0, 0, "-", "pipe_to_wall"], [7, 0, 0, "-", "vdi_atlas_air_to_wall"], [7, 0, 0, "-", "vdi_atlas_plate_he"], [7, 0, 0, "-", "wall"]], "vclibpy.components.heat_exchangers.heat_transfer.air_to_wall": [[7, 1, 1, "", "AirToWallTransfer"], [7, 1, 1, "", "WSUAirToWall"]], "vclibpy.components.heat_exchangers.heat_transfer.air_to_wall.AirToWallTransfer": [[7, 3, 1, "", "calc"], [7, 3, 1, "", "calc_laminar_area_nusselt"], [7, 3, 1, "", "calc_reynolds"]], "vclibpy.components.heat_exchangers.heat_transfer.air_to_wall.WSUAirToWall": [[7, 3, 1, "", "calc_laminar_area_nusselt"], [7, 3, 1, "", "calc_reynolds"]], "vclibpy.components.heat_exchangers.heat_transfer.constant": [[7, 1, 1, "", "ConstantHeatTransfer"], [7, 1, 1, "", "ConstantTwoPhaseHeatTransfer"]], "vclibpy.components.heat_exchangers.heat_transfer.constant.ConstantHeatTransfer": [[7, 3, 1, "", "calc"]], "vclibpy.components.heat_exchangers.heat_transfer.constant.ConstantTwoPhaseHeatTransfer": [[7, 3, 1, "", "calc"]], "vclibpy.components.heat_exchangers.heat_transfer.heat_transfer": [[7, 1, 1, "", "HeatTransfer"], [7, 1, 1, "", "TwoPhaseHeatTransfer"], [7, 4, 1, "", "calc_reynolds_pipe"]], "vclibpy.components.heat_exchangers.heat_transfer.heat_transfer.HeatTransfer": [[7, 3, 1, "", "calc"]], "vclibpy.components.heat_exchangers.heat_transfer.heat_transfer.TwoPhaseHeatTransfer": [[7, 3, 1, "", "calc"]], "vclibpy.components.heat_exchangers.heat_transfer.pipe_to_wall": [[7, 1, 1, "", "TurbulentFluidInPipeToWallTransfer"]], "vclibpy.components.heat_exchangers.heat_transfer.pipe_to_wall.TurbulentFluidInPipeToWallTransfer": [[7, 3, 1, "", "calc"], [7, 3, 1, "", "calc_turbulent_tube_nusselt"]], "vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_air_to_wall": [[7, 1, 1, "", "AirSourceHeatExchangerGeometry"], [7, 1, 1, "", "VDIAtlasAirToWallTransfer"]], "vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_air_to_wall.AirSourceHeatExchangerGeometry": [[7, 2, 1, "", "A"], [7, 2, 1, "", "A_FreieOberflaecheRohr"], [7, 2, 1, "", "A_Rippen"], [7, 2, 1, "", "A_RohrInnen"], [7, 2, 1, "", "A_RohrUnberippt"], [7, 5, 1, "", "a"], [7, 3, 1, "", "alpha_S"], [7, 2, 1, "", "char_length"], [7, 5, 1, "", "d_a"], [7, 5, 1, "", "d_i"], [7, 5, 1, "", "dicke_rippe"], [7, 3, 1, "", "eta_R"], [7, 5, 1, "", "hoehe"], [7, 5, 1, "", "laenge"], [7, 5, 1, "", "lambda_R"], [7, 5, 1, "", "n_Rippen"], [7, 5, 1, "", "n_Rohre"], [7, 2, 1, "", "phi"], [7, 5, 1, "", "t_l"], [7, 5, 1, "", "t_q"], [7, 5, 1, "", "tiefe"], [7, 2, 1, "", "verjuengungsfaktor"]], "vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_air_to_wall.VDIAtlasAirToWallTransfer": [[7, 3, 1, "", "calc_laminar_area_nusselt"], [7, 3, 1, "", "calc_reynolds"]], "vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_plate_he": [[7, 1, 1, "", "PlateHeatExchangerGeometry"], [7, 1, 1, "", "VDIAtlasPlateHeatTransfer"]], "vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_plate_he.PlateHeatExchangerGeometry": [[7, 2, 1, "", "A"], [7, 2, 1, "", "X"], [7, 5, 1, "", "amplitude"], [7, 2, 1, "", "d_h"], [7, 2, 1, "", "enlargement_factor"], [7, 5, 1, "", "height"], [7, 5, 1, "", "lambda_w"], [7, 5, 1, "", "n_plates"], [7, 5, 1, "", "phi"], [7, 5, 1, "", "wall_thickness"], [7, 5, 1, "", "wave_length"], [7, 5, 1, "", "width"]], "vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_plate_he.VDIAtlasPlateHeatTransfer": [[7, 3, 1, "", "calc"], [7, 3, 1, "", "calc_reynolds"], [7, 3, 1, "", "calc_turbulent_plate_nusselt"]], "vclibpy.components.heat_exchangers.heat_transfer.wall": [[7, 1, 1, "", "WallTransfer"]], "vclibpy.components.heat_exchangers.heat_transfer.wall.WallTransfer": [[7, 3, 1, "", "calc"]], "vclibpy.components.heat_exchangers.moving_boundary_Tm": [[6, 1, 1, "", "MovingBoundaryTmCondenser"], [6, 1, 1, "", "MovingBoundaryTmEvaporator"], [6, 4, 1, "", "calc_area"], [6, 4, 1, "", "calc_mean_temperature"], [6, 4, 1, "", "separate_phases"]], "vclibpy.components.heat_exchangers.moving_boundary_Tm.MovingBoundaryTmCondenser": [[6, 3, 1, "", "calc"]], "vclibpy.components.heat_exchangers.moving_boundary_Tm.MovingBoundaryTmEvaporator": [[6, 3, 1, "", "calc"]], "vclibpy.components.heat_exchangers.moving_boundary_ntu": [[6, 1, 1, "", "MovingBoundaryNTU"], [6, 1, 1, "", "MovingBoundaryNTUCondenser"], [6, 1, 1, "", "MovingBoundaryNTUEvaporator"]], "vclibpy.components.heat_exchangers.moving_boundary_ntu.MovingBoundaryNTU": [[6, 3, 1, "", "iterate_area"], [6, 3, 1, "", "separate_phases"]], "vclibpy.components.heat_exchangers.moving_boundary_ntu.MovingBoundaryNTUCondenser": [[6, 3, 1, "", "calc"]], "vclibpy.components.heat_exchangers.moving_boundary_ntu.MovingBoundaryNTUEvaporator": [[6, 3, 1, "", "calc"]], "vclibpy.components.heat_exchangers.ntu": [[6, 1, 1, "", "BasicNTU"]], "vclibpy.components.heat_exchangers.ntu.BasicNTU": [[6, 3, 1, "", "calc_NTU"], [6, 3, 1, "", "calc_Q_ntu"], [6, 3, 1, "", "calc_R"], [6, 3, 1, "", "calc_eps"], [6, 3, 1, "", "calc_m_flow_cp_min"], [6, 3, 1, "", "set_primary_cp"]], "vclibpy.components.phase_separator": [[3, 1, 1, "", "PhaseSeparator"]], "vclibpy.components.phase_separator.PhaseSeparator": [[3, 2, 1, "", "state_inlet"], [3, 2, 1, "", "state_outlet"], [3, 2, 1, "", "state_outlet_liquid"], [3, 2, 1, "", "state_outlet_vapor"]], "vclibpy.datamodels": [[2, 1, 1, "", "FlowsheetState"], [2, 1, 1, "", "Inputs"], [2, 1, 1, "", "Variable"], [2, 1, 1, "", "VariableContainer"]], "vclibpy.datamodels.Variable": [[2, 5, 1, "", "description"], [2, 5, 1, "", "name"], [2, 5, 1, "", "unit"], [2, 5, 1, "", "value"]], "vclibpy.datamodels.VariableContainer": [[2, 3, 1, "", "convert_to_str_value_format"], [2, 3, 1, "", "copy"], [2, 3, 1, "", "get"], [2, 3, 1, "", "get_name"], [2, 3, 1, "", "get_variable_names"], [2, 3, 1, "", "get_variables"], [2, 3, 1, "", "items"], [2, 3, 1, "", "set"]], "vclibpy.flowsheets": [[8, 0, 0, "-", "base"], [8, 0, 0, "-", "standard"], [8, 0, 0, "-", "vapor_injection"], [8, 0, 0, "-", "vapor_injection_economizer"], [8, 0, 0, "-", "vapor_injection_phase_separator"]], "vclibpy.flowsheets.base": [[8, 1, 1, "", "BaseCycle"]], "vclibpy.flowsheets.base.BaseCycle": [[8, 3, 1, "", "calc_electrical_power"], [8, 3, 1, "", "calc_states"], [8, 3, 1, "", "calc_steady_state"], [8, 3, 1, "", "calc_steady_state_fsolve"], [8, 3, 1, "", "calculate_cycle_for_pressures"], [8, 3, 1, "", "calculate_outputs_for_valid_pressures"], [8, 5, 1, "", "flowsheet_name"], [8, 3, 1, "", "get_all_components"], [8, 3, 1, "", "get_start_condensing_pressure"], [8, 3, 1, "", "get_start_evaporating_pressure"], [8, 3, 1, "", "get_states_in_order_for_plotting"], [8, 3, 1, "", "improve_first_condensing_guess"], [8, 3, 1, "", "plot_cycle"], [8, 3, 1, "", "set_condenser_outlet_based_on_subcooling"], [8, 3, 1, "", "set_evaporator_outlet_based_on_superheating"], [8, 3, 1, "", "setup_new_fluid"], [8, 3, 1, "", "terminate"]], "vclibpy.flowsheets.standard": [[8, 1, 1, "", "StandardCycle"]], "vclibpy.flowsheets.standard.StandardCycle": [[8, 3, 1, "", "calc_electrical_power"], [8, 3, 1, "", "calc_states"], [8, 5, 1, "", "flowsheet_name"], [8, 5, 1, "", "fluid"], [8, 3, 1, "", "get_all_components"], [8, 3, 1, "", "get_states_in_order_for_plotting"]], "vclibpy.flowsheets.vapor_injection": [[8, 1, 1, "", "BaseVaporInjection"]], "vclibpy.flowsheets.vapor_injection.BaseVaporInjection": [[8, 3, 1, "", "calc_electrical_power"], [8, 3, 1, "", "calc_injection"], [8, 3, 1, "", "calc_states"], [8, 5, 1, "", "flowsheet_name"], [8, 5, 1, "", "fluid"], [8, 3, 1, "", "get_all_components"], [8, 3, 1, "", "get_states_in_order_for_plotting"]], "vclibpy.flowsheets.vapor_injection_economizer": [[8, 1, 1, "", "VaporInjectionEconomizer"]], "vclibpy.flowsheets.vapor_injection_economizer.VaporInjectionEconomizer": [[8, 3, 1, "", "calc_injection"], [8, 5, 1, "", "flowsheet_name"], [8, 5, 1, "", "fluid"], [8, 3, 1, "", "get_all_components"], [8, 3, 1, "", "get_states_in_order_for_plotting"]], "vclibpy.flowsheets.vapor_injection_phase_separator": [[8, 1, 1, "", "VaporInjectionPhaseSeparator"]], "vclibpy.flowsheets.vapor_injection_phase_separator.VaporInjectionPhaseSeparator": [[8, 3, 1, "", "calc_injection"], [8, 5, 1, "", "flowsheet_name"], [8, 5, 1, "", "fluid"], [8, 3, 1, "", "get_all_components"], [8, 3, 1, "", "get_states_in_order_for_plotting"]], "vclibpy.media": [[9, 1, 1, "", "CoolProp"], [9, 1, 1, "", "MedProp"], [9, 1, 1, "", "RefProp"], [9, 1, 1, "", "ThermodynamicState"], [9, 1, 1, "", "TransportProperties"], [9, 0, 0, "-", "cool_prop"], [9, 0, 0, "-", "media"], [9, 0, 0, "-", "ref_prop"], [9, 0, 0, "-", "states"]], "vclibpy.media.CoolProp": [[9, 3, 1, "", "calc_state"], [9, 3, 1, "", "calc_transport_properties"], [9, 3, 1, "", "get_critical_point"], [9, 3, 1, "", "get_molar_mass"]], "vclibpy.media.MedProp": [[9, 3, 1, "", "calc_mean_transport_properties"], [9, 3, 1, "", "calc_state"], [9, 3, 1, "", "calc_transport_properties"], [9, 3, 1, "", "get_critical_point"], [9, 3, 1, "", "get_molar_mass"], [9, 3, 1, "", "get_two_phase_limits"], [9, 3, 1, "", "terminate"]], "vclibpy.media.RefProp": [[9, 3, 1, "", "calc_satliq_state"], [9, 3, 1, "", "calc_state"], [9, 3, 1, "", "calc_transport_properties"], [9, 3, 1, "", "get_available_substances"], [9, 3, 1, "", "get_comp_names"], [9, 3, 1, "", "get_critical_point"], [9, 3, 1, "", "get_def_limits"], [9, 3, 1, "", "get_dll_path"], [9, 3, 1, "", "get_fluid_name"], [9, 3, 1, "", "get_gwp"], [9, 3, 1, "", "get_longname"], [9, 3, 1, "", "get_mass_fraction"], [9, 3, 1, "", "get_mol_fraction"], [9, 3, 1, "", "get_molar_composition"], [9, 3, 1, "", "get_molar_mass"], [9, 3, 1, "", "get_nbp"], [9, 3, 1, "", "get_odp"], [9, 3, 1, "", "get_safety"], [9, 3, 1, "", "get_sat_vap_pressure"], [9, 3, 1, "", "get_triple_point"], [9, 3, 1, "", "get_version"], [9, 3, 1, "", "is_mixture"], [9, 3, 1, "", "set_error_flag"], [9, 3, 1, "", "set_warning_flag"], [9, 3, 1, "", "terminate"]], "vclibpy.media.ThermodynamicState": [[9, 3, 1, "", "get_pretty_print"]], "vclibpy.media.TransportProperties": [[9, 3, 1, "", "get_pretty_print"]], "vclibpy.media.cool_prop": [[9, 1, 1, "", "CoolProp"]], "vclibpy.media.cool_prop.CoolProp": [[9, 3, 1, "", "calc_state"], [9, 3, 1, "", "calc_transport_properties"], [9, 3, 1, "", "get_critical_point"], [9, 3, 1, "", "get_molar_mass"]], "vclibpy.media.media": [[9, 1, 1, "", "MedProp"], [9, 4, 1, "", "get_two_phase_limits"]], "vclibpy.media.media.MedProp": [[9, 3, 1, "", "calc_mean_transport_properties"], [9, 3, 1, "", "calc_state"], [9, 3, 1, "", "calc_transport_properties"], [9, 3, 1, "", "get_critical_point"], [9, 3, 1, "", "get_molar_mass"], [9, 3, 1, "", "get_two_phase_limits"], [9, 3, 1, "", "terminate"]], "vclibpy.media.ref_prop": [[9, 1, 1, "", "RefProp"]], "vclibpy.media.ref_prop.RefProp": [[9, 3, 1, "", "calc_satliq_state"], [9, 3, 1, "", "calc_state"], [9, 3, 1, "", "calc_transport_properties"], [9, 3, 1, "", "get_available_substances"], [9, 3, 1, "", "get_comp_names"], [9, 3, 1, "", "get_critical_point"], [9, 3, 1, "", "get_def_limits"], [9, 3, 1, "", "get_dll_path"], [9, 3, 1, "", "get_fluid_name"], [9, 3, 1, "", "get_gwp"], [9, 3, 1, "", "get_longname"], [9, 3, 1, "", "get_mass_fraction"], [9, 3, 1, "", "get_mol_fraction"], [9, 3, 1, "", "get_molar_composition"], [9, 3, 1, "", "get_molar_mass"], [9, 3, 1, "", "get_nbp"], [9, 3, 1, "", "get_odp"], [9, 3, 1, "", "get_safety"], [9, 3, 1, "", "get_sat_vap_pressure"], [9, 3, 1, "", "get_triple_point"], [9, 3, 1, "", "get_version"], [9, 3, 1, "", "is_mixture"], [9, 3, 1, "", "set_error_flag"], [9, 3, 1, "", "set_warning_flag"], [9, 3, 1, "", "terminate"]], "vclibpy.media.states": [[9, 1, 1, "", "ThermodynamicState"], [9, 1, 1, "", "TransportProperties"]], "vclibpy.media.states.ThermodynamicState": [[9, 3, 1, "", "get_pretty_print"]], "vclibpy.media.states.TransportProperties": [[9, 3, 1, "", "get_pretty_print"]], "vclibpy.utils": [[10, 0, 0, "-", "automation"], [10, 0, 0, "-", "nominal_design"], [10, 0, 0, "-", "plotting"], [10, 0, 0, "-", "sdf_"]], "vclibpy.utils.automation": [[10, 4, 1, "", "calc_multiple_states"], [10, 4, 1, "", "full_factorial_map_generation"]], "vclibpy.utils.nominal_design": [[10, 4, 1, "", "nominal_hp_design"]], "vclibpy.utils.plotting": [[10, 4, 1, "", "plot_sdf_map"], [10, 4, 1, "", "set_axis_style"]], "vclibpy.utils.sdf_": [[10, 4, 1, "", "merge_sdfs"], [10, 4, 1, "", "save_to_sdf"], [10, 4, 1, "", "sdf_to_csv"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:property", "3": "py:method", "4": "py:function", "5": "py:attribute"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "property", "Python property"], "3": ["py", "method", "Python method"], "4": ["py", "function", "Python function"], "5": ["py", "attribute", "Python attribute"]}, "titleterms": {"contribut": 0, "user": 0, "develop": 0, "styleguid": 0, "document": [0, 18], "unit": 0, "test": 0, "pylint": 0, "vclibpi": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 18], "packag": [2, 3, 4, 5, 6, 7, 8, 9, 10], "subpackag": [2, 3, 6], "submodul": [2, 3, 4, 5, 6, 7, 8, 9, 10], "datamodel": 2, "modul": [2, 3, 4, 5, 6, 7, 8, 9, 10], "compon": [3, 4, 5, 6, 7], "phase_separ": 3, "compressor": [4, 12], "constant_effectiv": 4, "rotari": 4, "ten_coeffici": 4, "expansion_valv": 5, "bernoulli": 5, "heat_exchang": [6, 7], "econom": [6, 17], "moving_boundary_tm": 6, "moving_boundary_ntu": 6, "ntu": 6, "heat_transf": 7, "air_to_wal": 7, "constant": 7, "pipe_to_wal": 7, "vdi_atlas_air_to_wal": 7, "vdi_atlas_plate_h": 7, "wall": 7, "flowsheet": 8, "base": 8, "gener": 8, "assumpt": 8, "standard": [8, 16], "vapor_inject": 8, "note": [8, 9], "vapor_injection_econom": 8, "addit": 8, "vapor_injection_phase_separ": 8, "media": 9, "how": [9, 18], "us": [9, 17], "refprop": 9, "wrapper": 9, "version": [9, 19], "paramet": 9, "return": 9, "cool_prop": 9, "ref_prop": 9, "state": [9, 12], "util": 10, "autom": 10, "nominal_design": 10, "plot": [10, 11, 14], "sdf_": 10, "ten_coefficient_compressor_reqress": 10, "refriger": 11, "data": 11, "exampl": [11, 12, 14, 15, 16, 17], "thermodynamicst": 11, "calcul": 11, "transportproperti": 11, "outlet": 12, "mass": 12, "flow": 12, "rate": 12, "electr": 12, "power": 12, "consumpt": 12, "input": 13, "flowsheetst": 13, "heat": [14, 16, 17], "exchang": 14, "iter": 14, "implement": 14, "your": 14, "own": 14, "pinch": 14, "expans": 15, "valv": 15, "open": 15, "pump": [16, 17], "cycl": 16, "vapor": 17, "inject": 17, "phase": 17, "separ": 17, "an": 17, "about": 18, "vclibi": 18, "instal": 18, "get": 18, "start": 18, "cite": 18, "problem": 18, "acknowledg": 18, "indic": 18, "tabl": 18, "histori": 19}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.viewcode": 1, "sphinx": 57}, "alltitles": {"Contribute as a user": [[0, "contribute-as-a-user"]], "Contribute as a developer": [[0, "contribute-as-a-developer"]], "Styleguide": [[0, "styleguide"]], "Documentation": [[0, "documentation"], [18, "documentation"]], "Unit-Tests": [[0, "unit-tests"]], "Pylint": [[0, "pylint"]], "vclibpy": [[1, "vclibpy"]], "vclibpy package": [[2, "module-vclibpy"]], "Subpackages": [[2, "subpackages"], [3, "subpackages"], [6, "subpackages"]], "Submodules": [[2, "submodules"], [3, "submodules"], [4, "submodules"], [5, "submodules"], [6, "submodules"], [7, "submodules"], [8, "submodules"], [9, "submodules"], [10, "submodules"]], "vclibpy.datamodels module": [[2, "module-vclibpy.datamodels"]], "vclibpy.components package": [[3, "module-vclibpy.components"]], "vclibpy.components.component module": [[3, "module-vclibpy.components.component"]], "vclibpy.components.phase_separator module": [[3, "module-vclibpy.components.phase_separator"]], "vclibpy.components.compressors package": [[4, "module-vclibpy.components.compressors"]], "vclibpy.components.compressors.compressor module": [[4, "module-vclibpy.components.compressors.compressor"]], "vclibpy.components.compressors.constant_effectivness module": [[4, "module-vclibpy.components.compressors.constant_effectivness"]], "vclibpy.components.compressors.rotary module": [[4, "module-vclibpy.components.compressors.rotary"]], "vclibpy.components.compressors.ten_coefficient module": [[4, "module-vclibpy.components.compressors.ten_coefficient"]], "vclibpy.components.expansion_valves package": [[5, "module-vclibpy.components.expansion_valves"]], "vclibpy.components.expansion_valves.bernoulli module": [[5, "module-vclibpy.components.expansion_valves.bernoulli"]], "vclibpy.components.expansion_valves.expansion_valve module": [[5, "module-vclibpy.components.expansion_valves.expansion_valve"]], "vclibpy.components.heat_exchangers package": [[6, "module-vclibpy.components.heat_exchangers"]], "vclibpy.components.heat_exchangers.economizer module": [[6, "module-vclibpy.components.heat_exchangers.economizer"]], "vclibpy.components.heat_exchangers.heat_exchanger module": [[6, "module-vclibpy.components.heat_exchangers.heat_exchanger"]], "vclibpy.components.heat_exchangers.moving_boundary_Tm module": [[6, "module-vclibpy.components.heat_exchangers.moving_boundary_Tm"]], "vclibpy.components.heat_exchangers.moving_boundary_ntu module": [[6, "module-vclibpy.components.heat_exchangers.moving_boundary_ntu"]], "vclibpy.components.heat_exchangers.ntu module": [[6, "module-vclibpy.components.heat_exchangers.ntu"]], "vclibpy.components.heat_exchangers.heat_transfer package": [[7, "module-vclibpy.components.heat_exchangers.heat_transfer"]], "vclibpy.components.heat_exchangers.heat_transfer.air_to_wall module": [[7, "module-vclibpy.components.heat_exchangers.heat_transfer.air_to_wall"]], "vclibpy.components.heat_exchangers.heat_transfer.constant module": [[7, "module-vclibpy.components.heat_exchangers.heat_transfer.constant"]], "vclibpy.components.heat_exchangers.heat_transfer.heat_transfer module": [[7, "module-vclibpy.components.heat_exchangers.heat_transfer.heat_transfer"]], "vclibpy.components.heat_exchangers.heat_transfer.pipe_to_wall module": [[7, "module-vclibpy.components.heat_exchangers.heat_transfer.pipe_to_wall"]], "vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_air_to_wall module": [[7, "module-vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_air_to_wall"]], "vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_plate_he module": [[7, "module-vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_plate_he"]], "vclibpy.components.heat_exchangers.heat_transfer.wall module": [[7, "module-vclibpy.components.heat_exchangers.heat_transfer.wall"]], "vclibpy.flowsheets package": [[8, "module-vclibpy.flowsheets"]], "vclibpy.flowsheets.base module": [[8, "module-vclibpy.flowsheets.base"]], "General Assumptions:": [[8, "general-assumptions"]], "vclibpy.flowsheets.standard module": [[8, "module-vclibpy.flowsheets.standard"]], "vclibpy.flowsheets.vapor_injection module": [[8, "module-vclibpy.flowsheets.vapor_injection"]], "Notes": [[8, "notes"], [8, "id1"], [8, "id3"]], "vclibpy.flowsheets.vapor_injection_economizer module": [[8, "module-vclibpy.flowsheets.vapor_injection_economizer"]], "Additional Assumptions:": [[8, "additional-assumptions"], [8, "id2"]], "vclibpy.flowsheets.vapor_injection_phase_separator module": [[8, "module-vclibpy.flowsheets.vapor_injection_phase_separator"]], "vclibpy.media package": [[9, "module-vclibpy.media"]], "How to use RefProp-Wrapper:": [[9, "how-to-use-refprop-wrapper"], [9, "id17"]], "Version notes:": [[9, "version-notes"], [9, "id18"]], "Notes:": [[9, "notes"], [9, "id19"]], "Parameters:": [[9, "parameters"], [9, "id1"], [9, "id3"], [9, "id20"], [9, "id22"], [9, "id24"]], "Return:": [[9, "return"], [9, "id2"], [9, "id4"], [9, "id5"], [9, "id6"], [9, "id7"], [9, "id8"], [9, "id9"], [9, "id10"], [9, "id11"], [9, "id12"], [9, "id13"], [9, "id14"], [9, "id15"], [9, "id16"], [9, "id21"], [9, "id23"], [9, "id25"], [9, "id26"], [9, "id27"], [9, "id28"], [9, "id29"], [9, "id30"], [9, "id31"], [9, "id32"], [9, "id33"], [9, "id34"], [9, "id35"], [9, "id36"], [9, "id37"]], "vclibpy.media.cool_prop module": [[9, "module-vclibpy.media.cool_prop"]], "vclibpy.media.media module": [[9, "module-vclibpy.media.media"]], "vclibpy.media.ref_prop module": [[9, "module-vclibpy.media.ref_prop"]], "vclibpy.media.states module": [[9, "module-vclibpy.media.states"]], "vclibpy.utils package": [[10, "module-vclibpy.utils"]], "vclibpy.utils.automation module": [[10, "module-vclibpy.utils.automation"]], "vclibpy.utils.nominal_design module": [[10, "module-vclibpy.utils.nominal_design"]], "vclibpy.utils.plotting module": [[10, "module-vclibpy.utils.plotting"]], "vclibpy.utils.sdf_ module": [[10, "module-vclibpy.utils.sdf_"]], "vclibpy.utils.ten_coefficient_compressor_reqression module": [[10, "vclibpy-utils-ten-coefficient-compressor-reqression-module"]], "Refrigerant Data Example": [[11, "refrigerant-data-example"]], "ThermodynamicState calculation": [[11, "thermodynamicstate-calculation"]], "TransportProperties calculation": [[11, "transportproperties-calculation"]], "Plotting": [[11, "plotting"]], "Compressor Example": [[12, "compressor-example"]], "Outlet state": [[12, "outlet-state"]], "Mass flow rate": [[12, "mass-flow-rate"]], "Electrical power consumption": [[12, "electrical-power-consumption"]], "Inputs and FlowsheetState": [[13, "inputs-and-flowsheetstate"]], "Inputs": [[13, "inputs"]], "FlowsheetState": [[13, "flowsheetstate"]], "Heat Exchanger Example": [[14, "heat-exchanger-example"]], "Heat exchanger iterations": [[14, "heat-exchanger-iterations"]], "Implement your own iteration": [[14, "implement-your-own-iteration"]], "Pinch plotting": [[14, "pinch-plotting"]], "Expansion Valve Example": [[15, "expansion-valve-example"]], "Valve opening:": [[15, "valve-opening"]], "Example for a heat pump with a standard cycle": [[16, "example-for-a-heat-pump-with-a-standard-cycle"]], "Example for a heat pump with vapor injection using a phase separator": [[17, "example-for-a-heat-pump-with-vapor-injection-using-a-phase-separator"]], "Vapor injection with an economizer.": [[17, "vapor-injection-with-an-economizer"]], "About vcliby": [[18, "about-vcliby"]], "VCLibPy": [[18, "vclibpy"]], "Installation": [[18, "installation"]], "How to get started?": [[18, "how-to-get-started"]], "How to cite vclibpy": [[18, "how-to-cite-vclibpy"]], "Problems?": [[18, "problems"]], "Acknowledgements": [[18, "acknowledgements"]], "Indices and tables": [[18, "indices-and-tables"]], "Version History": [[19, "version-history"]]}, "indexentries": {"flowsheetstate (class in vclibpy.datamodels)": [[2, "vclibpy.datamodels.FlowsheetState"]], "inputs (class in vclibpy.datamodels)": [[2, "vclibpy.datamodels.Inputs"]], "variable (class in vclibpy.datamodels)": [[2, "vclibpy.datamodels.Variable"]], "variablecontainer (class in vclibpy.datamodels)": [[2, "vclibpy.datamodels.VariableContainer"]], "convert_to_str_value_format() (vclibpy.datamodels.variablecontainer method)": [[2, "vclibpy.datamodels.VariableContainer.convert_to_str_value_format"]], "copy() (vclibpy.datamodels.variablecontainer method)": [[2, "vclibpy.datamodels.VariableContainer.copy"]], "description (vclibpy.datamodels.variable attribute)": [[2, "vclibpy.datamodels.Variable.description"]], "get() (vclibpy.datamodels.variablecontainer method)": [[2, "vclibpy.datamodels.VariableContainer.get"]], "get_name() (vclibpy.datamodels.variablecontainer method)": [[2, "vclibpy.datamodels.VariableContainer.get_name"]], "get_variable_names() (vclibpy.datamodels.variablecontainer method)": [[2, "vclibpy.datamodels.VariableContainer.get_variable_names"]], "get_variables() (vclibpy.datamodels.variablecontainer method)": [[2, "vclibpy.datamodels.VariableContainer.get_variables"]], "items() (vclibpy.datamodels.variablecontainer method)": [[2, "vclibpy.datamodels.VariableContainer.items"]], "module": [[2, "module-vclibpy"], [2, "module-vclibpy.datamodels"], [3, "module-vclibpy.components"], [3, "module-vclibpy.components.component"], [3, "module-vclibpy.components.phase_separator"], [4, "module-vclibpy.components.compressors"], [4, "module-vclibpy.components.compressors.compressor"], [4, "module-vclibpy.components.compressors.constant_effectivness"], [4, "module-vclibpy.components.compressors.rotary"], [4, "module-vclibpy.components.compressors.ten_coefficient"], [5, "module-vclibpy.components.expansion_valves"], [5, "module-vclibpy.components.expansion_valves.bernoulli"], [5, "module-vclibpy.components.expansion_valves.expansion_valve"], [6, "module-vclibpy.components.heat_exchangers"], [6, "module-vclibpy.components.heat_exchangers.economizer"], [6, "module-vclibpy.components.heat_exchangers.heat_exchanger"], [6, "module-vclibpy.components.heat_exchangers.moving_boundary_Tm"], [6, "module-vclibpy.components.heat_exchangers.moving_boundary_ntu"], [6, "module-vclibpy.components.heat_exchangers.ntu"], [7, "module-vclibpy.components.heat_exchangers.heat_transfer"], [7, "module-vclibpy.components.heat_exchangers.heat_transfer.air_to_wall"], [7, "module-vclibpy.components.heat_exchangers.heat_transfer.constant"], [7, "module-vclibpy.components.heat_exchangers.heat_transfer.heat_transfer"], [7, "module-vclibpy.components.heat_exchangers.heat_transfer.pipe_to_wall"], [7, "module-vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_air_to_wall"], [7, "module-vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_plate_he"], [7, "module-vclibpy.components.heat_exchangers.heat_transfer.wall"], [8, "module-vclibpy.flowsheets"], [8, "module-vclibpy.flowsheets.base"], [8, "module-vclibpy.flowsheets.standard"], [8, "module-vclibpy.flowsheets.vapor_injection"], [8, "module-vclibpy.flowsheets.vapor_injection_economizer"], [8, "module-vclibpy.flowsheets.vapor_injection_phase_separator"], [9, "module-vclibpy.media"], [9, "module-vclibpy.media.cool_prop"], [9, "module-vclibpy.media.media"], [9, "module-vclibpy.media.ref_prop"], [9, "module-vclibpy.media.states"], [10, "module-vclibpy.utils"], [10, "module-vclibpy.utils.automation"], [10, "module-vclibpy.utils.nominal_design"], [10, "module-vclibpy.utils.plotting"], [10, "module-vclibpy.utils.sdf_"]], "name (vclibpy.datamodels.variable attribute)": [[2, "vclibpy.datamodels.Variable.name"]], "set() (vclibpy.datamodels.variablecontainer method)": [[2, "vclibpy.datamodels.VariableContainer.set"]], "unit (vclibpy.datamodels.variable attribute)": [[2, "vclibpy.datamodels.Variable.unit"]], "value (vclibpy.datamodels.variable attribute)": [[2, "vclibpy.datamodels.Variable.value"]], "vclibpy": [[2, "module-vclibpy"]], "vclibpy.datamodels": [[2, "module-vclibpy.datamodels"]], "basecomponent (class in vclibpy.components.component)": [[3, "vclibpy.components.component.BaseComponent"]], "phaseseparator (class in vclibpy.components.phase_separator)": [[3, "vclibpy.components.phase_separator.PhaseSeparator"]], "m_flow (vclibpy.components.component.basecomponent property)": [[3, "vclibpy.components.component.BaseComponent.m_flow"]], "med_prop (vclibpy.components.component.basecomponent property)": [[3, "vclibpy.components.component.BaseComponent.med_prop"]], "start_secondary_med_prop() (vclibpy.components.component.basecomponent method)": [[3, "vclibpy.components.component.BaseComponent.start_secondary_med_prop"]], "state_inlet (vclibpy.components.component.basecomponent property)": [[3, "vclibpy.components.component.BaseComponent.state_inlet"]], "state_inlet (vclibpy.components.phase_separator.phaseseparator property)": [[3, "vclibpy.components.phase_separator.PhaseSeparator.state_inlet"]], "state_outlet (vclibpy.components.component.basecomponent property)": [[3, "vclibpy.components.component.BaseComponent.state_outlet"]], "state_outlet (vclibpy.components.phase_separator.phaseseparator property)": [[3, "vclibpy.components.phase_separator.PhaseSeparator.state_outlet"]], "state_outlet_liquid (vclibpy.components.phase_separator.phaseseparator property)": [[3, "vclibpy.components.phase_separator.PhaseSeparator.state_outlet_liquid"]], "state_outlet_vapor (vclibpy.components.phase_separator.phaseseparator property)": [[3, "vclibpy.components.phase_separator.PhaseSeparator.state_outlet_vapor"]], "terminate_secondary_med_prop() (vclibpy.components.component.basecomponent method)": [[3, "vclibpy.components.component.BaseComponent.terminate_secondary_med_prop"]], "vclibpy.components": [[3, "module-vclibpy.components"]], "vclibpy.components.component": [[3, "module-vclibpy.components.component"]], "vclibpy.components.phase_separator": [[3, "module-vclibpy.components.phase_separator"]], "basetencoefficientcompressor (class in vclibpy.components.compressors.ten_coefficient)": [[4, "vclibpy.components.compressors.ten_coefficient.BaseTenCoefficientCompressor"]], "compressor (class in vclibpy.components.compressors.compressor)": [[4, "vclibpy.components.compressors.compressor.Compressor"]], "constanteffectivenesscompressor (class in vclibpy.components.compressors.constant_effectivness)": [[4, "vclibpy.components.compressors.constant_effectivness.ConstantEffectivenessCompressor"]], "datasheetcompressor (class in vclibpy.components.compressors.ten_coefficient)": [[4, "vclibpy.components.compressors.ten_coefficient.DataSheetCompressor"]], "rotarycompressor (class in vclibpy.components.compressors.rotary)": [[4, "vclibpy.components.compressors.rotary.RotaryCompressor"]], "tencoefficientcompressor (class in vclibpy.components.compressors.ten_coefficient)": [[4, "vclibpy.components.compressors.ten_coefficient.TenCoefficientCompressor"]], "calc_electrical_power() (vclibpy.components.compressors.compressor.compressor method)": [[4, "vclibpy.components.compressors.compressor.Compressor.calc_electrical_power"]], "calc_m_flow() (vclibpy.components.compressors.compressor.compressor method)": [[4, "vclibpy.components.compressors.compressor.Compressor.calc_m_flow"]], "calc_state_outlet() (vclibpy.components.compressors.compressor.compressor method)": [[4, "vclibpy.components.compressors.compressor.Compressor.calc_state_outlet"]], "calc_ten_coefficients() (in module vclibpy.components.compressors.ten_coefficient)": [[4, "vclibpy.components.compressors.ten_coefficient.calc_ten_coefficients"]], "get_eta_isentropic() (vclibpy.components.compressors.compressor.compressor method)": [[4, "vclibpy.components.compressors.compressor.Compressor.get_eta_isentropic"]], "get_eta_isentropic() (vclibpy.components.compressors.constant_effectivness.constanteffectivenesscompressor method)": [[4, "vclibpy.components.compressors.constant_effectivness.ConstantEffectivenessCompressor.get_eta_isentropic"]], "get_eta_isentropic() (vclibpy.components.compressors.rotary.rotarycompressor method)": [[4, "vclibpy.components.compressors.rotary.RotaryCompressor.get_eta_isentropic"]], "get_eta_isentropic() (vclibpy.components.compressors.ten_coefficient.datasheetcompressor method)": [[4, "vclibpy.components.compressors.ten_coefficient.DataSheetCompressor.get_eta_isentropic"]], "get_eta_isentropic() (vclibpy.components.compressors.ten_coefficient.tencoefficientcompressor method)": [[4, "vclibpy.components.compressors.ten_coefficient.TenCoefficientCompressor.get_eta_isentropic"]], "get_eta_mech() (vclibpy.components.compressors.compressor.compressor method)": [[4, "vclibpy.components.compressors.compressor.Compressor.get_eta_mech"]], "get_eta_mech() (vclibpy.components.compressors.constant_effectivness.constanteffectivenesscompressor method)": [[4, "vclibpy.components.compressors.constant_effectivness.ConstantEffectivenessCompressor.get_eta_mech"]], "get_eta_mech() (vclibpy.components.compressors.rotary.rotarycompressor method)": [[4, "vclibpy.components.compressors.rotary.RotaryCompressor.get_eta_mech"]], "get_eta_mech() (vclibpy.components.compressors.ten_coefficient.datasheetcompressor method)": [[4, "vclibpy.components.compressors.ten_coefficient.DataSheetCompressor.get_eta_mech"]], "get_eta_mech() (vclibpy.components.compressors.ten_coefficient.tencoefficientcompressor method)": [[4, "vclibpy.components.compressors.ten_coefficient.TenCoefficientCompressor.get_eta_mech"]], "get_lambda_h() (vclibpy.components.compressors.compressor.compressor method)": [[4, "vclibpy.components.compressors.compressor.Compressor.get_lambda_h"]], "get_lambda_h() (vclibpy.components.compressors.constant_effectivness.constanteffectivenesscompressor method)": [[4, "vclibpy.components.compressors.constant_effectivness.ConstantEffectivenessCompressor.get_lambda_h"]], "get_lambda_h() (vclibpy.components.compressors.rotary.rotarycompressor method)": [[4, "vclibpy.components.compressors.rotary.RotaryCompressor.get_lambda_h"]], "get_lambda_h() (vclibpy.components.compressors.ten_coefficient.datasheetcompressor method)": [[4, "vclibpy.components.compressors.ten_coefficient.DataSheetCompressor.get_lambda_h"]], "get_lambda_h() (vclibpy.components.compressors.ten_coefficient.tencoefficientcompressor method)": [[4, "vclibpy.components.compressors.ten_coefficient.TenCoefficientCompressor.get_lambda_h"]], "get_n_absolute() (vclibpy.components.compressors.compressor.compressor method)": [[4, "vclibpy.components.compressors.compressor.Compressor.get_n_absolute"]], "get_p_outlet() (vclibpy.components.compressors.compressor.compressor method)": [[4, "vclibpy.components.compressors.compressor.Compressor.get_p_outlet"]], "get_parameter() (vclibpy.components.compressors.ten_coefficient.basetencoefficientcompressor method)": [[4, "vclibpy.components.compressors.ten_coefficient.BaseTenCoefficientCompressor.get_parameter"]], "vclibpy.components.compressors": [[4, "module-vclibpy.components.compressors"]], "vclibpy.components.compressors.compressor": [[4, "module-vclibpy.components.compressors.compressor"]], "vclibpy.components.compressors.constant_effectivness": [[4, "module-vclibpy.components.compressors.constant_effectivness"]], "vclibpy.components.compressors.rotary": [[4, "module-vclibpy.components.compressors.rotary"]], "vclibpy.components.compressors.ten_coefficient": [[4, "module-vclibpy.components.compressors.ten_coefficient"]], "bernoulli (class in vclibpy.components.expansion_valves.bernoulli)": [[5, "vclibpy.components.expansion_valves.bernoulli.Bernoulli"]], "expansionvalve (class in vclibpy.components.expansion_valves.expansion_valve)": [[5, "vclibpy.components.expansion_valves.expansion_valve.ExpansionValve"]], "calc_m_flow_at_opening() (vclibpy.components.expansion_valves.bernoulli.bernoulli method)": [[5, "vclibpy.components.expansion_valves.bernoulli.Bernoulli.calc_m_flow_at_opening"]], "calc_m_flow_at_opening() (vclibpy.components.expansion_valves.expansion_valve.expansionvalve method)": [[5, "vclibpy.components.expansion_valves.expansion_valve.ExpansionValve.calc_m_flow_at_opening"]], "calc_opening_at_m_flow() (vclibpy.components.expansion_valves.bernoulli.bernoulli method)": [[5, "vclibpy.components.expansion_valves.bernoulli.Bernoulli.calc_opening_at_m_flow"]], "calc_opening_at_m_flow() (vclibpy.components.expansion_valves.expansion_valve.expansionvalve method)": [[5, "vclibpy.components.expansion_valves.expansion_valve.ExpansionValve.calc_opening_at_m_flow"]], "calc_outlet() (vclibpy.components.expansion_valves.expansion_valve.expansionvalve method)": [[5, "vclibpy.components.expansion_valves.expansion_valve.ExpansionValve.calc_outlet"]], "vclibpy.components.expansion_valves": [[5, "module-vclibpy.components.expansion_valves"]], "vclibpy.components.expansion_valves.bernoulli": [[5, "module-vclibpy.components.expansion_valves.bernoulli"]], "vclibpy.components.expansion_valves.expansion_valve": [[5, "module-vclibpy.components.expansion_valves.expansion_valve"]], "basicntu (class in vclibpy.components.heat_exchangers.ntu)": [[6, "vclibpy.components.heat_exchangers.ntu.BasicNTU"]], "heatexchanger (class in vclibpy.components.heat_exchangers.heat_exchanger)": [[6, "vclibpy.components.heat_exchangers.heat_exchanger.HeatExchanger"]], "movingboundaryntu (class in vclibpy.components.heat_exchangers.moving_boundary_ntu)": [[6, "vclibpy.components.heat_exchangers.moving_boundary_ntu.MovingBoundaryNTU"]], "movingboundaryntucondenser (class in vclibpy.components.heat_exchangers.moving_boundary_ntu)": [[6, "vclibpy.components.heat_exchangers.moving_boundary_ntu.MovingBoundaryNTUCondenser"]], "movingboundaryntuevaporator (class in vclibpy.components.heat_exchangers.moving_boundary_ntu)": [[6, "vclibpy.components.heat_exchangers.moving_boundary_ntu.MovingBoundaryNTUEvaporator"]], "movingboundarytmcondenser (class in vclibpy.components.heat_exchangers.moving_boundary_tm)": [[6, "vclibpy.components.heat_exchangers.moving_boundary_Tm.MovingBoundaryTmCondenser"]], "movingboundarytmevaporator (class in vclibpy.components.heat_exchangers.moving_boundary_tm)": [[6, "vclibpy.components.heat_exchangers.moving_boundary_Tm.MovingBoundaryTmEvaporator"]], "vaporinjectioneconomizerntu (class in vclibpy.components.heat_exchangers.economizer)": [[6, "vclibpy.components.heat_exchangers.economizer.VaporInjectionEconomizerNTU"]], "calc() (vclibpy.components.heat_exchangers.economizer.vaporinjectioneconomizerntu method)": [[6, "vclibpy.components.heat_exchangers.economizer.VaporInjectionEconomizerNTU.calc"]], "calc() (vclibpy.components.heat_exchangers.heat_exchanger.heatexchanger method)": [[6, "vclibpy.components.heat_exchangers.heat_exchanger.HeatExchanger.calc"]], "calc() (vclibpy.components.heat_exchangers.moving_boundary_tm.movingboundarytmcondenser method)": [[6, "vclibpy.components.heat_exchangers.moving_boundary_Tm.MovingBoundaryTmCondenser.calc"]], "calc() (vclibpy.components.heat_exchangers.moving_boundary_tm.movingboundarytmevaporator method)": [[6, "vclibpy.components.heat_exchangers.moving_boundary_Tm.MovingBoundaryTmEvaporator.calc"]], "calc() (vclibpy.components.heat_exchangers.moving_boundary_ntu.movingboundaryntucondenser method)": [[6, "vclibpy.components.heat_exchangers.moving_boundary_ntu.MovingBoundaryNTUCondenser.calc"]], "calc() (vclibpy.components.heat_exchangers.moving_boundary_ntu.movingboundaryntuevaporator method)": [[6, "vclibpy.components.heat_exchangers.moving_boundary_ntu.MovingBoundaryNTUEvaporator.calc"]], "calc_ntu() (vclibpy.components.heat_exchangers.ntu.basicntu static method)": [[6, "vclibpy.components.heat_exchangers.ntu.BasicNTU.calc_NTU"]], "calc_q_flow() (vclibpy.components.heat_exchangers.heat_exchanger.heatexchanger method)": [[6, "vclibpy.components.heat_exchangers.heat_exchanger.HeatExchanger.calc_Q_flow"]], "calc_q_ntu() (vclibpy.components.heat_exchangers.ntu.basicntu method)": [[6, "vclibpy.components.heat_exchangers.ntu.BasicNTU.calc_Q_ntu"]], "calc_r() (vclibpy.components.heat_exchangers.ntu.basicntu method)": [[6, "vclibpy.components.heat_exchangers.ntu.BasicNTU.calc_R"]], "calc_alpha_gas() (vclibpy.components.heat_exchangers.heat_exchanger.heatexchanger method)": [[6, "vclibpy.components.heat_exchangers.heat_exchanger.HeatExchanger.calc_alpha_gas"]], "calc_alpha_liquid() (vclibpy.components.heat_exchangers.heat_exchanger.heatexchanger method)": [[6, "vclibpy.components.heat_exchangers.heat_exchanger.HeatExchanger.calc_alpha_liquid"]], "calc_alpha_secondary() (vclibpy.components.heat_exchangers.economizer.vaporinjectioneconomizerntu method)": [[6, "vclibpy.components.heat_exchangers.economizer.VaporInjectionEconomizerNTU.calc_alpha_secondary"]], "calc_alpha_secondary() (vclibpy.components.heat_exchangers.heat_exchanger.heatexchanger method)": [[6, "vclibpy.components.heat_exchangers.heat_exchanger.HeatExchanger.calc_alpha_secondary"]], "calc_alpha_two_phase() (vclibpy.components.heat_exchangers.heat_exchanger.heatexchanger method)": [[6, "vclibpy.components.heat_exchangers.heat_exchanger.HeatExchanger.calc_alpha_two_phase"]], "calc_area() (in module vclibpy.components.heat_exchangers.moving_boundary_tm)": [[6, "vclibpy.components.heat_exchangers.moving_boundary_Tm.calc_area"]], "calc_eps() (vclibpy.components.heat_exchangers.ntu.basicntu method)": [[6, "vclibpy.components.heat_exchangers.ntu.BasicNTU.calc_eps"]], "calc_k() (vclibpy.components.heat_exchangers.heat_exchanger.heatexchanger method)": [[6, "vclibpy.components.heat_exchangers.heat_exchanger.HeatExchanger.calc_k"]], "calc_m_flow_cp_min() (vclibpy.components.heat_exchangers.ntu.basicntu method)": [[6, "vclibpy.components.heat_exchangers.ntu.BasicNTU.calc_m_flow_cp_min"]], "calc_mean_temperature() (in module vclibpy.components.heat_exchangers.moving_boundary_tm)": [[6, "vclibpy.components.heat_exchangers.moving_boundary_Tm.calc_mean_temperature"]], "calc_secondary_q_flow() (vclibpy.components.heat_exchangers.heat_exchanger.heatexchanger method)": [[6, "vclibpy.components.heat_exchangers.heat_exchanger.HeatExchanger.calc_secondary_Q_flow"]], "calc_secondary_cp() (vclibpy.components.heat_exchangers.heat_exchanger.heatexchanger method)": [[6, "vclibpy.components.heat_exchangers.heat_exchanger.HeatExchanger.calc_secondary_cp"]], "calc_transport_properties_secondary_medium() (vclibpy.components.heat_exchangers.economizer.vaporinjectioneconomizerntu method)": [[6, "vclibpy.components.heat_exchangers.economizer.VaporInjectionEconomizerNTU.calc_transport_properties_secondary_medium"]], "calc_transport_properties_secondary_medium() (vclibpy.components.heat_exchangers.heat_exchanger.heatexchanger method)": [[6, "vclibpy.components.heat_exchangers.heat_exchanger.HeatExchanger.calc_transport_properties_secondary_medium"]], "calc_wall_heat_transfer() (vclibpy.components.heat_exchangers.heat_exchanger.heatexchanger method)": [[6, "vclibpy.components.heat_exchangers.heat_exchanger.HeatExchanger.calc_wall_heat_transfer"]], "iterate_area() (vclibpy.components.heat_exchangers.moving_boundary_ntu.movingboundaryntu method)": [[6, "vclibpy.components.heat_exchangers.moving_boundary_ntu.MovingBoundaryNTU.iterate_area"]], "m_flow_secondary (vclibpy.components.heat_exchangers.heat_exchanger.heatexchanger property)": [[6, "vclibpy.components.heat_exchangers.heat_exchanger.HeatExchanger.m_flow_secondary"]], "m_flow_secondary_cp (vclibpy.components.heat_exchangers.heat_exchanger.heatexchanger property)": [[6, "vclibpy.components.heat_exchangers.heat_exchanger.HeatExchanger.m_flow_secondary_cp"]], "separate_phases() (in module vclibpy.components.heat_exchangers.moving_boundary_tm)": [[6, "vclibpy.components.heat_exchangers.moving_boundary_Tm.separate_phases"]], "separate_phases() (vclibpy.components.heat_exchangers.moving_boundary_ntu.movingboundaryntu method)": [[6, "vclibpy.components.heat_exchangers.moving_boundary_ntu.MovingBoundaryNTU.separate_phases"]], "set_primary_cp() (vclibpy.components.heat_exchangers.ntu.basicntu method)": [[6, "vclibpy.components.heat_exchangers.ntu.BasicNTU.set_primary_cp"]], "set_secondary_cp() (vclibpy.components.heat_exchangers.economizer.vaporinjectioneconomizerntu method)": [[6, "vclibpy.components.heat_exchangers.economizer.VaporInjectionEconomizerNTU.set_secondary_cp"]], "start_secondary_med_prop() (vclibpy.components.heat_exchangers.economizer.vaporinjectioneconomizerntu method)": [[6, "vclibpy.components.heat_exchangers.economizer.VaporInjectionEconomizerNTU.start_secondary_med_prop"]], "start_secondary_med_prop() (vclibpy.components.heat_exchangers.heat_exchanger.heatexchanger method)": [[6, "vclibpy.components.heat_exchangers.heat_exchanger.HeatExchanger.start_secondary_med_prop"]], "state_two_phase_inlet (vclibpy.components.heat_exchangers.economizer.vaporinjectioneconomizerntu property)": [[6, "vclibpy.components.heat_exchangers.economizer.VaporInjectionEconomizerNTU.state_two_phase_inlet"]], "state_two_phase_outlet (vclibpy.components.heat_exchangers.economizer.vaporinjectioneconomizerntu property)": [[6, "vclibpy.components.heat_exchangers.economizer.VaporInjectionEconomizerNTU.state_two_phase_outlet"]], "terminate_secondary_med_prop() (vclibpy.components.heat_exchangers.economizer.vaporinjectioneconomizerntu method)": [[6, "vclibpy.components.heat_exchangers.economizer.VaporInjectionEconomizerNTU.terminate_secondary_med_prop"]], "terminate_secondary_med_prop() (vclibpy.components.heat_exchangers.heat_exchanger.heatexchanger method)": [[6, "vclibpy.components.heat_exchangers.heat_exchanger.HeatExchanger.terminate_secondary_med_prop"]], "vclibpy.components.heat_exchangers": [[6, "module-vclibpy.components.heat_exchangers"]], "vclibpy.components.heat_exchangers.economizer": [[6, "module-vclibpy.components.heat_exchangers.economizer"]], "vclibpy.components.heat_exchangers.heat_exchanger": [[6, "module-vclibpy.components.heat_exchangers.heat_exchanger"]], "vclibpy.components.heat_exchangers.moving_boundary_tm": [[6, "module-vclibpy.components.heat_exchangers.moving_boundary_Tm"]], "vclibpy.components.heat_exchangers.moving_boundary_ntu": [[6, "module-vclibpy.components.heat_exchangers.moving_boundary_ntu"]], "vclibpy.components.heat_exchangers.ntu": [[6, "module-vclibpy.components.heat_exchangers.ntu"]], "a (vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_air_to_wall.airsourceheatexchangergeometry property)": [[7, "vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_air_to_wall.AirSourceHeatExchangerGeometry.A"]], "a (vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_plate_he.plateheatexchangergeometry property)": [[7, "vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_plate_he.PlateHeatExchangerGeometry.A"]], "a_freieoberflaecherohr (vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_air_to_wall.airsourceheatexchangergeometry property)": [[7, "vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_air_to_wall.AirSourceHeatExchangerGeometry.A_FreieOberflaecheRohr"]], "a_rippen (vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_air_to_wall.airsourceheatexchangergeometry property)": [[7, "vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_air_to_wall.AirSourceHeatExchangerGeometry.A_Rippen"]], "a_rohrinnen (vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_air_to_wall.airsourceheatexchangergeometry property)": [[7, "vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_air_to_wall.AirSourceHeatExchangerGeometry.A_RohrInnen"]], "a_rohrunberippt (vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_air_to_wall.airsourceheatexchangergeometry property)": [[7, "vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_air_to_wall.AirSourceHeatExchangerGeometry.A_RohrUnberippt"]], "airsourceheatexchangergeometry (class in vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_air_to_wall)": [[7, "vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_air_to_wall.AirSourceHeatExchangerGeometry"]], "airtowalltransfer (class in vclibpy.components.heat_exchangers.heat_transfer.air_to_wall)": [[7, "vclibpy.components.heat_exchangers.heat_transfer.air_to_wall.AirToWallTransfer"]], "constantheattransfer (class in vclibpy.components.heat_exchangers.heat_transfer.constant)": [[7, "vclibpy.components.heat_exchangers.heat_transfer.constant.ConstantHeatTransfer"]], "constanttwophaseheattransfer (class in vclibpy.components.heat_exchangers.heat_transfer.constant)": [[7, "vclibpy.components.heat_exchangers.heat_transfer.constant.ConstantTwoPhaseHeatTransfer"]], "heattransfer (class in vclibpy.components.heat_exchangers.heat_transfer.heat_transfer)": [[7, "vclibpy.components.heat_exchangers.heat_transfer.heat_transfer.HeatTransfer"]], "plateheatexchangergeometry (class in vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_plate_he)": [[7, "vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_plate_he.PlateHeatExchangerGeometry"]], "turbulentfluidinpipetowalltransfer (class in vclibpy.components.heat_exchangers.heat_transfer.pipe_to_wall)": [[7, "vclibpy.components.heat_exchangers.heat_transfer.pipe_to_wall.TurbulentFluidInPipeToWallTransfer"]], "twophaseheattransfer (class in vclibpy.components.heat_exchangers.heat_transfer.heat_transfer)": [[7, "vclibpy.components.heat_exchangers.heat_transfer.heat_transfer.TwoPhaseHeatTransfer"]], "vdiatlasairtowalltransfer (class in vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_air_to_wall)": [[7, "vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_air_to_wall.VDIAtlasAirToWallTransfer"]], "vdiatlasplateheattransfer (class in vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_plate_he)": [[7, "vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_plate_he.VDIAtlasPlateHeatTransfer"]], "wsuairtowall (class in vclibpy.components.heat_exchangers.heat_transfer.air_to_wall)": [[7, "vclibpy.components.heat_exchangers.heat_transfer.air_to_wall.WSUAirToWall"]], "walltransfer (class in vclibpy.components.heat_exchangers.heat_transfer.wall)": [[7, "vclibpy.components.heat_exchangers.heat_transfer.wall.WallTransfer"]], "x (vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_plate_he.plateheatexchangergeometry property)": [[7, "vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_plate_he.PlateHeatExchangerGeometry.X"]], "a (vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_air_to_wall.airsourceheatexchangergeometry attribute)": [[7, "vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_air_to_wall.AirSourceHeatExchangerGeometry.a"]], "alpha_s() (vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_air_to_wall.airsourceheatexchangergeometry method)": [[7, "vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_air_to_wall.AirSourceHeatExchangerGeometry.alpha_S"]], "amplitude (vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_plate_he.plateheatexchangergeometry attribute)": [[7, "vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_plate_he.PlateHeatExchangerGeometry.amplitude"]], "calc() (vclibpy.components.heat_exchangers.heat_transfer.air_to_wall.airtowalltransfer method)": [[7, "vclibpy.components.heat_exchangers.heat_transfer.air_to_wall.AirToWallTransfer.calc"]], "calc() (vclibpy.components.heat_exchangers.heat_transfer.constant.constantheattransfer method)": [[7, "vclibpy.components.heat_exchangers.heat_transfer.constant.ConstantHeatTransfer.calc"]], "calc() (vclibpy.components.heat_exchangers.heat_transfer.constant.constanttwophaseheattransfer method)": [[7, "vclibpy.components.heat_exchangers.heat_transfer.constant.ConstantTwoPhaseHeatTransfer.calc"]], "calc() (vclibpy.components.heat_exchangers.heat_transfer.heat_transfer.heattransfer method)": [[7, "vclibpy.components.heat_exchangers.heat_transfer.heat_transfer.HeatTransfer.calc"]], "calc() (vclibpy.components.heat_exchangers.heat_transfer.heat_transfer.twophaseheattransfer method)": [[7, "vclibpy.components.heat_exchangers.heat_transfer.heat_transfer.TwoPhaseHeatTransfer.calc"]], "calc() (vclibpy.components.heat_exchangers.heat_transfer.pipe_to_wall.turbulentfluidinpipetowalltransfer method)": [[7, "vclibpy.components.heat_exchangers.heat_transfer.pipe_to_wall.TurbulentFluidInPipeToWallTransfer.calc"]], "calc() (vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_plate_he.vdiatlasplateheattransfer method)": [[7, "vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_plate_he.VDIAtlasPlateHeatTransfer.calc"]], "calc() (vclibpy.components.heat_exchangers.heat_transfer.wall.walltransfer method)": [[7, "vclibpy.components.heat_exchangers.heat_transfer.wall.WallTransfer.calc"]], "calc_laminar_area_nusselt() (vclibpy.components.heat_exchangers.heat_transfer.air_to_wall.airtowalltransfer method)": [[7, "vclibpy.components.heat_exchangers.heat_transfer.air_to_wall.AirToWallTransfer.calc_laminar_area_nusselt"]], "calc_laminar_area_nusselt() (vclibpy.components.heat_exchangers.heat_transfer.air_to_wall.wsuairtowall method)": [[7, "vclibpy.components.heat_exchangers.heat_transfer.air_to_wall.WSUAirToWall.calc_laminar_area_nusselt"]], "calc_laminar_area_nusselt() (vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_air_to_wall.vdiatlasairtowalltransfer method)": [[7, "vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_air_to_wall.VDIAtlasAirToWallTransfer.calc_laminar_area_nusselt"]], "calc_reynolds() (vclibpy.components.heat_exchangers.heat_transfer.air_to_wall.airtowalltransfer method)": [[7, "vclibpy.components.heat_exchangers.heat_transfer.air_to_wall.AirToWallTransfer.calc_reynolds"]], "calc_reynolds() (vclibpy.components.heat_exchangers.heat_transfer.air_to_wall.wsuairtowall method)": [[7, "vclibpy.components.heat_exchangers.heat_transfer.air_to_wall.WSUAirToWall.calc_reynolds"]], "calc_reynolds() (vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_air_to_wall.vdiatlasairtowalltransfer method)": [[7, "vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_air_to_wall.VDIAtlasAirToWallTransfer.calc_reynolds"]], "calc_reynolds() (vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_plate_he.vdiatlasplateheattransfer method)": [[7, "vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_plate_he.VDIAtlasPlateHeatTransfer.calc_reynolds"]], "calc_reynolds_pipe() (in module vclibpy.components.heat_exchangers.heat_transfer.heat_transfer)": [[7, "vclibpy.components.heat_exchangers.heat_transfer.heat_transfer.calc_reynolds_pipe"]], "calc_turbulent_plate_nusselt() (vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_plate_he.vdiatlasplateheattransfer method)": [[7, "vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_plate_he.VDIAtlasPlateHeatTransfer.calc_turbulent_plate_nusselt"]], "calc_turbulent_tube_nusselt() (vclibpy.components.heat_exchangers.heat_transfer.pipe_to_wall.turbulentfluidinpipetowalltransfer method)": [[7, "vclibpy.components.heat_exchangers.heat_transfer.pipe_to_wall.TurbulentFluidInPipeToWallTransfer.calc_turbulent_tube_nusselt"]], "char_length (vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_air_to_wall.airsourceheatexchangergeometry property)": [[7, "vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_air_to_wall.AirSourceHeatExchangerGeometry.char_length"]], "d_a (vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_air_to_wall.airsourceheatexchangergeometry attribute)": [[7, "vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_air_to_wall.AirSourceHeatExchangerGeometry.d_a"]], "d_h (vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_plate_he.plateheatexchangergeometry property)": [[7, "vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_plate_he.PlateHeatExchangerGeometry.d_h"]], "d_i (vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_air_to_wall.airsourceheatexchangergeometry attribute)": [[7, "vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_air_to_wall.AirSourceHeatExchangerGeometry.d_i"]], "dicke_rippe (vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_air_to_wall.airsourceheatexchangergeometry attribute)": [[7, "vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_air_to_wall.AirSourceHeatExchangerGeometry.dicke_rippe"]], "enlargement_factor (vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_plate_he.plateheatexchangergeometry property)": [[7, "vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_plate_he.PlateHeatExchangerGeometry.enlargement_factor"]], "eta_r() (vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_air_to_wall.airsourceheatexchangergeometry method)": [[7, "vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_air_to_wall.AirSourceHeatExchangerGeometry.eta_R"]], "height (vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_plate_he.plateheatexchangergeometry attribute)": [[7, "vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_plate_he.PlateHeatExchangerGeometry.height"]], "hoehe (vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_air_to_wall.airsourceheatexchangergeometry attribute)": [[7, "vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_air_to_wall.AirSourceHeatExchangerGeometry.hoehe"]], "laenge (vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_air_to_wall.airsourceheatexchangergeometry attribute)": [[7, "vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_air_to_wall.AirSourceHeatExchangerGeometry.laenge"]], "lambda_r (vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_air_to_wall.airsourceheatexchangergeometry attribute)": [[7, "vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_air_to_wall.AirSourceHeatExchangerGeometry.lambda_R"]], "lambda_w (vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_plate_he.plateheatexchangergeometry attribute)": [[7, "vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_plate_he.PlateHeatExchangerGeometry.lambda_w"]], "n_rippen (vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_air_to_wall.airsourceheatexchangergeometry attribute)": [[7, "vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_air_to_wall.AirSourceHeatExchangerGeometry.n_Rippen"]], "n_rohre (vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_air_to_wall.airsourceheatexchangergeometry attribute)": [[7, "vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_air_to_wall.AirSourceHeatExchangerGeometry.n_Rohre"]], "n_plates (vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_plate_he.plateheatexchangergeometry attribute)": [[7, "vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_plate_he.PlateHeatExchangerGeometry.n_plates"]], "phi (vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_air_to_wall.airsourceheatexchangergeometry property)": [[7, "vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_air_to_wall.AirSourceHeatExchangerGeometry.phi"]], "phi (vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_plate_he.plateheatexchangergeometry attribute)": [[7, "vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_plate_he.PlateHeatExchangerGeometry.phi"]], "t_l (vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_air_to_wall.airsourceheatexchangergeometry attribute)": [[7, "vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_air_to_wall.AirSourceHeatExchangerGeometry.t_l"]], "t_q (vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_air_to_wall.airsourceheatexchangergeometry attribute)": [[7, "vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_air_to_wall.AirSourceHeatExchangerGeometry.t_q"]], "tiefe (vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_air_to_wall.airsourceheatexchangergeometry attribute)": [[7, "vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_air_to_wall.AirSourceHeatExchangerGeometry.tiefe"]], "vclibpy.components.heat_exchangers.heat_transfer": [[7, "module-vclibpy.components.heat_exchangers.heat_transfer"]], "vclibpy.components.heat_exchangers.heat_transfer.air_to_wall": [[7, "module-vclibpy.components.heat_exchangers.heat_transfer.air_to_wall"]], "vclibpy.components.heat_exchangers.heat_transfer.constant": [[7, "module-vclibpy.components.heat_exchangers.heat_transfer.constant"]], "vclibpy.components.heat_exchangers.heat_transfer.heat_transfer": [[7, "module-vclibpy.components.heat_exchangers.heat_transfer.heat_transfer"]], "vclibpy.components.heat_exchangers.heat_transfer.pipe_to_wall": [[7, "module-vclibpy.components.heat_exchangers.heat_transfer.pipe_to_wall"]], "vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_air_to_wall": [[7, "module-vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_air_to_wall"]], "vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_plate_he": [[7, "module-vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_plate_he"]], "vclibpy.components.heat_exchangers.heat_transfer.wall": [[7, "module-vclibpy.components.heat_exchangers.heat_transfer.wall"]], "verjuengungsfaktor (vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_air_to_wall.airsourceheatexchangergeometry property)": [[7, "vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_air_to_wall.AirSourceHeatExchangerGeometry.verjuengungsfaktor"]], "wall_thickness (vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_plate_he.plateheatexchangergeometry attribute)": [[7, "vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_plate_he.PlateHeatExchangerGeometry.wall_thickness"]], "wave_length (vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_plate_he.plateheatexchangergeometry attribute)": [[7, "vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_plate_he.PlateHeatExchangerGeometry.wave_length"]], "width (vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_plate_he.plateheatexchangergeometry attribute)": [[7, "vclibpy.components.heat_exchangers.heat_transfer.vdi_atlas_plate_he.PlateHeatExchangerGeometry.width"]], "basecycle (class in vclibpy.flowsheets.base)": [[8, "vclibpy.flowsheets.base.BaseCycle"]], "basevaporinjection (class in vclibpy.flowsheets.vapor_injection)": [[8, "vclibpy.flowsheets.vapor_injection.BaseVaporInjection"]], "standardcycle (class in vclibpy.flowsheets.standard)": [[8, "vclibpy.flowsheets.standard.StandardCycle"]], "vaporinjectioneconomizer (class in vclibpy.flowsheets.vapor_injection_economizer)": [[8, "vclibpy.flowsheets.vapor_injection_economizer.VaporInjectionEconomizer"]], "vaporinjectionphaseseparator (class in vclibpy.flowsheets.vapor_injection_phase_separator)": [[8, "vclibpy.flowsheets.vapor_injection_phase_separator.VaporInjectionPhaseSeparator"]], "calc_electrical_power() (vclibpy.flowsheets.base.basecycle method)": [[8, "vclibpy.flowsheets.base.BaseCycle.calc_electrical_power"]], "calc_electrical_power() (vclibpy.flowsheets.standard.standardcycle method)": [[8, "vclibpy.flowsheets.standard.StandardCycle.calc_electrical_power"]], "calc_electrical_power() (vclibpy.flowsheets.vapor_injection.basevaporinjection method)": [[8, "vclibpy.flowsheets.vapor_injection.BaseVaporInjection.calc_electrical_power"]], "calc_injection() (vclibpy.flowsheets.vapor_injection.basevaporinjection method)": [[8, "vclibpy.flowsheets.vapor_injection.BaseVaporInjection.calc_injection"]], "calc_injection() (vclibpy.flowsheets.vapor_injection_economizer.vaporinjectioneconomizer method)": [[8, "vclibpy.flowsheets.vapor_injection_economizer.VaporInjectionEconomizer.calc_injection"]], "calc_injection() (vclibpy.flowsheets.vapor_injection_phase_separator.vaporinjectionphaseseparator method)": [[8, "vclibpy.flowsheets.vapor_injection_phase_separator.VaporInjectionPhaseSeparator.calc_injection"]], "calc_states() (vclibpy.flowsheets.base.basecycle method)": [[8, "vclibpy.flowsheets.base.BaseCycle.calc_states"]], "calc_states() (vclibpy.flowsheets.standard.standardcycle method)": [[8, "vclibpy.flowsheets.standard.StandardCycle.calc_states"]], "calc_states() (vclibpy.flowsheets.vapor_injection.basevaporinjection method)": [[8, "vclibpy.flowsheets.vapor_injection.BaseVaporInjection.calc_states"]], "calc_steady_state() (vclibpy.flowsheets.base.basecycle method)": [[8, "vclibpy.flowsheets.base.BaseCycle.calc_steady_state"]], "calc_steady_state_fsolve() (vclibpy.flowsheets.base.basecycle method)": [[8, "vclibpy.flowsheets.base.BaseCycle.calc_steady_state_fsolve"]], "calculate_cycle_for_pressures() (vclibpy.flowsheets.base.basecycle method)": [[8, "vclibpy.flowsheets.base.BaseCycle.calculate_cycle_for_pressures"]], "calculate_outputs_for_valid_pressures() (vclibpy.flowsheets.base.basecycle method)": [[8, "vclibpy.flowsheets.base.BaseCycle.calculate_outputs_for_valid_pressures"]], "flowsheet_name (vclibpy.flowsheets.base.basecycle attribute)": [[8, "vclibpy.flowsheets.base.BaseCycle.flowsheet_name"]], "flowsheet_name (vclibpy.flowsheets.standard.standardcycle attribute)": [[8, "vclibpy.flowsheets.standard.StandardCycle.flowsheet_name"]], "flowsheet_name (vclibpy.flowsheets.vapor_injection.basevaporinjection attribute)": [[8, "vclibpy.flowsheets.vapor_injection.BaseVaporInjection.flowsheet_name"]], "flowsheet_name (vclibpy.flowsheets.vapor_injection_economizer.vaporinjectioneconomizer attribute)": [[8, "vclibpy.flowsheets.vapor_injection_economizer.VaporInjectionEconomizer.flowsheet_name"]], "flowsheet_name (vclibpy.flowsheets.vapor_injection_phase_separator.vaporinjectionphaseseparator attribute)": [[8, "vclibpy.flowsheets.vapor_injection_phase_separator.VaporInjectionPhaseSeparator.flowsheet_name"]], "fluid (vclibpy.flowsheets.standard.standardcycle attribute)": [[8, "vclibpy.flowsheets.standard.StandardCycle.fluid"]], "fluid (vclibpy.flowsheets.vapor_injection.basevaporinjection attribute)": [[8, "vclibpy.flowsheets.vapor_injection.BaseVaporInjection.fluid"]], "fluid (vclibpy.flowsheets.vapor_injection_economizer.vaporinjectioneconomizer attribute)": [[8, "vclibpy.flowsheets.vapor_injection_economizer.VaporInjectionEconomizer.fluid"]], "fluid (vclibpy.flowsheets.vapor_injection_phase_separator.vaporinjectionphaseseparator attribute)": [[8, "vclibpy.flowsheets.vapor_injection_phase_separator.VaporInjectionPhaseSeparator.fluid"]], "get_all_components() (vclibpy.flowsheets.base.basecycle method)": [[8, "vclibpy.flowsheets.base.BaseCycle.get_all_components"]], "get_all_components() (vclibpy.flowsheets.standard.standardcycle method)": [[8, "vclibpy.flowsheets.standard.StandardCycle.get_all_components"]], "get_all_components() (vclibpy.flowsheets.vapor_injection.basevaporinjection method)": [[8, "vclibpy.flowsheets.vapor_injection.BaseVaporInjection.get_all_components"]], "get_all_components() (vclibpy.flowsheets.vapor_injection_economizer.vaporinjectioneconomizer method)": [[8, "vclibpy.flowsheets.vapor_injection_economizer.VaporInjectionEconomizer.get_all_components"]], "get_all_components() (vclibpy.flowsheets.vapor_injection_phase_separator.vaporinjectionphaseseparator method)": [[8, "vclibpy.flowsheets.vapor_injection_phase_separator.VaporInjectionPhaseSeparator.get_all_components"]], "get_start_condensing_pressure() (vclibpy.flowsheets.base.basecycle method)": [[8, "vclibpy.flowsheets.base.BaseCycle.get_start_condensing_pressure"]], "get_start_evaporating_pressure() (vclibpy.flowsheets.base.basecycle method)": [[8, "vclibpy.flowsheets.base.BaseCycle.get_start_evaporating_pressure"]], "get_states_in_order_for_plotting() (vclibpy.flowsheets.base.basecycle method)": [[8, "vclibpy.flowsheets.base.BaseCycle.get_states_in_order_for_plotting"]], "get_states_in_order_for_plotting() (vclibpy.flowsheets.standard.standardcycle method)": [[8, "vclibpy.flowsheets.standard.StandardCycle.get_states_in_order_for_plotting"]], "get_states_in_order_for_plotting() (vclibpy.flowsheets.vapor_injection.basevaporinjection method)": [[8, "vclibpy.flowsheets.vapor_injection.BaseVaporInjection.get_states_in_order_for_plotting"]], "get_states_in_order_for_plotting() (vclibpy.flowsheets.vapor_injection_economizer.vaporinjectioneconomizer method)": [[8, "vclibpy.flowsheets.vapor_injection_economizer.VaporInjectionEconomizer.get_states_in_order_for_plotting"]], "get_states_in_order_for_plotting() (vclibpy.flowsheets.vapor_injection_phase_separator.vaporinjectionphaseseparator method)": [[8, "vclibpy.flowsheets.vapor_injection_phase_separator.VaporInjectionPhaseSeparator.get_states_in_order_for_plotting"]], "improve_first_condensing_guess() (vclibpy.flowsheets.base.basecycle method)": [[8, "vclibpy.flowsheets.base.BaseCycle.improve_first_condensing_guess"]], "plot_cycle() (vclibpy.flowsheets.base.basecycle method)": [[8, "vclibpy.flowsheets.base.BaseCycle.plot_cycle"]], "set_condenser_outlet_based_on_subcooling() (vclibpy.flowsheets.base.basecycle method)": [[8, "vclibpy.flowsheets.base.BaseCycle.set_condenser_outlet_based_on_subcooling"]], "set_evaporator_outlet_based_on_superheating() (vclibpy.flowsheets.base.basecycle method)": [[8, "vclibpy.flowsheets.base.BaseCycle.set_evaporator_outlet_based_on_superheating"]], "setup_new_fluid() (vclibpy.flowsheets.base.basecycle method)": [[8, "vclibpy.flowsheets.base.BaseCycle.setup_new_fluid"]], "terminate() (vclibpy.flowsheets.base.basecycle method)": [[8, "vclibpy.flowsheets.base.BaseCycle.terminate"]], "vclibpy.flowsheets": [[8, "module-vclibpy.flowsheets"]], "vclibpy.flowsheets.base": [[8, "module-vclibpy.flowsheets.base"]], "vclibpy.flowsheets.standard": [[8, "module-vclibpy.flowsheets.standard"]], "vclibpy.flowsheets.vapor_injection": [[8, "module-vclibpy.flowsheets.vapor_injection"]], "vclibpy.flowsheets.vapor_injection_economizer": [[8, "module-vclibpy.flowsheets.vapor_injection_economizer"]], "vclibpy.flowsheets.vapor_injection_phase_separator": [[8, "module-vclibpy.flowsheets.vapor_injection_phase_separator"]], "coolprop (class in vclibpy.media)": [[9, "vclibpy.media.CoolProp"]], "coolprop (class in vclibpy.media.cool_prop)": [[9, "vclibpy.media.cool_prop.CoolProp"]], "medprop (class in vclibpy.media)": [[9, "vclibpy.media.MedProp"]], "medprop (class in vclibpy.media.media)": [[9, "vclibpy.media.media.MedProp"]], "refprop (class in vclibpy.media)": [[9, "vclibpy.media.RefProp"]], "refprop (class in vclibpy.media.ref_prop)": [[9, "vclibpy.media.ref_prop.RefProp"]], "thermodynamicstate (class in vclibpy.media)": [[9, "vclibpy.media.ThermodynamicState"]], "thermodynamicstate (class in vclibpy.media.states)": [[9, "vclibpy.media.states.ThermodynamicState"]], "transportproperties (class in vclibpy.media)": [[9, "vclibpy.media.TransportProperties"]], "transportproperties (class in vclibpy.media.states)": [[9, "vclibpy.media.states.TransportProperties"]], "calc_mean_transport_properties() (vclibpy.media.medprop method)": [[9, "vclibpy.media.MedProp.calc_mean_transport_properties"]], "calc_mean_transport_properties() (vclibpy.media.media.medprop method)": [[9, "vclibpy.media.media.MedProp.calc_mean_transport_properties"]], "calc_satliq_state() (vclibpy.media.refprop method)": [[9, "vclibpy.media.RefProp.calc_satliq_state"]], "calc_satliq_state() (vclibpy.media.ref_prop.refprop method)": [[9, "vclibpy.media.ref_prop.RefProp.calc_satliq_state"]], "calc_state() (vclibpy.media.coolprop method)": [[9, "vclibpy.media.CoolProp.calc_state"]], "calc_state() (vclibpy.media.medprop method)": [[9, "vclibpy.media.MedProp.calc_state"]], "calc_state() (vclibpy.media.refprop method)": [[9, "vclibpy.media.RefProp.calc_state"]], "calc_state() (vclibpy.media.cool_prop.coolprop method)": [[9, "vclibpy.media.cool_prop.CoolProp.calc_state"]], "calc_state() (vclibpy.media.media.medprop method)": [[9, "vclibpy.media.media.MedProp.calc_state"]], "calc_state() (vclibpy.media.ref_prop.refprop method)": [[9, "vclibpy.media.ref_prop.RefProp.calc_state"]], "calc_transport_properties() (vclibpy.media.coolprop method)": [[9, "vclibpy.media.CoolProp.calc_transport_properties"]], "calc_transport_properties() (vclibpy.media.medprop method)": [[9, "vclibpy.media.MedProp.calc_transport_properties"]], "calc_transport_properties() (vclibpy.media.refprop method)": [[9, "vclibpy.media.RefProp.calc_transport_properties"]], "calc_transport_properties() (vclibpy.media.cool_prop.coolprop method)": [[9, "vclibpy.media.cool_prop.CoolProp.calc_transport_properties"]], "calc_transport_properties() (vclibpy.media.media.medprop method)": [[9, "vclibpy.media.media.MedProp.calc_transport_properties"]], "calc_transport_properties() (vclibpy.media.ref_prop.refprop method)": [[9, "vclibpy.media.ref_prop.RefProp.calc_transport_properties"]], "get_available_substances() (vclibpy.media.refprop method)": [[9, "vclibpy.media.RefProp.get_available_substances"]], "get_available_substances() (vclibpy.media.ref_prop.refprop method)": [[9, "vclibpy.media.ref_prop.RefProp.get_available_substances"]], "get_comp_names() (vclibpy.media.refprop method)": [[9, "vclibpy.media.RefProp.get_comp_names"]], "get_comp_names() (vclibpy.media.ref_prop.refprop method)": [[9, "vclibpy.media.ref_prop.RefProp.get_comp_names"]], "get_critical_point() (vclibpy.media.coolprop method)": [[9, "vclibpy.media.CoolProp.get_critical_point"]], "get_critical_point() (vclibpy.media.medprop method)": [[9, "vclibpy.media.MedProp.get_critical_point"]], "get_critical_point() (vclibpy.media.refprop method)": [[9, "vclibpy.media.RefProp.get_critical_point"]], "get_critical_point() (vclibpy.media.cool_prop.coolprop method)": [[9, "vclibpy.media.cool_prop.CoolProp.get_critical_point"]], "get_critical_point() (vclibpy.media.media.medprop method)": [[9, "vclibpy.media.media.MedProp.get_critical_point"]], "get_critical_point() (vclibpy.media.ref_prop.refprop method)": [[9, "vclibpy.media.ref_prop.RefProp.get_critical_point"]], "get_def_limits() (vclibpy.media.refprop method)": [[9, "vclibpy.media.RefProp.get_def_limits"]], "get_def_limits() (vclibpy.media.ref_prop.refprop method)": [[9, "vclibpy.media.ref_prop.RefProp.get_def_limits"]], "get_dll_path() (vclibpy.media.refprop static method)": [[9, "vclibpy.media.RefProp.get_dll_path"]], "get_dll_path() (vclibpy.media.ref_prop.refprop static method)": [[9, "vclibpy.media.ref_prop.RefProp.get_dll_path"]], "get_fluid_name() (vclibpy.media.refprop method)": [[9, "vclibpy.media.RefProp.get_fluid_name"]], "get_fluid_name() (vclibpy.media.ref_prop.refprop method)": [[9, "vclibpy.media.ref_prop.RefProp.get_fluid_name"]], "get_gwp() (vclibpy.media.refprop method)": [[9, "vclibpy.media.RefProp.get_gwp"]], "get_gwp() (vclibpy.media.ref_prop.refprop method)": [[9, "vclibpy.media.ref_prop.RefProp.get_gwp"]], "get_longname() (vclibpy.media.refprop method)": [[9, "vclibpy.media.RefProp.get_longname"]], "get_longname() (vclibpy.media.ref_prop.refprop method)": [[9, "vclibpy.media.ref_prop.RefProp.get_longname"]], "get_mass_fraction() (vclibpy.media.refprop method)": [[9, "vclibpy.media.RefProp.get_mass_fraction"]], "get_mass_fraction() (vclibpy.media.ref_prop.refprop method)": [[9, "vclibpy.media.ref_prop.RefProp.get_mass_fraction"]], "get_mol_fraction() (vclibpy.media.refprop method)": [[9, "vclibpy.media.RefProp.get_mol_fraction"]], "get_mol_fraction() (vclibpy.media.ref_prop.refprop method)": [[9, "vclibpy.media.ref_prop.RefProp.get_mol_fraction"]], "get_molar_composition() (vclibpy.media.refprop method)": [[9, "vclibpy.media.RefProp.get_molar_composition"]], "get_molar_composition() (vclibpy.media.ref_prop.refprop method)": [[9, "vclibpy.media.ref_prop.RefProp.get_molar_composition"]], "get_molar_mass() (vclibpy.media.coolprop method)": [[9, "vclibpy.media.CoolProp.get_molar_mass"]], "get_molar_mass() (vclibpy.media.medprop method)": [[9, "vclibpy.media.MedProp.get_molar_mass"]], "get_molar_mass() (vclibpy.media.refprop method)": [[9, "vclibpy.media.RefProp.get_molar_mass"]], "get_molar_mass() (vclibpy.media.cool_prop.coolprop method)": [[9, "vclibpy.media.cool_prop.CoolProp.get_molar_mass"]], "get_molar_mass() (vclibpy.media.media.medprop method)": [[9, "vclibpy.media.media.MedProp.get_molar_mass"]], "get_molar_mass() (vclibpy.media.ref_prop.refprop method)": [[9, "vclibpy.media.ref_prop.RefProp.get_molar_mass"]], "get_nbp() (vclibpy.media.refprop method)": [[9, "vclibpy.media.RefProp.get_nbp"]], "get_nbp() (vclibpy.media.ref_prop.refprop method)": [[9, "vclibpy.media.ref_prop.RefProp.get_nbp"]], "get_odp() (vclibpy.media.refprop method)": [[9, "vclibpy.media.RefProp.get_odp"]], "get_odp() (vclibpy.media.ref_prop.refprop method)": [[9, "vclibpy.media.ref_prop.RefProp.get_odp"]], "get_pretty_print() (vclibpy.media.thermodynamicstate method)": [[9, "vclibpy.media.ThermodynamicState.get_pretty_print"]], "get_pretty_print() (vclibpy.media.transportproperties method)": [[9, "vclibpy.media.TransportProperties.get_pretty_print"]], "get_pretty_print() (vclibpy.media.states.thermodynamicstate method)": [[9, "vclibpy.media.states.ThermodynamicState.get_pretty_print"]], "get_pretty_print() (vclibpy.media.states.transportproperties method)": [[9, "vclibpy.media.states.TransportProperties.get_pretty_print"]], "get_safety() (vclibpy.media.refprop method)": [[9, "vclibpy.media.RefProp.get_safety"]], "get_safety() (vclibpy.media.ref_prop.refprop method)": [[9, "vclibpy.media.ref_prop.RefProp.get_safety"]], "get_sat_vap_pressure() (vclibpy.media.refprop method)": [[9, "vclibpy.media.RefProp.get_sat_vap_pressure"]], "get_sat_vap_pressure() (vclibpy.media.ref_prop.refprop method)": [[9, "vclibpy.media.ref_prop.RefProp.get_sat_vap_pressure"]], "get_triple_point() (vclibpy.media.refprop method)": [[9, "vclibpy.media.RefProp.get_triple_point"]], "get_triple_point() (vclibpy.media.ref_prop.refprop method)": [[9, "vclibpy.media.ref_prop.RefProp.get_triple_point"]], "get_two_phase_limits() (in module vclibpy.media.media)": [[9, "vclibpy.media.media.get_two_phase_limits"]], "get_two_phase_limits() (vclibpy.media.medprop method)": [[9, "vclibpy.media.MedProp.get_two_phase_limits"]], "get_two_phase_limits() (vclibpy.media.media.medprop method)": [[9, "vclibpy.media.media.MedProp.get_two_phase_limits"]], "get_version() (vclibpy.media.refprop method)": [[9, "vclibpy.media.RefProp.get_version"]], "get_version() (vclibpy.media.ref_prop.refprop method)": [[9, "vclibpy.media.ref_prop.RefProp.get_version"]], "is_mixture() (vclibpy.media.refprop method)": [[9, "vclibpy.media.RefProp.is_mixture"]], "is_mixture() (vclibpy.media.ref_prop.refprop method)": [[9, "vclibpy.media.ref_prop.RefProp.is_mixture"]], "set_error_flag() (vclibpy.media.refprop method)": [[9, "vclibpy.media.RefProp.set_error_flag"]], "set_error_flag() (vclibpy.media.ref_prop.refprop method)": [[9, "vclibpy.media.ref_prop.RefProp.set_error_flag"]], "set_warning_flag() (vclibpy.media.refprop method)": [[9, "vclibpy.media.RefProp.set_warning_flag"]], "set_warning_flag() (vclibpy.media.ref_prop.refprop method)": [[9, "vclibpy.media.ref_prop.RefProp.set_warning_flag"]], "terminate() (vclibpy.media.medprop method)": [[9, "vclibpy.media.MedProp.terminate"]], "terminate() (vclibpy.media.refprop method)": [[9, "vclibpy.media.RefProp.terminate"]], "terminate() (vclibpy.media.media.medprop method)": [[9, "vclibpy.media.media.MedProp.terminate"]], "terminate() (vclibpy.media.ref_prop.refprop method)": [[9, "vclibpy.media.ref_prop.RefProp.terminate"]], "vclibpy.media": [[9, "module-vclibpy.media"]], "vclibpy.media.cool_prop": [[9, "module-vclibpy.media.cool_prop"]], "vclibpy.media.media": [[9, "module-vclibpy.media.media"]], "vclibpy.media.ref_prop": [[9, "module-vclibpy.media.ref_prop"]], "vclibpy.media.states": [[9, "module-vclibpy.media.states"]], "calc_multiple_states() (in module vclibpy.utils.automation)": [[10, "vclibpy.utils.automation.calc_multiple_states"]], "full_factorial_map_generation() (in module vclibpy.utils.automation)": [[10, "vclibpy.utils.automation.full_factorial_map_generation"]], "merge_sdfs() (in module vclibpy.utils.sdf_)": [[10, "vclibpy.utils.sdf_.merge_sdfs"]], "nominal_hp_design() (in module vclibpy.utils.nominal_design)": [[10, "vclibpy.utils.nominal_design.nominal_hp_design"]], "plot_sdf_map() (in module vclibpy.utils.plotting)": [[10, "vclibpy.utils.plotting.plot_sdf_map"]], "save_to_sdf() (in module vclibpy.utils.sdf_)": [[10, "vclibpy.utils.sdf_.save_to_sdf"]], "sdf_to_csv() (in module vclibpy.utils.sdf_)": [[10, "vclibpy.utils.sdf_.sdf_to_csv"]], "set_axis_style() (in module vclibpy.utils.plotting)": [[10, "vclibpy.utils.plotting.set_axis_style"]], "vclibpy.utils": [[10, "module-vclibpy.utils"]], "vclibpy.utils.automation": [[10, "module-vclibpy.utils.automation"]], "vclibpy.utils.nominal_design": [[10, "module-vclibpy.utils.nominal_design"]], "vclibpy.utils.plotting": [[10, "module-vclibpy.utils.plotting"]], "vclibpy.utils.sdf_": [[10, "module-vclibpy.utils.sdf_"]]}}) \ No newline at end of file