- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
mso/eml/heat_exchangers/HeatExchangerDiscretized.mso
r45 r1 1 2 #-------------------------------------------------------------------- 3 # Author: Gerson Balbueno Bicca 4 # $Id$ 5 #-------------------------------------------------------------------- 1 #*--------------------------------------------------------------------* 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * 10 * 11 * 12 *---------------------------------------------------------------------- 13 * Author: Gerson Balbueno Bicca 14 * $Id$ 15 *--------------------------------------------------------------------*# 6 16 7 17 using "HEX_Engine"; 8 18 9 # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#19 #===================================================================== 10 20 # Basic Model for Discretized Heat Exchangers 11 # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#21 #===================================================================== 12 22 13 23 Model HeatExchangerDiscretized_Basic … … 16 26 17 27 ext PP as CalcObject(Brief="External Physical Properties"); 18 HE as CalcObject(Brief="STHE Calculations",File="heatex");28 ext HE as CalcObject(Brief="STHE Calculations",File="heatex.dll"); 19 29 ext NComp as Integer (Brief="Number of Components"); 20 30 M(NComp) as molweight (Brief="Component Mol Weight"); … … 26 36 Properties as Main_Properties; # Hot and Cold Properties 27 37 Details as Details_Main; 28 Tubes as Tube_Side_Main ;29 Shell as Shell_Side_Main ;38 Tubes as Tube_Side_Main_Disc; 39 Shell as Shell_Side_Main_Disc; 30 40 Resistances as Main_Resistances; 31 41 Baffles as Baffles_Main; … … 194 204 end 195 205 196 # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#206 #===================================================================== 197 207 # Thermal Details 198 # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#208 #===================================================================== 199 209 "Hot Stream Heat Capacity" 200 210 Details.Ch =Inlet.Hot.F*Properties.Hot.Average.Cp; … … 203 213 Details.Cc =Inlet.Cold.F*Properties.Cold.Average.Cp; 204 214 205 "Minimum Heat Capacity"206 Details.Cmin = min([Details.Ch,Details.Cc]);207 208 "Maximum Heat Capacity"209 Details.Cmax = max([Details.Ch,Details.Cc]);210 211 215 "Heat Capacity Ratio" 212 Details.Cr = Details.Cmin/Details.Cmax;213 214 # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#216 [Details.Cmin,Details.Cmax,Details.Cr] = HE.HeatCapacityRatio(Details.Ch,Details.Cc); 217 218 #===================================================================== 215 219 # Energy Balance 216 # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#220 #===================================================================== 217 221 "Energy Balance Hot Stream" 218 222 Details.Q = Inlet.Hot.F*(Inlet.Hot.h-Outlet.Hot.h); … … 221 225 Details.Q =-Inlet.Cold.F*(Inlet.Cold.h-Outlet.Cold.h); 222 226 223 # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#227 #===================================================================== 224 228 # Material Balance 225 # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#229 #===================================================================== 226 230 "Flow Mass Inlet Cold Stream" 227 231 Properties.Cold.Inlet.Fw = sum(M*Inlet.Cold.z)*Inlet.Cold.F; … … 242 246 Inlet.Cold.F = Outlet.Cold.F; 243 247 244 # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#248 #====================================== 245 249 # Constraints 246 # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#250 #====================================== 247 251 "Hot Stream Molar Fraction Constraint" 248 252 Outlet.Hot.z=Inlet.Hot.z; … … 260 264 end 261 265 266 Model Heatex_Discretized_LMTD as HeatExchangerDiscretized_Basic 267 268 VARIABLES 269 LMTD as temp_delta (Brief="Logarithmic Mean Temperature Difference",Lower=5); 270 Fc as positive (Brief="LMTD Correction Factor",Lower=0.1); 271 MTD as temp_delta (Brief="Mean Temperature Difference",Lower=5); 272 273 EQUATIONS 274 275 "Exchange Surface Area" 276 Details.Q = Details.U*Details.A*MTD; 277 278 "Mean Temperature Difference" 279 MTD = Fc*LMTD; 280 281 "LMTD Correction Factor" 282 Fc = HE.EshellCorrectionFactor(Inlet.Hot.T,Outlet.Hot.T,Inlet.Cold.T,Outlet.Cold.T); 283 284 "LMTD" 285 LMTD = HE.CounterLMTD(Inlet.Hot.T,Outlet.Hot.T,Inlet.Cold.T,Outlet.Cold.T); 286 287 end 288 262 289 Model Heatex_Discretized_NTU as HeatExchangerDiscretized_Basic 263 290 … … 272 299 273 300 "TEMA E Shell Effectiveness" 274 Eft = HE.EshellEffectiveness(Details.Cr,Details.NTU); 275 276 end 277 278 Model Heatex_Discretized_LMTD as HeatExchangerDiscretized_Basic 279 301 # Eft = HE.EshellEffectiveness(Details.Cr,Details.NTU); 302 303 Eft = 0.10; 304 305 end 306 307 Model Profiles 308 309 PARAMETERS 310 311 Zones as Integer; 312 280 313 VARIABLES 281 DT0 as temp_delta (Brief="Temperature Difference at Inlet",Lower=1); 282 DTL as temp_delta (Brief="Temperature Difference at Outlet",Lower=1); 283 LMTD as temp_delta (Brief="Logarithmic Mean Temperature Difference",Lower=5); 284 Fc as positive (Brief="LMTD Correction Factor",Lower=0.5); 285 MTD as temp_delta (Brief="Mean Temperature Difference",Lower=1); 286 287 EQUATIONS 288 "Exchange Surface Area" 289 Details.Q = Details.U*Details.A*MTD; 290 291 "Mean Temperature Difference" 292 MTD = Fc*LMTD; 293 294 #"LMTD Correction Factor" 295 # Fc = HE.EshellCorrectionFactor(Inlet.Hot.T,Outlet.Hot.T,Inlet.Cold.T,Outlet.Cold.T); 296 297 "Temperature Difference at Inlet" 298 DT0 = Inlet.Hot.T - Outlet.Cold.T; 299 300 "Temperature Difference at Outlet" 301 DTL = Outlet.Hot.T - Inlet.Cold.T; 302 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 303 # Log Mean Temperature Difference 304 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 305 if abs(DT0 - DTL) > 0.05*max(abs([DT0,DTL])) 306 307 then 308 "Log Mean Temperature Difference" 309 LMTD= (DT0-DTL)/ln(DT0/DTL); 310 311 else 312 313 if DT0*DTL equal 0 314 315 then 316 "Log Mean Temperature Difference" 317 LMTD = 0.5*(DT0+DTL); 318 319 else 320 "Log Mean Temperature Difference" 321 LMTD = 0.5*(DT0+DTL)*(1-(DT0-DTL)^2/(DT0*DTL)*(1+(DT0-DTL)^2/(DT0*DTL)/2)/12); 322 323 end 324 325 end 326 327 328 end 329 330 Model Profiles 331 314 315 Lz(Zones) as length; 316 Lpos(Zones) as length; 317 Area as area; 318 Q as power; 319 PdropShellTotal as pressure; 320 PdropTubesTotal as pressure; 321 PdropWinTotal as pressure; 322 PdropCrossTotal as pressure; 323 PdropEndsTotal as pressure; 324 Uaverage as heat_trans_coeff (Brief="Overall Heat Transfer Coefficient",Default=1,Lower=1e-6,Upper=1e10); 325 hshellaverage as heat_trans_coeff (Brief="Shell Side Film Coefficient",Default=1,Lower=1e-12, Upper=1e6); 326 htubeaverage as heat_trans_coeff (Brief="Shell Side Film Coefficient",Default=1,Lower=1e-12, Upper=1e6); 327 Thot(Zones) as temperature(Lower = 70, Upper = 500); 328 Tcold(Zones) as temperature(Lower = 70, Upper = 500); 329 Phot(Zones) as pressure(Lower = 0.8, Upper = 30); 330 Pcold(Zones) as pressure(Lower = 0.8, Upper = 30); 331 332 end 333 334 335 Model E_Shell_LMTD_Disc 336 #============================================================================ 337 # Shell and Tubes Heat Exchanger In Series with 1 shell pass - LMTD Method 338 #============================================================================ 332 339 PARAMETERS 333 340 334 Zones as Integer(Brief="Number of Zones"); 335 336 VARIABLES 337 338 Lz(Zones) as length (Brief="Zone Tube Length"); 339 Area as area (Brief="Area Total"); 340 Q as power (Brief="Total Duty"); 341 PdropTubesNozzle as pressure (Brief="Total Tube Nozzles Pressure Drop"); 342 PdropTubes as pressure (Brief="Total Tube Pressure Drop"); 343 PdropWin as pressure (Brief="Total Shell Side Window Pressure Drop"); 344 PdropCross as pressure (Brief="Total Shell Side Cross Flow Pressure Drop"); 345 PdropEnds as pressure (Brief="Total Shell Side Ends Pressure Drop"); 346 PdropShellNozzle as pressure (Brief="Total Shell Side Nozzles Pressure Drop"); 347 PdropShell as pressure (Brief="Total Shell Side Pressure Drop"); 348 Uaverage as heat_trans_coeff (Brief="Average Overall Heat Transfer Coefficient",Default=1,Lower=1e-6,Upper=1e10); 349 hshellaverage as heat_trans_coeff (Brief="Average Shell Side Film Coefficient",Default=1,Lower=1e-12, Upper=1e6); 350 htubeaverage as heat_trans_coeff (Brief="Average Tube Side Film Coefficient",Default=1,Lower=1e-12, Upper=1e6); 351 Thot(Zones) as temperature (Brief="Hot Temperature",Lower = 300, Upper = 500); 352 Tcold(Zones) as temperature (Brief="Cold Temperature",Lower = 300, Upper = 500); 353 Phot(Zones) as pressure (Brief="Hot Pressure",Lower = 0.8, Upper = 30); 354 Pcold(Zones) as pressure (Brief="Cold Pressure",Lower = 0.8, Upper = 30); 355 356 end 357 358 Model E_Shell_NTU_Disc 359 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 360 # Shell and Tubes Heat Exchanger with 1 shell pass - NTU Method 361 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 362 PARAMETERS 363 364 HE as CalcObject (Brief="STHE Calculations",File="heatex"); 365 ext PP as CalcObject (Brief="External Physical Properties"); 366 side as Integer (Brief="Fluid Alocation",Lower=0,Upper=1); 367 Pi as constant (Brief="Pi Number",Default=3.14159265); 368 369 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 341 ext HE as CalcObject (Brief="STHE Calculations",File="heatex.dll"); 342 ext PP as CalcObject; 343 side as Integer (Brief="Fluid Alocation",Lower=0,Upper=1); 344 Pi as constant (Brief="Pi Number",Default=3.14159265); 345 346 #===================================================================== 370 347 # Shell Geometrical Parameters 371 # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#348 #===================================================================== 372 349 Tpass as Integer (Brief="Number of Tube Passes",Lower=1); 373 350 Nss as Integer (Brief="Number of Sealing Strips pairs",Lower=1); … … 378 355 Honozzle_Shell as length (Brief="Height Under Shell Outlet Nozzle",Lower=10e-6); 379 356 Lcf as length (Brief="Bundle-to-Shell Clearance",Lower=10e-8); 380 # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#357 #===================================================================== 381 358 # Tubes Geometrical Parameters 382 # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#359 #===================================================================== 383 360 Ntt as Integer (Brief="Total Number of Tubes in Shell",Default=100,Lower=1); 384 361 Pattern as Integer (Brief="Tube Layout Characteristic Angle",Lower=30); … … 390 367 Donozzle_Tube as length (Brief="Tube Outlet Nozzle Diameter",Lower=10e-6); 391 368 Dinozzle_Tube as length (Brief="Tube Inlett Nozzle Diameter",Lower=10e-6); 392 # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#369 #===================================================================== 393 370 # Baffles Geometrical Parameters 394 # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#371 #===================================================================== 395 372 Bc as Integer (Brief="Baffle Cut",Default=25,Lower=25); 396 373 Nb as Integer (Brief="Number of Baffles",Default=4); 397 374 Lcd as length (Brief="Baffle-to-Shell Clearance",Lower=10e-8); 398 375 Ltd as length (Brief="Tube-to-Bafflehole Clearance",Lower=10e-8); 399 # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#376 #===================================================================== 400 377 VARIABLES 401 378 402 Unity(Nb+1) as Heatex_Discretized_NTU; 379 PdropNozzles as Pdrop_Nozzles_Main; 380 Unity(Nb+1) as Heatex_Discretized_LMTD; 403 381 Sumary as Profiles; 404 382 … … 410 388 EQUATIONS 411 389 412 "Hot Temperatures" 413 Sumary.Thot = Unity.Outlet.Hot.T; 414 415 "Cold Temperatures" 416 Sumary.Tcold = Unity.Outlet.Cold.T ; 417 418 "Hot Pressures" 419 Sumary.Phot = Unity.Outlet.Hot.P ; 420 421 "Cold Pressures" 422 Sumary.Pcold = Unity.Outlet.Cold.P ; 423 424 "Average Shell Side Film Coefficient" 425 Sumary.hshellaverage = sum(Unity.Shell.HeatTransfer.hshell)/Sumary.Zones; 426 427 "Average Tube Side Film Coefficient" 428 Sumary.htubeaverage = sum(Unity.Tubes.HeatTransfer.htube)/Sumary.Zones; 429 430 "Average Overall Heat Transfer Coefficient" 431 Sumary.Uaverage = sum(Unity.Details.U)/Sumary.Zones; 432 433 "Area Total" 434 Sumary.Area = sum(Unity.Details.A); 435 436 "Duty Total" 437 Sumary.Q = sum(Unity.Details.Q); 438 439 "Length Inlet zone" 440 Sumary.Lz(1) = Unity(1).Baffles.Lsi; 441 442 "Length Outlet zone" 443 Sumary.Lz(Nb+1) = Unity(1).Baffles.Lso; 444 445 "Total Shell Side Pressure Drop" 446 Sumary.PdropShell = sum(Unity.Shell.PressureDrop.Pdtotal); 447 448 "Total Tube Side Pressure Drop" 449 Sumary.PdropTubes = sum(Unity.Tubes.PressureDrop.Pdtotal); 450 451 "Total Tube Side Nozzles Pressure Drop" 452 Sumary.PdropTubesNozzle = sum(Unity.Tubes.PressureDrop.Pdnozzle_in + Unity.Tubes.PressureDrop.Pdnozzle_out); 453 454 "Total Shell Side Nozzles Pressure Drop" 455 Sumary.PdropShellNozzle = sum(Unity.Shell.PressureDrop.Pdnozzle_in + Unity.Shell.PressureDrop.Pdnozzle_out); 456 457 "Total Shell Side Window Pressure Drop" 458 Sumary.PdropWin = sum(Unity.Shell.PressureDrop.Pdwindow); 459 460 "Total Shell Side Cross Flow Pressure Drop" 461 Sumary.PdropCross = sum(Unity.Shell.PressureDrop.PdCross); 462 463 "Total Shell Side Ends Pressure Drop" 464 Sumary.PdropEnds = sum(Unity.Shell.PressureDrop.PdEndZones); 390 "Outlet Hot Temperature" 391 Sumary.Thot = Unity.Outlet.Hot.T ; 392 393 "Outlet Cold Temperature" 394 Sumary.Tcold = Unity.Outlet.Cold.T ; 395 Sumary.Phot = Unity.Outlet.Hot.P ; 396 Sumary.Pcold = Unity.Outlet.Cold.P ; 397 398 Sumary.hshellaverage = sum(Unity.Shell.HeatTransfer.hshell)/Sumary.Zones; 399 Sumary.htubeaverage = sum(Unity.Tubes.HeatTransfer.htube)/Sumary.Zones; 400 Sumary.Uaverage = sum(Unity.Details.U)/Sumary.Zones; 401 Sumary.Area = sum(Unity.Details.A); 402 Sumary.Q = sum(Unity.Details.Q); 403 404 Sumary.PdropShellTotal = sum(Unity.Shell.PressureDrop.Pdtotal)+PdropNozzles.Shell.Pdnozzle_in + PdropNozzles.Shell.Pdnozzle_out; 405 Sumary.PdropTubesTotal = sum(Unity.Tubes.PressureDrop.Pdtotal)+PdropNozzles.Tubes.Pdnozzle_in + PdropNozzles.Tubes.Pdnozzle_out; 406 Sumary.PdropWinTotal = sum(Unity.Shell.PressureDrop.Pdwindow); 407 Sumary.PdropCrossTotal = sum(Unity.Shell.PressureDrop.PdCross); 408 Sumary.PdropEndsTotal = sum(Unity.Shell.PressureDrop.PdEndZones); 409 410 Sumary.Lz(1) = Unity(1).Baffles.Lsi; 465 411 466 412 "Shell Side Cross Flow Area" … … 469 415 "Shell Side Cross Flow Area" 470 416 Unity(Nb+1).Shell.HeatTransfer.Sm = HE.CrossFlowArea(Unity(Nb+1).Baffles.Lso); 471 417 418 Sumary.Lz(Nb+1) = Unity(1).Baffles.Lso; 472 419 473 420 if side equal 1 474 421 475 422 then 476 477 "Shell Side inlet Nozzle rho-V^2" 478 Unity(1).Shell.PressureDrop.RVsquare_in = Unity(1).Properties.Hot.Inlet.rho*(Unity(1).Shell.PressureDrop.Vnozzle_in)^2; 479 480 "Shell Side Outlet Nozzle rho-V^2" 481 Unity(Nb+1).Shell.PressureDrop.RVsquare_out = Unity(Nb+1).Properties.Hot.Outlet.rho*(Unity(Nb+1).Shell.PressureDrop.Vnozzle_out)^2; 482 483 "Shell Pressure End Zones" 484 Unity(1).Shell.PressureDrop.PdEndZones = HE.DeltaPendZonesIncremental(Unity(1).Shell.HeatTransfer.Re,Unity(1).Baffles.Ls,Unity(1).Baffles.Lso, 485 Unity(1).Baffles.Lsi,Unity(1).Properties.Hot.Inlet.Fw,Unity(1).Shell.HeatTransfer.Phi,Unity(1).Properties.Hot.Average.rho); 486 487 "Shell Pressure End Zones" 488 Unity(Nb+1).Shell.PressureDrop.PdEndZones = HE.DeltaPendZonesIncremental(Unity(Nb+1).Shell.HeatTransfer.Re,Unity(Nb+1).Baffles.Ls,Unity(Nb+1).Baffles.Lso, 489 Unity(Nb+1).Baffles.Lsi,Unity(Nb+1).Properties.Hot.Inlet.Fw,Unity(Nb+1).Shell.HeatTransfer.Phi,Unity(Nb+1).Properties.Hot.Average.rho); 423 424 "Pressure Drop Hot Stream" 425 Unity(1).Outlet.Hot.P = Unity(1).Inlet.Hot.P - Unity(1).Shell.PressureDrop.Pdtotal - PdropNozzles.Shell.Pdnozzle_in; 426 Unity(Nb+1).Outlet.Hot.P = Unity(Nb+1).Inlet.Hot.P - Unity(Nb+1).Shell.PressureDrop.Pdtotal - PdropNozzles.Shell.Pdnozzle_out; 427 428 "Pressure Drop Cold Stream" 429 Unity(1).Outlet.Cold.P = Unity(1).Inlet.Cold.P - Unity(1).Tubes.PressureDrop.Pdtotal - PdropNozzles.Tubes.Pdnozzle_in; 430 Unity(Nb+1).Outlet.Cold.P = Unity(Nb+1).Inlet.Cold.P - Unity(Nb+1).Tubes.PressureDrop.Pdtotal - PdropNozzles.Tubes.Pdnozzle_out; 490 431 491 432 "Pressure Drop Tube Side Inlet Nozzle" 492 Unity(1).Tubes.PressureDrop.Pdnozzle_in = HE.DeltaPtubeNozzlein(Unity(1).Properties.Cold.Inlet.rho,Unity(1).Properties.Cold.Inlet.Fw);433 PdropNozzles.Tubes.Pdnozzle_in = HE.DeltaPtubeNozzlein(Unity(1).Properties.Cold.Inlet.rho,Unity(1).Properties.Cold.Inlet.Fw); 493 434 494 435 "Velocity Tube Side Inlet Nozzle" 495 Unity(1).Tubes.PressureDrop.Vnozzle_in = HE.TubeVelocityNozzlein(Unity(1).Properties.Cold.Inlet.rho,Unity(1).Properties.Cold.Inlet.Fw);436 PdropNozzles.Tubes.Vnozzle_in = HE.TubeVelocityNozzlein(Unity(1).Properties.Cold.Inlet.rho,Unity(1).Properties.Cold.Inlet.Fw); 496 437 497 438 "Pressure Drop Tube Side Outlet Nozzle" 498 Unity(Nb+1).Tubes.PressureDrop.Pdnozzle_out = HE.DeltaPtubeNozzleout(Unity(Nb+1).Properties.Cold.Outlet.rho,Unity(Nb+1).Properties.Cold.Inlet.Fw);439 PdropNozzles.Tubes.Pdnozzle_out = HE.DeltaPtubeNozzleout(Unity(Nb+1).Properties.Cold.Outlet.rho,Unity(Nb+1).Properties.Cold.Inlet.Fw); 499 440 500 441 "Velocity Tube Side Outlet Nozzle" 501 Unity(Nb+1).Tubes.PressureDrop.Vnozzle_out = HE.TubeVelocityNozzleout(Unity(Nb+1).Properties.Cold.Outlet.rho,Unity(Nb+1).Properties.Cold.Inlet.Fw);442 PdropNozzles.Tubes.Vnozzle_out = HE.TubeVelocityNozzleout(Unity(Nb+1).Properties.Cold.Outlet.rho,Unity(Nb+1).Properties.Cold.Inlet.Fw); 502 443 503 444 "Shell Pressure Drop Inlet Nozzle" 504 Unity(1).Shell.PressureDrop.Pdnozzle_in = HE.DeltaPshellNozzleIn(Unity(1).Properties.Hot.Inlet.rho,Unity(1).Properties.Hot.Inlet.Fw);445 PdropNozzles.Shell.Pdnozzle_in = HE.DeltaPshellNozzleIn(Unity(1).Properties.Hot.Inlet.rho,Unity(1).Properties.Hot.Inlet.Fw); 505 446 506 447 "Velocity Shell Side Inlet Nozzle" 507 Unity(1).Shell.PressureDrop.Vnozzle_in = HE.ShellVelocityNozzleIn(Unity(1).Properties.Hot.Inlet.rho,Unity(1).Properties.Hot.Inlet.Fw);448 PdropNozzles.Shell.Vnozzle_in = HE.ShellVelocityNozzleIn(Unity(1).Properties.Hot.Inlet.rho,Unity(1).Properties.Hot.Inlet.Fw); 508 449 509 450 "Shell Pressure Drop Outlet Nozzle" 510 Unity(Nb+1).Shell.PressureDrop.Pdnozzle_out =HE.DeltaPshellNozzleOut(Unity(Nb+1).Properties.Hot.Outlet.rho,Unity(Nb+1).Properties.Hot.Inlet.Fw);451 PdropNozzles.Shell.Pdnozzle_out =HE.DeltaPshellNozzleOut(Unity(Nb+1).Properties.Hot.Outlet.rho,Unity(Nb+1).Properties.Hot.Inlet.Fw); 511 452 512 453 "Velocity Shell Side Outlet Nozzle" 513 Unity(Nb+1).Shell.PressureDrop.Vnozzle_out =HE.ShellVelocityNozzleOut(Unity(Nb+1).Properties.Hot.Outlet.rho,Unity(Nb+1).Properties.Hot.Inlet.Fw);514 454 PdropNozzles.Shell.Vnozzle_out =HE.ShellVelocityNozzleOut(Unity(Nb+1).Properties.Hot.Outlet.rho,Unity(Nb+1).Properties.Hot.Inlet.Fw); 455 515 456 516 457 else 517 458 518 "Shell Side inlet Nozzle rho-V^2" 519 Unity(1).Shell.PressureDrop.RVsquare_in = Unity(1).Properties.Cold.Inlet.rho*(Unity(1).Shell.PressureDrop.Vnozzle_in)^2; 520 521 "Shell Side Outlet Nozzle rho-V^2" 522 Unity(Nb+1).Shell.PressureDrop.RVsquare_out = Unity(Nb+1).Properties.Cold.Outlet.rho*(Unity(Nb+1).Shell.PressureDrop.Vnozzle_out)^2; 523 524 "Shell Pressure End Zones" 525 Unity(1).Shell.PressureDrop.PdEndZones = HE.DeltaPendZonesIncremental(Unity(1).Shell.HeatTransfer.Re,Unity(1).Baffles.Ls,Unity(1).Baffles.Lso, 526 Unity(1).Baffles.Lsi,Unity(1).Properties.Cold.Inlet.Fw,Unity(1).Shell.HeatTransfer.Phi,Unity(1).Properties.Cold.Average.rho); 527 528 "Shell Pressure End Zones" 529 Unity(Nb+1).Shell.PressureDrop.PdEndZones = HE.DeltaPendZonesIncremental(Unity(Nb+1).Shell.HeatTransfer.Re,Unity(Nb+1).Baffles.Ls,Unity(Nb+1).Baffles.Lso, 530 Unity(Nb+1).Baffles.Lsi,Unity(Nb+1).Properties.Cold.Inlet.Fw,Unity(Nb+1).Shell.HeatTransfer.Phi,Unity(Nb+1).Properties.Cold.Average.rho); 531 459 "Pressure Drop Hot Stream" 460 Unity(1).Outlet.Hot.P = Unity(1).Inlet.Hot.P- Unity(1).Tubes.PressureDrop.Pdtotal - PdropNozzles.Tubes.Pdnozzle_in; 461 Unity(Nb+1).Outlet.Hot.P = Unity(Nb+1).Inlet.Hot.P- Unity(Nb+1).Tubes.PressureDrop.Pdtotal - PdropNozzles.Tubes.Pdnozzle_out; 462 463 "Pressure Drop Cold Stream" 464 Unity(1).Outlet.Cold.P = Unity(1).Inlet.Cold.P - Unity(1).Shell.PressureDrop.Pdtotal- PdropNozzles.Shell.Pdnozzle_in; 465 Unity(Nb+1).Outlet.Cold.P = Unity(Nb+1).Inlet.Cold.P - Unity(Nb+1).Shell.PressureDrop.Pdtotal- PdropNozzles.Shell.Pdnozzle_out; 532 466 533 467 "Pressure Drop Tube Side Inlet Nozzle" 534 Unity(1).Tubes.PressureDrop.Pdnozzle_in = HE.DeltaPtubeNozzlein(Unity(1).Properties.Hot.Inlet.rho,Unity(1).Properties.Hot.Inlet.Fw);468 PdropNozzles.Tubes.Pdnozzle_in = HE.DeltaPtubeNozzlein(Unity(1).Properties.Hot.Inlet.rho,Unity(1).Properties.Hot.Inlet.Fw); 535 469 536 470 "Velocity Tube Side Inlet Nozzle" 537 Unity(1).Tubes.PressureDrop.Vnozzle_in = HE.TubeVelocityNozzlein(Unity(1).Properties.Hot.Inlet.rho,Unity(1).Properties.Hot.Inlet.Fw);471 PdropNozzles.Tubes.Vnozzle_in = HE.TubeVelocityNozzlein(Unity(1).Properties.Hot.Inlet.rho,Unity(1).Properties.Hot.Inlet.Fw); 538 472 539 473 "Pressure Drop Tube Side Outlet Nozzle" 540 Unity(Nb+1).Tubes.PressureDrop.Pdnozzle_out = HE.DeltaPtubeNozzleout(Unity(Nb+1).Properties.Hot.Outlet.rho,Unity(Nb+1).Properties.Hot.Inlet.Fw);474 PdropNozzles.Tubes.Pdnozzle_out = HE.DeltaPtubeNozzleout(Unity(Nb+1).Properties.Hot.Outlet.rho,Unity(Nb+1).Properties.Hot.Inlet.Fw); 541 475 542 476 "Velocity Tube Side Outlet Nozzle" 543 Unity(Nb+1).Tubes.PressureDrop.Vnozzle_out = HE.TubeVelocityNozzleout(Unity(Nb+1).Properties.Hot.Outlet.rho,Unity(Nb+1).Properties.Hot.Inlet.Fw);477 PdropNozzles.Tubes.Vnozzle_out = HE.TubeVelocityNozzleout(Unity(Nb+1).Properties.Hot.Outlet.rho,Unity(Nb+1).Properties.Hot.Inlet.Fw); 544 478 545 479 "Shell Pressure Drop Inlet Nozzle" 546 Unity(1).Shell.PressureDrop.Pdnozzle_in = HE.DeltaPshellNozzleIn(Unity(1).Properties.Cold.Inlet.rho,Unity(1).Properties.Cold.Inlet.Fw);480 PdropNozzles.Shell.Pdnozzle_in = HE.DeltaPshellNozzleIn(Unity(1).Properties.Cold.Inlet.rho,Unity(1).Properties.Cold.Inlet.Fw); 547 481 548 482 "Velocity Shell Side Inlet Nozzle" 549 Unity(1).Shell.PressureDrop.Vnozzle_in = HE.ShellVelocityNozzleIn(Unity(1).Properties.Cold.Inlet.rho,Unity(1).Properties.Cold.Inlet.Fw);483 PdropNozzles.Shell.Vnozzle_in = HE.ShellVelocityNozzleIn(Unity(1).Properties.Cold.Inlet.rho,Unity(1).Properties.Cold.Inlet.Fw); 550 484 551 485 "Shell Pressure Drop Outlet Nozzle" 552 Unity(Nb+1).Shell.PressureDrop.Pdnozzle_out = HE.DeltaPshellNozzleOut(Unity(Nb+1).Properties.Cold.Outlet.rho,Unity(Nb+1).Properties.Cold.Inlet.Fw);486 PdropNozzles.Shell.Pdnozzle_out = HE.DeltaPshellNozzleOut(Unity(Nb+1).Properties.Cold.Outlet.rho,Unity(Nb+1).Properties.Cold.Inlet.Fw); 553 487 554 488 "Velocity Shell Side Outlet Nozzle" 555 Unity(Nb+1).Shell.PressureDrop.Vnozzle_out = HE.ShellVelocityNozzleOut(Unity(Nb+1).Properties.Cold.Outlet.rho,Unity(Nb+1).Properties.Cold.Inlet.Fw); 556 489 PdropNozzles.Shell.Vnozzle_out = HE.ShellVelocityNozzleOut(Unity(Nb+1).Properties.Cold.Outlet.rho,Unity(Nb+1).Properties.Cold.Inlet.Fw); 557 490 558 491 end … … 561 494 for i in [2:Nb] 562 495 563 "Pressure Drop Tube Side Inlet Nozzle"564 Unity(i).Tubes.PressureDrop.Pdnozzle_in = 0;565 566 "Velocity Tube Side Inlet Nozzle"567 Unity(i).Tubes.PressureDrop.Vnozzle_in = 0;568 569 "Pressure Drop Tube Side Outlet Nozzle"570 Unity(i).Tubes.PressureDrop.Pdnozzle_out = 0;571 572 "Velocity Tube Side Outlet Nozzle"573 Unity(i).Tubes.PressureDrop.Vnozzle_out = 0;574 575 "Shell Pressure Drop Inlet Nozzle"576 Unity(i).Shell.PressureDrop.Pdnozzle_in = 0;577 578 "Velocity Shell Side Inlet Nozzle"579 Unity(i).Shell.PressureDrop.Vnozzle_in = 0;580 581 "Shell Pressure Drop Outlet Nozzle"582 Unity(i).Shell.PressureDrop.Pdnozzle_out = 0;583 584 "Velocity Shell Side Outlet Nozzle"585 Unity(i).Shell.PressureDrop.Vnozzle_out = 0;586 587 "Shell Pressure End Zones"588 Unity(i).Shell.PressureDrop.PdEndZones = 0;589 590 "Shell Side Outlet Nozzle rho-V^2"591 Unity(i).Shell.PressureDrop.RVsquare_out = 0;592 593 "Shell Side inlet Nozzle rho-V^2"594 Unity(i).Shell.PressureDrop.RVsquare_in = 0;595 596 496 if side equal 1 597 497 598 498 then 599 499 600 "Shell Pressure Drop Cross Flow" 601 Unity(i).Shell.PressureDrop.PdCross = HE.DeltaPcrossIncremental(Unity(i).Shell.HeatTransfer.Re,Unity(i).Baffles.Ls,Unity(i).Baffles.Lso,Unity(i).Baffles.Lsi,Unity(i).Properties.Hot.Inlet.Fw,Unity(i).Shell.HeatTransfer.Phi,Unity(i).Properties.Hot.Average.rho); 500 "Pressure Drop Hot Stream" 501 Unity(i).Outlet.Hot.P = Unity(i).Inlet.Hot.P - Unity(i).Shell.PressureDrop.Pdtotal; 502 503 "Pressure Drop Cold Stream" 504 Unity(i).Outlet.Cold.P = Unity(i).Inlet.Cold.P - Unity(i).Tubes.PressureDrop.Pdtotal; 602 505 603 506 604 507 else 605 508 606 "Shell Pressure Drop Cross Flow" 607 Unity(i).Shell.PressureDrop.PdCross = HE.DeltaPcrossIncremental(Unity(i).Shell.HeatTransfer.Re,Unity(i).Baffles.Ls,Unity(i).Baffles.Lso,Unity(i).Baffles.Lsi,Unity(i).Properties.Cold.Inlet.Fw,Unity(i).Shell.HeatTransfer.Phi,Unity(i).Properties.Cold.Average.rho); 608 609 610 end 611 612 "Zone Length" 509 "Pressure Drop Hot Stream" 510 Unity(i).Outlet.Hot.P = Unity(i).Inlet.Hot.P- Unity(i).Tubes.PressureDrop.Pdtotal; 511 512 "Pressure Drop Cold Stream" 513 Unity(i).Outlet.Cold.P = Unity(i).Inlet.Cold.P - Unity(i).Shell.PressureDrop.Pdtotal; 514 515 516 end 517 518 "Position for discretization" 613 519 Sumary.Lz(i) = Unity(1).Baffles.Ls; 614 520 615 521 "Shell Side Cross Flow Area" 616 522 Unity(i).Shell.HeatTransfer.Sm = HE.CrossFlowArea(Unity(i).Baffles.Ls); 617 523 618 524 end 619 525 … … 621 527 for i in [1:Nb+1] 622 528 529 "Js Factor" 530 Unity(i).Shell.HeatTransfer.Js = HE.JsFactor(Unity(i).Shell.HeatTransfer.Re,Unity(i).Baffles.Lsi,Unity(i).Baffles.Lso,Unity(i).Baffles.Ls); 531 532 "Position for discretization" 533 Sumary.Lpos(i) = sum(Sumary.Lz([1:i])); 534 535 "Ji Factor" 536 Unity(i).Shell.HeatTransfer.Ji = HE.JiFactor(Unity(i).Shell.HeatTransfer.Re); 537 538 "Jc Factor" 539 Unity(i).Shell.HeatTransfer.Jc = HE.JcFactor(); 540 541 "Jl Factor" 542 Unity(i).Shell.HeatTransfer.Jl = HE.JlFactor(Unity(i).Shell.HeatTransfer.Sm); 543 544 "Jb Factor" 545 Unity(i).Shell.HeatTransfer.Jb = HE.JbFactor(Unity(i).Shell.HeatTransfer.Re,Unity(i).Baffles.Ls,Unity(i).Shell.HeatTransfer.Sm); 546 547 "Jr Factor" 548 Unity(i).Shell.HeatTransfer.Jr = HE.JrFactor(Unity(i).Shell.HeatTransfer.Re); 549 550 "Total J Factor" 551 Unity(i).Shell.HeatTransfer.Jtotal = Unity(i).Shell.HeatTransfer.Jc*Unity(i).Shell.HeatTransfer.Jl*Unity(i).Shell.HeatTransfer.Jb*Unity(i).Shell.HeatTransfer.Jr*Unity(i).Shell.HeatTransfer.Js; 552 623 553 if side equal 1 624 554 625 then 626 "Pressure Drop Hot Stream" 627 Unity(i).Outlet.Hot.P = Unity(i).Inlet.Hot.P - Unity(i).Shell.PressureDrop.Pdtotal; 628 629 "Pressure Drop Cold Stream" 630 Unity(i).Outlet.Cold.P = Unity(i).Inlet.Cold.P - Unity(i).Tubes.PressureDrop.Pdtotal; 631 555 then 556 632 557 "Shell Side Reynolds Number" 633 Unity(i).Shell.HeatTransfer.Re =(Dotube*Unity(i).Properties.Hot.Inlet.Fw/Unity(i).Shell.HeatTransfer.Sm)/Unity(i).Properties.Hot.Average.Mu;558 Unity(i).Shell.HeatTransfer.Re = HE.ShellReynoldsNumber(Unity(i).Properties.Hot.Inlet.Fw,Unity(i).Shell.HeatTransfer.Sm,Unity(i).Properties.Hot.Average.Mu); 634 559 635 560 "Shell Heat Transfer Coefficient" 636 Unity(i).Shell.HeatTransfer.hshell =Unity(i).Shell.HeatTransfer.Ji*(Unity(i).Properties.Hot.Average.Cp/Unity(i).Properties.Hot.Average.Mw)*(Unity(i).Properties.Hot.Inlet.Fw/Unity(i).Shell.HeatTransfer.Sm)*(Unity(i).Shell.HeatTransfer.PR^(-2/3))*Unity(i).Shell.HeatTransfer.Jtotal*Unity(i).Shell.HeatTransfer.Phi; 637 561 Unity(i).Shell.HeatTransfer.hshell = HE.ShellFilmCoeff(Unity(i).Shell.HeatTransfer.Ji,Unity(i).Properties.Hot.Average.Cp,Unity(i).Properties.Hot.Average.Mw,Unity(i).Properties.Hot.Inlet.Fw,Unity(i).Shell.HeatTransfer.Sm,Unity(i).Shell.HeatTransfer.PR,Unity(i).Shell.HeatTransfer.Jtotal,Unity(i).Shell.HeatTransfer.Phi); 562 563 "Shell Pressure Drop Cross Flow" 564 Unity(i).Shell.PressureDrop.PdCross = HE.DeltaPcrossIncremental(Unity(i).Shell.HeatTransfer.Re,Unity(i).Baffles.Ls,Unity(i).Baffles.Lso,Unity(i).Baffles.Lsi,Unity(i).Properties.Hot.Inlet.Fw,Unity(i).Shell.HeatTransfer.Phi,Unity(i).Properties.Hot.Average.rho); 638 565 639 566 "Shell Pressure Baffle Window" 640 Unity(i).Shell.PressureDrop.Pdwindow = HE.DeltaPwindowIncremental(Unity(i).Properties.Hot.Inlet.Fw,Unity(i).Shell.HeatTransfer.Sm,Unity(i).Properties.Hot.Average.rho,Unity(i).Properties.Hot.Average.Mu,Unity(i).Baffles.Ls); 641 642 "Hot Wall Temperature" 643 Unity(i).Properties.Hot.Wall.Twall = (Unity(i).Properties.Hot.Average.T+Unity(i).Properties.Cold.Average.T)/2; 644 645 "Cold Wall Temperature" 646 Unity(i).Properties.Cold.Wall.Twall = (Unity(i).Properties.Hot.Average.T+Unity(i).Properties.Cold.Average.T)/2; 567 Unity(i).Shell.PressureDrop.Pdwindow = HE.DeltaPwindowIncremental(Unity(i).Properties.Hot.Inlet.Fw,Unity(i).Shell.HeatTransfer.Sm,Unity(i).Properties.Hot.Average.rho,Unity(i).Properties.Hot.Average.Mu,Unity(i).Baffles.Ls); 568 569 "Shell Pressure End Zones" 570 Unity(i).Shell.PressureDrop.PdEndZones = HE.DeltaPendZonesIncremental(Unity(i).Shell.HeatTransfer.Re,Unity(i).Baffles.Ls,Unity(i).Baffles.Lso,Unity(i).Baffles.Lsi,Unity(i).Properties.Hot.Inlet.Fw,Unity(i).Shell.HeatTransfer.Phi,Unity(i).Properties.Hot.Average.rho); 571 572 # Tubes.HeatTransfer.Twall = HE.WallTemperature(Properties.Hot.Average.T,Properties.Cold.Average.T,Tubes.HeatTransfer.htube,Shell.HeatTransfer.hshell); 573 574 "Wall Temperature for Cold Side" 575 Unity(i).Properties.Cold.Wall.Twall = (Unity(i).Properties.Hot.Average.T+Unity(i).Properties.Cold.Average.T)/2; 576 577 "Wall Temperature for Hot Side" 578 Unity(i).Properties.Hot.Wall.Twall = (Unity(i).Properties.Hot.Average.T+Unity(i).Properties.Cold.Average.T)/2; 647 579 648 580 "Tube Side Velocity" 649 Unity(i).Tubes.HeatTransfer.Vtube = Unity(i).Properties.Cold.Inlet.Fw*Tpass/((Pi*Ditube*Ditube/4)*Unity(i).Properties.Cold.Average.rho*Ntt);581 Unity(i).Tubes.HeatTransfer.Vtube = HE.TubeVelocity(Unity(i).Properties.Cold.Inlet.Fw,Unity(i).Properties.Cold.Average.rho); 650 582 651 583 "Tube Side Reynolds Number" 652 Unity(i).Tubes.HeatTransfer.Re = (Unity(i).Properties.Cold.Average.rho*Unity(i).Tubes.HeatTransfer.Vtube*Ditube)/Unity(i).Properties.Cold.Average.Mu;584 Unity(i).Tubes.HeatTransfer.Re = HE.TubeReynoldsNumber(Unity(i).Properties.Cold.Average.rho,Unity(i).Tubes.HeatTransfer.Vtube,Unity(i).Properties.Cold.Average.Mu); 653 585 654 586 "Tube Side Prandtl Number" 655 Unity(i).Tubes.HeatTransfer.PR = ((Unity(i).Properties.Cold.Average.Cp/Unity(i).Properties.Cold.Average.Mw)*Unity(i).Properties.Cold.Average.Mu)/Unity(i).Properties.Cold.Average.K;587 Unity(i).Tubes.HeatTransfer.PR = HE.PrandtlNumber(Unity(i).Properties.Cold.Average.K,Unity(i).Properties.Cold.Average.Cp,Unity(i).Properties.Cold.Average.Mw,Unity(i).Properties.Cold.Average.Mu); 656 588 657 589 "Tube Side Prandtl Number at Wall" 658 Unity(i).Tubes.HeatTransfer.PRw = ((Unity(i).Properties.Cold.Wall.Cp/Unity(i).Properties.Cold.Average.Mw)*Unity(i).Properties.Cold.Wall.Mu)/Unity(i).Properties.Cold.Wall.K;590 Unity(i).Tubes.HeatTransfer.PRw = HE.PrandtlNumber(Unity(i).Properties.Cold.Wall.K,Unity(i).Properties.Cold.Wall.Cp,Unity(i).Properties.Cold.Average.Mw,Unity(i).Properties.Cold.Wall.Mu); 659 591 660 592 "Tube Side Film Coefficient" 661 Unity(i).Tubes.HeatTransfer.htube = HE.TubeFilmCoeffIncremental(Unity(i).Tubes.HeatTransfer.Re,Unity(i).Tubes.HeatTransfer.PR,Unity(i).Properties.Cold.Average.K,Sumary.Lz(i))*Unity(i).Tubes.HeatTransfer.Phi; 593 Unity(i).Tubes.HeatTransfer.htube = HE.TubeFilmCoeffIncremental(Unity(i).Tubes.HeatTransfer.Re,Unity(i).Tubes.HeatTransfer.PR,Unity(i).Properties.Cold.Average.K, 594 Unity(i).Tubes.HeatTransfer.Phi,Sumary.Lpos(i)); 662 595 663 596 "Shell Side Prandtl Number" 664 Unity(i).Shell.HeatTransfer.PR = ((Unity(i).Properties.Hot.Average.Cp/Unity(i).Properties.Hot.Average.Mw)*Unity(i).Properties.Hot.Average.Mu)/Unity(i).Properties.Hot.Average.K;597 Unity(i).Shell.HeatTransfer.PR = HE.PrandtlNumber(Unity(i).Properties.Hot.Average.K,Unity(i).Properties.Hot.Average.Cp,Unity(i).Properties.Hot.Average.Mw,Unity(i).Properties.Hot.Average.Mu); 665 598 666 599 "Shell Side Prandtl Number at Wall" 667 Unity(i).Shell.HeatTransfer.PRw = ((Unity(i).Properties.Hot.Wall.Cp/Unity(i).Properties.Hot.Average.Mw)*Unity(i).Properties.Hot.Wall.Mu)/Unity(i).Properties.Hot.Wall.K;600 Unity(i).Shell.HeatTransfer.PRw = HE.PrandtlNumber(Unity(i).Properties.Hot.Wall.K,Unity(i).Properties.Hot.Wall.Cp,Unity(i).Properties.Hot.Average.Mw,Unity(i).Properties.Hot.Wall.Mu); 668 601 669 602 "Tube Side Pressure Drop" 670 Unity(i).Tubes.PressureDrop.PdTube = HE.DeltaPtubeIncremental(Unity(i).Tubes.HeatTransfer.Re,Unity(i).Properties.Cold.Average.rho,Unity(i).Tubes.HeatTransfer.Vtube,603 Unity(i).Tubes.PressureDrop.PdTube = HE.DeltaPtubeIncremental(Unity(i).Tubes.HeatTransfer.Re,Unity(i).Properties.Cold.Average.rho,Unity(i).Tubes.HeatTransfer.Vtube, 671 604 Unity(i).Tubes.HeatTransfer.Phi,Sumary.Lz(i)); 672 605 673 606 "Shell Side Phi correction for viscosity" 674 Unity(i).Shell.HeatTransfer.Phi = HE.PhiCorrection(Unity(i).Properties.Hot.Average.Mu,Unity(i).Properties.Hot.Wall.Mu);607 Unity(i).Shell.HeatTransfer.Phi = HE.PhiCorrection(Unity(i).Properties.Hot.Average.Mu,Unity(i).Properties.Hot.Wall.Mu); 675 608 676 609 "Tube Side Phi correction for viscosity" 677 Unity(i).Tubes.HeatTransfer.Phi = HE.PhiCorrection(Unity(i).Properties.Cold.Average.Mu,Unity(i).Properties.Cold.Wall.Mu);610 Unity(i).Tubes.HeatTransfer.Phi = HE.PhiCorrection(Unity(i).Properties.Cold.Average.Mu,Unity(i).Properties.Cold.Wall.Mu); 678 611 679 612 else 680 681 "Pressure Drop Hot Stream"682 Unity(i).Outlet.Hot.P = Unity(i).Inlet.Hot.P- Unity(i).Tubes.PressureDrop.Pdtotal;683 684 "Pressure Drop Cold Stream"685 Unity(i).Outlet.Cold.P = Unity(i).Inlet.Cold.P - Unity(i).Shell.PressureDrop.Pdtotal;686 613 687 614 "Shell Side Reynolds Number" 688 Unity(i).Shell.HeatTransfer.Re =(Dotube*Unity(i).Properties.Cold.Inlet.Fw/Unity(i).Shell.HeatTransfer.Sm)/Unity(i).Properties.Cold.Average.Mu;615 Unity(i).Shell.HeatTransfer.Re = HE.ShellReynoldsNumber(Unity(i).Properties.Cold.Inlet.Fw,Unity(i).Shell.HeatTransfer.Sm,Unity(i).Properties.Cold.Average.Mu); 689 616 690 617 "Shell Heat Transfer Coefficient" 691 Unity(i).Shell.HeatTransfer.hshell =Unity(i).Shell.HeatTransfer.Ji*(Unity(i).Properties.Cold.Average.Cp/Unity(i).Properties.Cold.Average.Mw)* 692 (Unity(i).Properties.Cold.Inlet.Fw/Unity(i).Shell.HeatTransfer.Sm)*(Unity(i).Shell.HeatTransfer.PR^(-2/3))*Unity(i).Shell.HeatTransfer.Jtotal*Unity(i).Shell.HeatTransfer.Phi; 693 618 Unity(i).Shell.HeatTransfer.hshell = HE.ShellFilmCoeff(Unity(i).Shell.HeatTransfer.Ji,Unity(i).Properties.Cold.Average.Cp,Unity(i).Properties.Cold.Average.Mw,Unity(i).Properties.Cold.Inlet.Fw,Unity(i).Shell.HeatTransfer.Sm,Unity(i).Shell.HeatTransfer.PR,Unity(i).Shell.HeatTransfer.Jtotal,Unity(i).Shell.HeatTransfer.Phi); 619 620 "Shell Pressure Drop Cross Flow" 621 Unity(i).Shell.PressureDrop.PdCross = HE.DeltaPcrossIncremental(Unity(i).Shell.HeatTransfer.Re,Unity(i).Baffles.Ls,Unity(i).Baffles.Lso,Unity(i).Baffles.Lsi,Unity(i).Properties.Cold.Inlet.Fw,Unity(i).Shell.HeatTransfer.Phi,Unity(i).Properties.Cold.Average.rho); 694 622 695 623 "Shell Pressure Baffle Window" 696 Unity(i).Shell.PressureDrop.Pdwindow = HE.DeltaPwindowIncremental(Unity(i).Properties.Cold.Inlet.Fw,Unity(i).Shell.HeatTransfer.Sm,Unity(i).Properties.Cold.Average.rho,Unity(i).Properties.Cold.Average.Mu,Unity(i).Baffles.Ls); 697 698 "Hot Wall Temperature" 699 Unity(i).Properties.Hot.Wall.Twall = (Unity(i).Properties.Hot.Average.T+Unity(i).Properties.Cold.Average.T)/2; 700 701 "Cold Wall Temperature" 702 Unity(i).Properties.Cold.Wall.Twall = (Unity(i).Properties.Hot.Average.T+Unity(i).Properties.Cold.Average.T)/2; 624 Unity(i).Shell.PressureDrop.Pdwindow = HE.DeltaPwindowIncremental(Unity(i).Properties.Cold.Inlet.Fw,Unity(i).Shell.HeatTransfer.Sm,Unity(i).Properties.Cold.Average.rho,Unity(i).Properties.Cold.Average.Mu,Unity(i).Baffles.Ls); 625 626 "Shell Pressure End Zones" 627 Unity(i).Shell.PressureDrop.PdEndZones = HE.DeltaPendZonesIncremental(Unity(i).Shell.HeatTransfer.Re,Unity(i).Baffles.Ls,Unity(i).Baffles.Lso,Unity(i).Baffles.Lsi,Unity(i).Properties.Cold.Inlet.Fw,Unity(i).Shell.HeatTransfer.Phi,Unity(i).Properties.Cold.Average.rho); 628 629 # Tubes.HeatTransfer.Twall = HE.WallTemperature(Properties.Cold.Average.T,Properties.Hot.Average.T,Tubes.HeatTransfer.htube,Shell.HeatTransfer.hshell); 630 631 "Wall Temperature for Cold Side" 632 Unity(i).Properties.Cold.Wall.Twall = (Unity(i).Properties.Hot.Average.T+Unity(i).Properties.Cold.Average.T)/2; 633 634 "Wall Temperature for Hot Side" 635 Unity(i).Properties.Hot.Wall.Twall = (Unity(i).Properties.Hot.Average.T+Unity(i).Properties.Cold.Average.T)/2; 703 636 704 637 "Tube Side Velocity" 705 Unity(i).Tubes.HeatTransfer.Vtube = Unity(i).Properties.Hot.Inlet.Fw*Tpass/((Pi*Ditube*Ditube/4)*Unity(i).Properties.Hot.Average.rho*Ntt);638 Unity(i).Tubes.HeatTransfer.Vtube = HE.TubeVelocity(Unity(i).Properties.Hot.Inlet.Fw,Unity(i).Properties.Hot.Average.rho); 706 639 707 640 "Tube Side Reynolds Number" 708 Unity(i).Tubes.HeatTransfer.Re = (Unity(i).Properties.Hot.Average.rho*Unity(i).Tubes.HeatTransfer.Vtube*Ditube)/Unity(i).Properties.Hot.Average.Mu;641 Unity(i).Tubes.HeatTransfer.Re = HE.TubeReynoldsNumber(Unity(i).Properties.Hot.Average.rho,Unity(i).Tubes.HeatTransfer.Vtube,Unity(i).Properties.Hot.Average.Mu); 709 642 710 643 "Tube Side Prandtl Number" 711 Unity(i).Tubes.HeatTransfer.PR = ((Unity(i).Properties.Hot.Average.Cp/Unity(i).Properties.Hot.Average.Mw)*Unity(i).Properties.Hot.Average.Mu)/Unity(i).Properties.Hot.Average.K;712 644 Unity(i).Tubes.HeatTransfer.PR = HE.PrandtlNumber(Unity(i).Properties.Hot.Average.K,Unity(i).Properties.Hot.Average.Cp,Unity(i).Properties.Hot.Average.Mw,Unity(i).Properties.Hot.Average.Mu); 645 713 646 "Tube Side Prandtl Number at Wall" 714 Unity(i).Tubes.HeatTransfer.PRw = ((Unity(i).Properties.Hot.Wall.Cp/Unity(i).Properties.Hot.Average.Mw)*Unity(i).Properties.Hot.Wall.Mu)/Unity(i).Properties.Hot.Wall.K;715 647 Unity(i).Tubes.HeatTransfer.PRw = HE.PrandtlNumber(Unity(i).Properties.Hot.Wall.K,Unity(i).Properties.Hot.Wall.Cp,Unity(i).Properties.Hot.Average.Mw,Unity(i).Properties.Hot.Wall.Mu); 648 716 649 "Tube Side Film Coefficient" 717 Unity(i).Tubes.HeatTransfer.htube = HE.TubeFilmCoeffIncremental(Unity(i).Tubes.HeatTransfer.Re,Unity(i).Tubes.HeatTransfer.PR,Unity(i).Properties.Hot.Average.K,Sumary.Lz(i))*Unity(i).Tubes.HeatTransfer.Phi; 650 Unity(i).Tubes.HeatTransfer.htube = HE.TubeFilmCoeffIncremental(Unity(i).Tubes.HeatTransfer.Re,Unity(i).Tubes.HeatTransfer.PR,Unity(i).Properties.Hot.Average.K, 651 Unity(i).Tubes.HeatTransfer.Phi,Sumary.Lpos(i)); 718 652 719 653 "Shell Side Prandtl Number" 720 Unity(i).Shell.HeatTransfer.PR = ((Unity(i).Properties.Cold.Average.Cp/Unity(i).Properties.Cold.Average.Mw)*Unity(i).Properties.Cold.Average.Mu)/Unity(i).Properties.Cold.Average.K;654 Unity(i).Shell.HeatTransfer.PR = HE.PrandtlNumber(Unity(i).Properties.Cold.Average.K,Unity(i).Properties.Cold.Average.Cp,Unity(i).Properties.Cold.Average.Mw,Unity(i).Properties.Cold.Average.Mu); 721 655 722 656 "Shell Side Prandtl Number at Wall" 723 Unity(i).Shell.HeatTransfer.PRw = ((Unity(i).Properties.Cold.Wall.Cp/Unity(i).Properties.Cold.Average.Mw)*Unity(i).Properties.Cold.Wall.Mu)/Unity(i).Properties.Cold.Wall.K; 657 Unity(i).Shell.HeatTransfer.PRw = HE.PrandtlNumber(Unity(i).Properties.Cold.Wall.K,Unity(i).Properties.Cold.Wall.Cp,Unity(i).Properties.Cold.Average.Mw,Unity(i).Properties.Cold.Wall.Mu); 658 724 659 725 660 "Tube Side Pressure Drop" 726 Unity(i).Tubes.PressureDrop.PdTube = 661 Unity(i).Tubes.PressureDrop.PdTube = HE.DeltaPtubeIncremental(Unity(i).Tubes.HeatTransfer.Re,Unity(i).Properties.Hot.Average.rho,Unity(i).Tubes.HeatTransfer.Vtube, 727 662 Unity(i).Tubes.HeatTransfer.Phi,Sumary.Lz(i)); 728 663 … … 754 689 755 690 756 "Js Factor" 757 Unity(i).Shell.HeatTransfer.Js = 1; 758 759 "Ji Factor" 760 Unity(i).Shell.HeatTransfer.Ji = HE.JiFactor(Unity(i).Shell.HeatTransfer.Re); 761 762 "Jc Factor" 763 Unity(i).Shell.HeatTransfer.Jc = HE.JcFactor(); 764 765 "Jl Factor" 766 Unity(i).Shell.HeatTransfer.Jl = HE.JlFactor(Unity(i).Shell.HeatTransfer.Sm); 767 768 "Jb Factor" 769 Unity(i).Shell.HeatTransfer.Jb = HE.JbFactor(Unity(i).Shell.HeatTransfer.Re,Unity(i).Baffles.Ls,Unity(i).Shell.HeatTransfer.Sm); 770 771 "Jr Factor" 772 Unity(i).Shell.HeatTransfer.Jr = HE.JrFactor(Unity(i).Shell.HeatTransfer.Re); 773 774 "Total J Factor" 775 Unity(i).Shell.HeatTransfer.Jtotal = Unity(i).Shell.HeatTransfer.Jc*Unity(i).Shell.HeatTransfer.Jl*Unity(i).Shell.HeatTransfer.Jb*Unity(i).Shell.HeatTransfer.Jr*Unity(i).Shell.HeatTransfer.Js; 776 end 777 778 779 "Velocity Tube Side Inlet Nozzle" 780 Unity(Nb+1).Tubes.PressureDrop.Vnozzle_in = 0; 781 782 "Velocity Tube Side Outlet Nozzle" 783 Unity(1).Tubes.PressureDrop.Vnozzle_out = 0; 784 785 "Tube Pressure Drop Inlet Nozzle" 786 Unity(Nb+1).Tubes.PressureDrop.Pdnozzle_in = 0; 787 788 "Tube Pressure Drop Outlet Nozzle" 789 Unity(1).Tubes.PressureDrop.Pdnozzle_out = 0; 790 791 "Velocity Shell Side Inlet Nozzle" 792 Unity(Nb+1).Shell.PressureDrop.Vnozzle_in = 0; 793 794 "Velocity Shell Side Outlet Nozzle" 795 Unity(1).Shell.PressureDrop.Vnozzle_out = 0; 796 797 "Shell Pressure Drop Inlet Nozzle" 798 Unity(Nb+1).Shell.PressureDrop.Pdnozzle_in = 0; 799 800 "Shell Pressure Drop Outlet Nozzle" 801 Unity(1).Shell.PressureDrop.Pdnozzle_out = 0; 802 803 "Shell Cross Flow Pressure Drop" 804 Unity(1).Shell.PressureDrop.PdCross = 0; 805 806 "Shell Cross Flow Pressure Drop" 807 Unity(Nb+1).Shell.PressureDrop.PdCross = 0; 808 809 "Shell Side Outlet Nozzle rho-V^2" 810 Unity(1).Shell.PressureDrop.RVsquare_out = 0; 811 812 "Shell Side inlet Nozzle rho-V^2" 813 Unity(Nb+1).Shell.PressureDrop.RVsquare_in = 0; 691 end 814 692 815 693 SET 816 # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#817 # Set Parameters for heatex Calculation818 # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#694 #===================================================================== 695 # Set Parameters for External Object Calculation - HE 696 #===================================================================== 819 697 Sumary.Zones = Nb+1; 820 698 Pi = 3.14159265; … … 841 719 end 842 720 843 Model E_Shell_ LMTD_Disc844 # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#845 # Shell and Tubes Heat Exchanger with 1 shell pass - LMTD Method846 # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#721 Model E_Shell_NTU_Disc 722 #============================================================================ 723 # Shell and Tubes Heat Exchanger In Series with 1 shell pass - LMTD Method 724 #============================================================================ 847 725 PARAMETERS 848 726 849 HE as CalcObject (Brief="STHE Calculations",File="heatex");850 ext PP as CalcObject (Brief="External Physical Properties");727 ext HE as CalcObject (Brief="STHE Calculations",File="heatex.dll"); 728 ext PP as CalcObject; 851 729 side as Integer (Brief="Fluid Alocation",Lower=0,Upper=1); 852 Pi as constant (Brief="Pi Number",Default=3.14159265);853 854 # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#730 Pi as constant (Brief="Pi Number",Default=3.14159265); 731 732 #===================================================================== 855 733 # Shell Geometrical Parameters 856 # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#734 #===================================================================== 857 735 Tpass as Integer (Brief="Number of Tube Passes",Lower=1); 858 736 Nss as Integer (Brief="Number of Sealing Strips pairs",Lower=1); … … 863 741 Honozzle_Shell as length (Brief="Height Under Shell Outlet Nozzle",Lower=10e-6); 864 742 Lcf as length (Brief="Bundle-to-Shell Clearance",Lower=10e-8); 865 # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#743 #===================================================================== 866 744 # Tubes Geometrical Parameters 867 # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#745 #===================================================================== 868 746 Ntt as Integer (Brief="Total Number of Tubes in Shell",Default=100,Lower=1); 869 747 Pattern as Integer (Brief="Tube Layout Characteristic Angle",Lower=30); … … 875 753 Donozzle_Tube as length (Brief="Tube Outlet Nozzle Diameter",Lower=10e-6); 876 754 Dinozzle_Tube as length (Brief="Tube Inlett Nozzle Diameter",Lower=10e-6); 877 # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#755 #===================================================================== 878 756 # Baffles Geometrical Parameters 879 # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#757 #===================================================================== 880 758 Bc as Integer (Brief="Baffle Cut",Default=25,Lower=25); 881 759 Nb as Integer (Brief="Number of Baffles",Default=4); 882 760 Lcd as length (Brief="Baffle-to-Shell Clearance",Lower=10e-8); 883 761 Ltd as length (Brief="Tube-to-Bafflehole Clearance",Lower=10e-8); 884 # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#762 #===================================================================== 885 763 VARIABLES 886 764 887 Unity(Nb+1) as Heatex_Discretized_LMTD; 765 PdropNozzles as Pdrop_Nozzles_Main; 766 Unity(Nb+1) as Heatex_Discretized_NTU; 888 767 Sumary as Profiles; 889 768 890 769 CONNECTIONS 891 770 892 Unity([1:Nb]).Outlet.Hot 771 Unity([1:Nb]).Outlet.Hot to Unity([2:Nb+1]).Inlet.Hot; 893 772 Unity([2:Nb+1]).Outlet.Cold to Unity([1:Nb]).Inlet.Cold; 894 773 895 774 EQUATIONS 896 775 897 "Hot Temperatures" 898 Sumary.Thot = Unity.Outlet.Hot.T; 899 900 "Cold Temperatures" 901 Sumary.Tcold = Unity.Outlet.Cold.T ; 902 903 "Hot Pressures" 904 Sumary.Phot = Unity.Outlet.Hot.P ; 905 906 "Cold Pressures" 907 Sumary.Pcold = Unity.Outlet.Cold.P ; 908 909 "Average Shell Side Film Coefficient" 910 Sumary.hshellaverage = sum(Unity.Shell.HeatTransfer.hshell)/Sumary.Zones; 911 912 "Average Tube Side Film Coefficient" 913 Sumary.htubeaverage = sum(Unity.Tubes.HeatTransfer.htube)/Sumary.Zones; 914 915 "Average Overall Heat Transfer Coefficient" 916 Sumary.Uaverage = sum(Unity.Details.U)/Sumary.Zones; 917 918 "Area Total" 919 Sumary.Area = sum(Unity.Details.A); 920 921 "Duty Total" 922 Sumary.Q = sum(Unity.Details.Q); 923 924 "Length Inlet zone" 925 Sumary.Lz(1) = Unity(1).Baffles.Lsi; 926 927 "Length Outlet zone" 928 Sumary.Lz(Nb+1) = Unity(1).Baffles.Lso; 929 930 "Total Shell Side Pressure Drop" 931 Sumary.PdropShell = sum(Unity.Shell.PressureDrop.Pdtotal); 932 933 "Total Tube Side Pressure Drop" 934 Sumary.PdropTubes = sum(Unity.Tubes.PressureDrop.Pdtotal); 935 936 "Total Tube Side Nozzles Pressure Drop" 937 Sumary.PdropTubesNozzle = sum(Unity.Tubes.PressureDrop.Pdnozzle_in + Unity.Tubes.PressureDrop.Pdnozzle_out); 938 939 "Total Shell Side Nozzles Pressure Drop" 940 Sumary.PdropShellNozzle = sum(Unity.Shell.PressureDrop.Pdnozzle_in + Unity.Shell.PressureDrop.Pdnozzle_out); 941 942 "Total Shell Side Window Pressure Drop" 943 Sumary.PdropWin = sum(Unity.Shell.PressureDrop.Pdwindow); 944 945 "Total Shell Side Cross Flow Pressure Drop" 946 Sumary.PdropCross = sum(Unity.Shell.PressureDrop.PdCross); 947 948 "Total Shell Side Ends Pressure Drop" 949 Sumary.PdropEnds = sum(Unity.Shell.PressureDrop.PdEndZones); 776 Sumary.Thot = Unity.Outlet.Hot.T ; 777 Sumary.Tcold = Unity.Outlet.Cold.T ; 778 Sumary.Phot = Unity.Outlet.Hot.P ; 779 Sumary.Pcold = Unity.Outlet.Cold.P ; 780 781 Sumary.hshellaverage = sum(Unity.Shell.HeatTransfer.hshell)/Sumary.Zones; 782 Sumary.htubeaverage = sum(Unity.Tubes.HeatTransfer.htube)/Sumary.Zones; 783 Sumary.Uaverage = sum(Unity.Details.U)/Sumary.Zones; 784 Sumary.Area = sum(Unity.Details.A); 785 Sumary.Q = sum(Unity.Details.Q); 786 Sumary.Lz(1) = Unity(1).Baffles.Lsi; 787 Sumary.Lz(Nb+1) = Unity(1).Baffles.Lso; 788 Sumary.PdropShellTotal = sum(Unity.Shell.PressureDrop.Pdtotal)+PdropNozzles.Shell.Pdnozzle_in + PdropNozzles.Shell.Pdnozzle_out; 789 Sumary.PdropTubesTotal = sum(Unity.Tubes.PressureDrop.Pdtotal)+PdropNozzles.Tubes.Pdnozzle_in + PdropNozzles.Tubes.Pdnozzle_out; 790 Sumary.PdropWinTotal = sum(Unity.Shell.PressureDrop.Pdwindow); 791 Sumary.PdropCrossTotal = sum(Unity.Shell.PressureDrop.PdCross); 792 Sumary.PdropEndsTotal = sum(Unity.Shell.PressureDrop.PdEndZones); 950 793 951 794 "Shell Side Cross Flow Area" … … 955 798 Unity(Nb+1).Shell.HeatTransfer.Sm = HE.CrossFlowArea(Unity(Nb+1).Baffles.Lso); 956 799 957 "LMTD Correction Factor"958 Unity.Fc = HE.EshellCorrectionFactor(Unity(1).Inlet.Hot.T,Unity(Nb+1).Outlet.Hot.T,Unity(Nb+1).Inlet.Cold.T,Unity(1).Outlet.Cold.T);959 800 960 801 if side equal 1 961 802 962 803 then 963 964 "Shell Side inlet Nozzle rho-V^2" 965 Unity(1).Shell.PressureDrop.RVsquare_in = Unity(1).Properties.Hot.Inlet.rho*(Unity(1).Shell.PressureDrop.Vnozzle_in)^2; 966 967 "Shell Side Outlet Nozzle rho-V^2" 968 Unity(Nb+1).Shell.PressureDrop.RVsquare_out = Unity(Nb+1).Properties.Hot.Outlet.rho*(Unity(Nb+1).Shell.PressureDrop.Vnozzle_out)^2; 969 970 "Shell Pressure End Zones" 971 Unity(1).Shell.PressureDrop.PdEndZones = HE.DeltaPendZonesIncremental(Unity(1).Shell.HeatTransfer.Re,Unity(1).Baffles.Ls,Unity(1).Baffles.Lso, 972 Unity(1).Baffles.Lsi,Unity(1).Properties.Hot.Inlet.Fw,Unity(1).Shell.HeatTransfer.Phi,Unity(1).Properties.Hot.Average.rho); 973 974 "Shell Pressure End Zones" 975 Unity(Nb+1).Shell.PressureDrop.PdEndZones = HE.DeltaPendZonesIncremental(Unity(Nb+1).Shell.HeatTransfer.Re,Unity(Nb+1).Baffles.Ls,Unity(Nb+1).Baffles.Lso, 976 Unity(Nb+1).Baffles.Lsi,Unity(Nb+1).Properties.Hot.Inlet.Fw,Unity(Nb+1).Shell.HeatTransfer.Phi,Unity(Nb+1).Properties.Hot.Average.rho); 977 804 978 805 "Pressure Drop Tube Side Inlet Nozzle" 979 Unity(1).Tubes.PressureDrop.Pdnozzle_in = HE.DeltaPtubeNozzlein(Unity(1).Properties.Cold.Inlet.rho,Unity(1).Properties.Cold.Inlet.Fw);806 PdropNozzles.Tubes.Pdnozzle_in = HE.DeltaPtubeNozzlein(Unity(1).Properties.Cold.Inlet.rho,Unity(1).Properties.Cold.Inlet.Fw); 980 807 981 808 "Velocity Tube Side Inlet Nozzle" 982 Unity(1).Tubes.PressureDrop.Vnozzle_in = HE.TubeVelocityNozzlein(Unity(1).Properties.Cold.Inlet.rho,Unity(1).Properties.Cold.Inlet.Fw);809 PdropNozzles.Tubes.Vnozzle_in = HE.TubeVelocityNozzlein(Unity(1).Properties.Cold.Inlet.rho,Unity(1).Properties.Cold.Inlet.Fw); 983 810 984 811 "Pressure Drop Tube Side Outlet Nozzle" 985 Unity(Nb+1).Tubes.PressureDrop.Pdnozzle_out = HE.DeltaPtubeNozzleout(Unity(Nb+1).Properties.Cold.Outlet.rho,Unity(Nb+1).Properties.Cold.Inlet.Fw);812 PdropNozzles.Tubes.Pdnozzle_out = HE.DeltaPtubeNozzleout(Unity(Nb+1).Properties.Cold.Outlet.rho,Unity(Nb+1).Properties.Cold.Inlet.Fw); 986 813 987 814 "Velocity Tube Side Outlet Nozzle" 988 Unity(Nb+1).Tubes.PressureDrop.Vnozzle_out = HE.TubeVelocityNozzleout(Unity(Nb+1).Properties.Cold.Outlet.rho,Unity(Nb+1).Properties.Cold.Inlet.Fw);815 PdropNozzles.Tubes.Vnozzle_out = HE.TubeVelocityNozzleout(Unity(Nb+1).Properties.Cold.Outlet.rho,Unity(Nb+1).Properties.Cold.Inlet.Fw); 989 816 990 817 "Shell Pressure Drop Inlet Nozzle" 991 Unity(1).Shell.PressureDrop.Pdnozzle_in = HE.DeltaPshellNozzleIn(Unity(1).Properties.Hot.Inlet.rho,Unity(1).Properties.Hot.Inlet.Fw);818 PdropNozzles.Shell.Pdnozzle_in = HE.DeltaPshellNozzleIn(Unity(1).Properties.Hot.Inlet.rho,Unity(1).Properties.Hot.Inlet.Fw); 992 819 993 820 "Velocity Shell Side Inlet Nozzle" 994 Unity(1).Shell.PressureDrop.Vnozzle_in = HE.ShellVelocityNozzleIn(Unity(1).Properties.Hot.Inlet.rho,Unity(1).Properties.Hot.Inlet.Fw);821 PdropNozzles.Shell.Vnozzle_in = HE.ShellVelocityNozzleIn(Unity(1).Properties.Hot.Inlet.rho,Unity(1).Properties.Hot.Inlet.Fw); 995 822 996 823 "Shell Pressure Drop Outlet Nozzle" 997 Unity(Nb+1).Shell.PressureDrop.Pdnozzle_out =HE.DeltaPshellNozzleOut(Unity(Nb+1).Properties.Hot.Outlet.rho,Unity(Nb+1).Properties.Hot.Inlet.Fw);824 PdropNozzles.Shell.Pdnozzle_out =HE.DeltaPshellNozzleOut(Unity(Nb+1).Properties.Hot.Outlet.rho,Unity(Nb+1).Properties.Hot.Inlet.Fw); 998 825 999 826 "Velocity Shell Side Outlet Nozzle" 1000 Unity(Nb+1).Shell.PressureDrop.Vnozzle_out =HE.ShellVelocityNozzleOut(Unity(Nb+1).Properties.Hot.Outlet.rho,Unity(Nb+1).Properties.Hot.Inlet.Fw); 1001 827 PdropNozzles.Shell.Vnozzle_out =HE.ShellVelocityNozzleOut(Unity(Nb+1).Properties.Hot.Outlet.rho,Unity(Nb+1).Properties.Hot.Inlet.Fw); 828 829 "Pressure Drop Hot Stream" 830 Unity(1).Outlet.Hot.P = Unity(1).Inlet.Hot.P - Unity(1).Shell.PressureDrop.Pdtotal - PdropNozzles.Shell.Pdnozzle_in; 831 Unity(Nb+1).Outlet.Hot.P = Unity(Nb+1).Inlet.Hot.P - Unity(Nb+1).Shell.PressureDrop.Pdtotal - PdropNozzles.Shell.Pdnozzle_out; 832 833 "Pressure Drop Cold Stream" 834 Unity(1).Outlet.Cold.P = Unity(1).Inlet.Cold.P - Unity(1).Tubes.PressureDrop.Pdtotal - PdropNozzles.Tubes.Pdnozzle_in; 835 Unity(Nb+1).Outlet.Cold.P = Unity(Nb+1).Inlet.Cold.P - Unity(Nb+1).Tubes.PressureDrop.Pdtotal - PdropNozzles.Tubes.Pdnozzle_out; 836 1002 837 1003 838 else 1004 839 1005 "Shell Side inlet Nozzle rho-V^2"1006 Unity(1).Shell.PressureDrop.RVsquare_in = Unity(1).Properties.Cold.Inlet.rho*(Unity(1).Shell.PressureDrop.Vnozzle_in)^2;1007 1008 "Shell Side Outlet Nozzle rho-V^2"1009 Unity(Nb+1).Shell.PressureDrop.RVsquare_out = Unity(Nb+1).Properties.Cold.Outlet.rho*(Unity(Nb+1).Shell.PressureDrop.Vnozzle_out)^2;1010 1011 "Shell Pressure End Zones"1012 Unity(1).Shell.PressureDrop.PdEndZones = HE.DeltaPendZonesIncremental(Unity(1).Shell.HeatTransfer.Re,Unity(1).Baffles.Ls,Unity(1).Baffles.Lso,1013 Unity(1).Baffles.Lsi,Unity(1).Properties.Cold.Inlet.Fw,Unity(1).Shell.HeatTransfer.Phi,Unity(1).Properties.Cold.Average.rho);1014 1015 "Shell Pressure End Zones"1016 Unity(Nb+1).Shell.PressureDrop.PdEndZones = HE.DeltaPendZonesIncremental(Unity(Nb+1).Shell.HeatTransfer.Re,Unity(Nb+1).Baffles.Ls,Unity(Nb+1).Baffles.Lso,1017 Unity(Nb+1).Baffles.Lsi,Unity(Nb+1).Properties.Cold.Inlet.Fw,Unity(Nb+1).Shell.HeatTransfer.Phi,Unity(Nb+1).Properties.Cold.Average.rho);1018 1019 1020 840 "Pressure Drop Tube Side Inlet Nozzle" 1021 Unity(1).Tubes.PressureDrop.Pdnozzle_in = HE.DeltaPtubeNozzlein(Unity(1).Properties.Hot.Inlet.rho,Unity(1).Properties.Hot.Inlet.Fw);841 PdropNozzles.Tubes.Pdnozzle_in = HE.DeltaPtubeNozzlein(Unity(1).Properties.Hot.Inlet.rho,Unity(1).Properties.Hot.Inlet.Fw); 1022 842 1023 843 "Velocity Tube Side Inlet Nozzle" 1024 Unity(1).Tubes.PressureDrop.Vnozzle_in = HE.TubeVelocityNozzlein(Unity(1).Properties.Hot.Inlet.rho,Unity(1).Properties.Hot.Inlet.Fw);844 PdropNozzles.Tubes.Vnozzle_in = HE.TubeVelocityNozzlein(Unity(1).Properties.Hot.Inlet.rho,Unity(1).Properties.Hot.Inlet.Fw); 1025 845 1026 846 "Pressure Drop Tube Side Outlet Nozzle" 1027 Unity(Nb+1).Tubes.PressureDrop.Pdnozzle_out = HE.DeltaPtubeNozzleout(Unity(Nb+1).Properties.Hot.Outlet.rho,Unity(Nb+1).Properties.Hot.Inlet.Fw);847 PdropNozzles.Tubes.Pdnozzle_out = HE.DeltaPtubeNozzleout(Unity(Nb+1).Properties.Hot.Outlet.rho,Unity(Nb+1).Properties.Hot.Inlet.Fw); 1028 848 1029 849 "Velocity Tube Side Outlet Nozzle" 1030 Unity(Nb+1).Tubes.PressureDrop.Vnozzle_out = HE.TubeVelocityNozzleout(Unity(Nb+1).Properties.Hot.Outlet.rho,Unity(Nb+1).Properties.Hot.Inlet.Fw);850 PdropNozzles.Tubes.Vnozzle_out = HE.TubeVelocityNozzleout(Unity(Nb+1).Properties.Hot.Outlet.rho,Unity(Nb+1).Properties.Hot.Inlet.Fw); 1031 851 1032 852 "Shell Pressure Drop Inlet Nozzle" 1033 Unity(1).Shell.PressureDrop.Pdnozzle_in = HE.DeltaPshellNozzleIn(Unity(1).Properties.Cold.Inlet.rho,Unity(1).Properties.Cold.Inlet.Fw);853 PdropNozzles.Shell.Pdnozzle_in = HE.DeltaPshellNozzleIn(Unity(1).Properties.Cold.Inlet.rho,Unity(1).Properties.Cold.Inlet.Fw); 1034 854 1035 855 "Velocity Shell Side Inlet Nozzle" 1036 Unity(1).Shell.PressureDrop.Vnozzle_in = HE.ShellVelocityNozzleIn(Unity(1).Properties.Cold.Inlet.rho,Unity(1).Properties.Cold.Inlet.Fw);856 PdropNozzles.Shell.Vnozzle_in = HE.ShellVelocityNozzleIn(Unity(1).Properties.Cold.Inlet.rho,Unity(1).Properties.Cold.Inlet.Fw); 1037 857 1038 858 "Shell Pressure Drop Outlet Nozzle" 1039 Unity(Nb+1).Shell.PressureDrop.Pdnozzle_out = HE.DeltaPshellNozzleOut(Unity(Nb+1).Properties.Cold.Outlet.rho,Unity(Nb+1).Properties.Cold.Inlet.Fw);859 PdropNozzles.Shell.Pdnozzle_out = HE.DeltaPshellNozzleOut(Unity(Nb+1).Properties.Cold.Outlet.rho,Unity(Nb+1).Properties.Cold.Inlet.Fw); 1040 860 1041 861 "Velocity Shell Side Outlet Nozzle" 1042 Unity(Nb+1).Shell.PressureDrop.Vnozzle_out = HE.ShellVelocityNozzleOut(Unity(Nb+1).Properties.Cold.Outlet.rho,Unity(Nb+1).Properties.Cold.Inlet.Fw); 862 PdropNozzles.Shell.Vnozzle_out = HE.ShellVelocityNozzleOut(Unity(Nb+1).Properties.Cold.Outlet.rho,Unity(Nb+1).Properties.Cold.Inlet.Fw); 863 864 "Pressure Drop Hot Stream" 865 Unity(1).Outlet.Hot.P = Unity(1).Inlet.Hot.P- Unity(1).Tubes.PressureDrop.Pdtotal - PdropNozzles.Tubes.Pdnozzle_in; 866 Unity(Nb+1).Outlet.Hot.P = Unity(Nb+1).Inlet.Hot.P- Unity(Nb+1).Tubes.PressureDrop.Pdtotal - PdropNozzles.Tubes.Pdnozzle_out; 867 868 "Pressure Drop Cold Stream" 869 Unity(1).Outlet.Cold.P = Unity(1).Inlet.Cold.P - Unity(1).Shell.PressureDrop.Pdtotal- PdropNozzles.Shell.Pdnozzle_in; 870 Unity(Nb+1).Outlet.Cold.P = Unity(Nb+1).Inlet.Cold.P - Unity(Nb+1).Shell.PressureDrop.Pdtotal- PdropNozzles.Shell.Pdnozzle_out; 1043 871 1044 872 … … 1048 876 for i in [2:Nb] 1049 877 1050 "Pressure Drop Tube Side Inlet Nozzle" 1051 Unity(i).Tubes.PressureDrop.Pdnozzle_in = 0; 1052 1053 "Velocity Tube Side Inlet Nozzle" 1054 Unity(i).Tubes.PressureDrop.Vnozzle_in = 0; 1055 1056 "Pressure Drop Tube Side Outlet Nozzle" 1057 Unity(i).Tubes.PressureDrop.Pdnozzle_out = 0; 1058 1059 "Velocity Tube Side Outlet Nozzle" 1060 Unity(i).Tubes.PressureDrop.Vnozzle_out = 0; 1061 1062 "Shell Pressure Drop Inlet Nozzle" 1063 Unity(i).Shell.PressureDrop.Pdnozzle_in = 0; 1064 1065 "Velocity Shell Side Inlet Nozzle" 1066 Unity(i).Shell.PressureDrop.Vnozzle_in = 0; 1067 1068 "Shell Pressure Drop Outlet Nozzle" 1069 Unity(i).Shell.PressureDrop.Pdnozzle_out = 0; 1070 1071 "Velocity Shell Side Outlet Nozzle" 1072 Unity(i).Shell.PressureDrop.Vnozzle_out = 0; 1073 1074 "Shell Pressure End Zones" 1075 Unity(i).Shell.PressureDrop.PdEndZones = 0; 1076 1077 "Shell Side Outlet Nozzle rho-V^2" 1078 Unity(i).Shell.PressureDrop.RVsquare_out = 0; 1079 1080 "Shell Side inlet Nozzle rho-V^2" 1081 Unity(i).Shell.PressureDrop.RVsquare_in = 0; 1082 878 1083 879 if side equal 1 1084 880 1085 881 then 1086 882 883 "Pressure Drop Hot Stream" 884 Unity(i).Outlet.Hot.P = Unity(i).Inlet.Hot.P - Unity(i).Shell.PressureDrop.Pdtotal; 885 886 "Pressure Drop Cold Stream" 887 Unity(i).Outlet.Cold.P = Unity(i).Inlet.Cold.P - Unity(i).Tubes.PressureDrop.Pdtotal; 888 889 890 else 891 892 "Pressure Drop Hot Stream" 893 Unity(i).Outlet.Hot.P = Unity(i).Inlet.Hot.P- Unity(i).Tubes.PressureDrop.Pdtotal; 894 895 "Pressure Drop Cold Stream" 896 Unity(i).Outlet.Cold.P = Unity(i).Inlet.Cold.P - Unity(i).Shell.PressureDrop.Pdtotal; 897 898 899 end 900 901 Sumary.Lz(i) = Unity(1).Baffles.Ls; 902 903 "Shell Side Cross Flow Area" 904 Unity(i).Shell.HeatTransfer.Sm = HE.CrossFlowArea(Unity(i).Baffles.Ls); 905 906 end 907 908 909 for i in [1:Nb+1] 910 911 if side equal 1 912 913 then 914 915 "Shell Side Reynolds Number" 916 Unity(i).Shell.HeatTransfer.Re = HE.ShellReynoldsNumber(Unity(i).Properties.Hot.Inlet.Fw,Unity(i).Shell.HeatTransfer.Sm,Unity(i).Properties.Hot.Average.Mu); 917 918 "Shell Heat Transfer Coefficient" 919 Unity(i).Shell.HeatTransfer.hshell = HE.ShellFilmCoeff(Unity(i).Shell.HeatTransfer.Ji,Unity(i).Properties.Hot.Average.Cp,Unity(i).Properties.Hot.Average.Mw,Unity(i).Properties.Hot.Inlet.Fw,Unity(i).Shell.HeatTransfer.Sm,Unity(i).Shell.HeatTransfer.PR,Unity(i).Shell.HeatTransfer.Jtotal,Unity(i).Shell.HeatTransfer.Phi); 920 1087 921 "Shell Pressure Drop Cross Flow" 1088 922 Unity(i).Shell.PressureDrop.PdCross = HE.DeltaPcrossIncremental(Unity(i).Shell.HeatTransfer.Re,Unity(i).Baffles.Ls,Unity(i).Baffles.Lso,Unity(i).Baffles.Lsi,Unity(i).Properties.Hot.Inlet.Fw,Unity(i).Shell.HeatTransfer.Phi,Unity(i).Properties.Hot.Average.rho); 1089 923 1090 1091 else1092 1093 "Shell Pressure Drop Cross Flow"1094 Unity(i).Shell.PressureDrop.PdCross = HE.DeltaPcrossIncremental(Unity(i).Shell.HeatTransfer.Re,Unity(i).Baffles.Ls,Unity(i).Baffles.Lso,Unity(i).Baffles.Lsi,Unity(i).Properties.Cold.Inlet.Fw,Unity(i).Shell.HeatTransfer.Phi,Unity(i).Properties.Cold.Average.rho);1095 1096 1097 end1098 1099 "Zone Length"1100 Sumary.Lz(i) = Unity(1).Baffles.Ls;1101 1102 "Shell Side Cross Flow Area"1103 Unity(i).Shell.HeatTransfer.Sm = HE.CrossFlowArea(Unity(i).Baffles.Ls);1104 1105 end1106 1107 1108 for i in [1:Nb+1]1109 1110 1111 if side equal 11112 1113 then1114 "Pressure Drop Hot Stream"1115 Unity(i).Outlet.Hot.P = Unity(i).Inlet.Hot.P - Unity(i).Shell.PressureDrop.Pdtotal;1116 1117 "Pressure Drop Cold Stream"1118 Unity(i).Outlet.Cold.P = Unity(i).Inlet.Cold.P - Unity(i).Tubes.PressureDrop.Pdtotal;1119 1120 "Shell Side Reynolds Number"1121 Unity(i).Shell.HeatTransfer.Re=(Dotube*Unity(i).Properties.Hot.Inlet.Fw/Unity(i).Shell.HeatTransfer.Sm)/Unity(i).Properties.Hot.Average.Mu;1122 1123 "Shell Heat Transfer Coefficient"1124 Unity(i).Shell.HeatTransfer.hshell =Unity(i).Shell.HeatTransfer.Ji*(Unity(i).Properties.Hot.Average.Cp/Unity(i).Properties.Hot.Average.Mw)*(Unity(i).Properties.Hot.Inlet.Fw/Unity(i).Shell.HeatTransfer.Sm)*(Unity(i).Shell.HeatTransfer.PR^(-2/3))*Unity(i).Shell.HeatTransfer.Jtotal*Unity(i).Shell.HeatTransfer.Phi;1125 1126 924 "Shell Pressure Baffle Window" 1127 925 Unity(i).Shell.PressureDrop.Pdwindow = HE.DeltaPwindowIncremental(Unity(i).Properties.Hot.Inlet.Fw,Unity(i).Shell.HeatTransfer.Sm,Unity(i).Properties.Hot.Average.rho,Unity(i).Properties.Hot.Average.Mu,Unity(i).Baffles.Ls); 1128 926 1129 "Hot Wall Temperature" 927 "Shell Pressure End Zones" 928 Unity(i).Shell.PressureDrop.PdEndZones = HE.DeltaPendZonesIncremental(Unity(i).Shell.HeatTransfer.Re,Unity(i).Baffles.Ls,Unity(i).Baffles.Lso,Unity(i).Baffles.Lsi,Unity(i).Properties.Hot.Inlet.Fw,Unity(i).Shell.HeatTransfer.Phi,Unity(i).Properties.Hot.Average.rho); 929 930 "Wall Temperature" 931 # Tubes.HeatTransfer.Twall = HE.WallTemperature(Properties.Hot.Average.T,Properties.Cold.Average.T,Tubes.HeatTransfer.htube,Shell.HeatTransfer.hshell); 932 1130 933 Unity(i).Properties.Hot.Wall.Twall = (Unity(i).Properties.Hot.Average.T+Unity(i).Properties.Cold.Average.T)/2; 1131 934 1132 "Cold Wall Temperature"1133 935 Unity(i).Properties.Cold.Wall.Twall = (Unity(i).Properties.Hot.Average.T+Unity(i).Properties.Cold.Average.T)/2; 1134 936 1135 937 "Tube Side Velocity" 1136 Unity(i).Tubes.HeatTransfer.Vtube = Unity(i).Properties.Cold.Inlet.Fw*Tpass/((Pi*Ditube*Ditube/4)*Unity(i).Properties.Cold.Average.rho*Ntt);938 Unity(i).Tubes.HeatTransfer.Vtube = HE.TubeVelocity(Unity(i).Properties.Cold.Inlet.Fw,Unity(i).Properties.Cold.Average.rho); 1137 939 1138 940 "Tube Side Reynolds Number" 1139 Unity(i).Tubes.HeatTransfer.Re = (Unity(i).Properties.Cold.Average.rho*Unity(i).Tubes.HeatTransfer.Vtube*Ditube)/Unity(i).Properties.Cold.Average.Mu;941 Unity(i).Tubes.HeatTransfer.Re = HE.TubeReynoldsNumber(Unity(i).Properties.Cold.Average.rho,Unity(i).Tubes.HeatTransfer.Vtube,Unity(i).Properties.Cold.Average.Mu); 1140 942 1141 943 "Tube Side Prandtl Number" 1142 Unity(i).Tubes.HeatTransfer.PR = ((Unity(i).Properties.Cold.Average.Cp/Unity(i).Properties.Cold.Average.Mw)*Unity(i).Properties.Cold.Average.Mu)/Unity(i).Properties.Cold.Average.K;944 Unity(i).Tubes.HeatTransfer.PR = HE.PrandtlNumber(Unity(i).Properties.Cold.Average.K,Unity(i).Properties.Cold.Average.Cp,Unity(i).Properties.Cold.Average.Mw,Unity(i).Properties.Cold.Average.Mu); 1143 945 1144 946 "Tube Side Prandtl Number at Wall" 1145 Unity(i).Tubes.HeatTransfer.PRw = ((Unity(i).Properties.Cold.Wall.Cp/Unity(i).Properties.Cold.Average.Mw)*Unity(i).Properties.Cold.Wall.Mu)/Unity(i).Properties.Cold.Wall.K;947 Unity(i).Tubes.HeatTransfer.PRw = HE.PrandtlNumber(Unity(i).Properties.Cold.Wall.K,Unity(i).Properties.Cold.Wall.Cp,Unity(i).Properties.Cold.Average.Mw,Unity(i).Properties.Cold.Wall.Mu); 1146 948 1147 949 "Tube Side Film Coefficient" 1148 Unity(i).Tubes.HeatTransfer.htube = HE.TubeFilmCoeffIncremental(Unity(i).Tubes.HeatTransfer.Re,Unity(i).Tubes.HeatTransfer.PR,Unity(i).Properties.Cold.Average.K,Sumary.Lz(i))*Unity(i).Tubes.HeatTransfer.Phi; 950 Unity(i).Tubes.HeatTransfer.htube = HE.TubeFilmCoeffIncremental(Unity(i).Tubes.HeatTransfer.Re,Unity(i).Tubes.HeatTransfer.PR,Unity(i).Properties.Cold.Average.K, 951 Unity(i).Tubes.HeatTransfer.Phi,Sumary.Lpos(i)); 1149 952 1150 953 "Shell Side Prandtl Number" 1151 Unity(i).Shell.HeatTransfer.PR = ((Unity(i).Properties.Hot.Average.Cp/Unity(i).Properties.Hot.Average.Mw)*Unity(i).Properties.Hot.Average.Mu)/Unity(i).Properties.Hot.Average.K;954 Unity(i).Shell.HeatTransfer.PR = HE.PrandtlNumber(Unity(i).Properties.Hot.Average.K,Unity(i).Properties.Hot.Average.Cp,Unity(i).Properties.Hot.Average.Mw,Unity(i).Properties.Hot.Average.Mu); 1152 955 1153 956 "Shell Side Prandtl Number at Wall" 1154 Unity(i).Shell.HeatTransfer.PRw = ((Unity(i).Properties.Hot.Wall.Cp/Unity(i).Properties.Hot.Average.Mw)*Unity(i).Properties.Hot.Wall.Mu)/Unity(i).Properties.Hot.Wall.K;957 Unity(i).Shell.HeatTransfer.PRw = HE.PrandtlNumber(Unity(i).Properties.Hot.Wall.K,Unity(i).Properties.Hot.Wall.Cp,Unity(i).Properties.Hot.Average.Mw,Unity(i).Properties.Hot.Wall.Mu); 1155 958 1156 959 "Tube Side Pressure Drop" … … 1166 969 else 1167 970 1168 "Pressure Drop Hot Stream"1169 Unity(i).Outlet.Hot.P = Unity(i).Inlet.Hot.P- Unity(i).Tubes.PressureDrop.Pdtotal;1170 1171 "Pressure Drop Cold Stream"1172 Unity(i).Outlet.Cold.P = Unity(i).Inlet.Cold.P - Unity(i).Shell.PressureDrop.Pdtotal;1173 1174 971 "Shell Side Reynolds Number" 1175 Unity(i).Shell.HeatTransfer.Re =(Dotube*Unity(i).Properties.Cold.Inlet.Fw/Unity(i).Shell.HeatTransfer.Sm)/Unity(i).Properties.Cold.Average.Mu;972 Unity(i).Shell.HeatTransfer.Re = HE.ShellReynoldsNumber(Unity(i).Properties.Cold.Inlet.Fw,Unity(i).Shell.HeatTransfer.Sm,Unity(i).Properties.Cold.Average.Mu); 1176 973 1177 974 "Shell Heat Transfer Coefficient" 1178 Unity(i).Shell.HeatTransfer.hshell =Unity(i).Shell.HeatTransfer.Ji*(Unity(i).Properties.Cold.Average.Cp/Unity(i).Properties.Cold.Average.Mw)* 1179 (Unity(i).Properties.Cold.Inlet.Fw/Unity(i).Shell.HeatTransfer.Sm)*(Unity(i).Shell.HeatTransfer.PR^(-2/3))*Unity(i).Shell.HeatTransfer.Jtotal*Unity(i).Shell.HeatTransfer.Phi; 1180 975 Unity(i).Shell.HeatTransfer.hshell = HE.ShellFilmCoeff(Unity(i).Shell.HeatTransfer.Ji,Unity(i).Properties.Cold.Average.Cp,Unity(i).Properties.Cold.Average.Mw,Unity(i).Properties.Cold.Inlet.Fw,Unity(i).Shell.HeatTransfer.Sm,Unity(i).Shell.HeatTransfer.PR,Unity(i).Shell.HeatTransfer.Jtotal,Unity(i).Shell.HeatTransfer.Phi); 976 977 "Shell Pressure Drop Cross Flow" 978 Unity(i).Shell.PressureDrop.PdCross = HE.DeltaPcrossIncremental(Unity(i).Shell.HeatTransfer.Re,Unity(i).Baffles.Ls,Unity(i).Baffles.Lso,Unity(i).Baffles.Lsi,Unity(i).Properties.Cold.Inlet.Fw,Unity(i).Shell.HeatTransfer.Phi,Unity(i).Properties.Cold.Average.rho); 1181 979 1182 980 "Shell Pressure Baffle Window" 1183 981 Unity(i).Shell.PressureDrop.Pdwindow = HE.DeltaPwindowIncremental(Unity(i).Properties.Cold.Inlet.Fw,Unity(i).Shell.HeatTransfer.Sm,Unity(i).Properties.Cold.Average.rho,Unity(i).Properties.Cold.Average.Mu,Unity(i).Baffles.Ls); 1184 982 1185 1186 "Hot Wall Temperature" 983 "Shell Pressure End Zones" 984 Unity(i).Shell.PressureDrop.PdEndZones = HE.DeltaPendZonesIncremental(Unity(i).Shell.HeatTransfer.Re,Unity(i).Baffles.Ls,Unity(i).Baffles.Lso,Unity(i).Baffles.Lsi,Unity(i).Properties.Cold.Inlet.Fw,Unity(i).Shell.HeatTransfer.Phi,Unity(i).Properties.Cold.Average.rho); 985 986 "Wall Temperature" 987 # Tubes.HeatTransfer.Twall = HE.WallTemperature(Properties.Cold.Average.T,Properties.Hot.Average.T,Tubes.HeatTransfer.htube,Shell.HeatTransfer.hshell); 988 1187 989 Unity(i).Properties.Hot.Wall.Twall = (Unity(i).Properties.Hot.Average.T+Unity(i).Properties.Cold.Average.T)/2; 1188 990 1189 "Cold Wall Temperature"1190 991 Unity(i).Properties.Cold.Wall.Twall = (Unity(i).Properties.Hot.Average.T+Unity(i).Properties.Cold.Average.T)/2; 1191 992 1192 993 "Tube Side Velocity" 1193 Unity(i).Tubes.HeatTransfer.Vtube = Unity(i).Properties.Hot.Inlet.Fw*Tpass/((Pi*Ditube*Ditube/4)*Unity(i).Properties.Hot.Average.rho*Ntt);994 Unity(i).Tubes.HeatTransfer.Vtube = HE.TubeVelocity(Unity(i).Properties.Hot.Inlet.Fw,Unity(i).Properties.Hot.Average.rho); 1194 995 1195 996 "Tube Side Reynolds Number" 1196 Unity(i).Tubes.HeatTransfer.Re = (Unity(i).Properties.Hot.Average.rho*Unity(i).Tubes.HeatTransfer.Vtube*Ditube)/Unity(i).Properties.Hot.Average.Mu;997 Unity(i).Tubes.HeatTransfer.Re = HE.TubeReynoldsNumber(Unity(i).Properties.Hot.Average.rho,Unity(i).Tubes.HeatTransfer.Vtube,Unity(i).Properties.Hot.Average.Mu); 1197 998 1198 999 "Tube Side Prandtl Number" 1199 Unity(i).Tubes.HeatTransfer.PR = ((Unity(i).Properties.Hot.Average.Cp/Unity(i).Properties.Hot.Average.Mw)*Unity(i).Properties.Hot.Average.Mu)/Unity(i).Properties.Hot.Average.K;1000 Unity(i).Tubes.HeatTransfer.PR = HE.PrandtlNumber(Unity(i).Properties.Hot.Average.K,Unity(i).Properties.Hot.Average.Cp,Unity(i).Properties.Hot.Average.Mw,Unity(i).Properties.Hot.Average.Mu); 1200 1001 1201 1002 "Tube Side Prandtl Number at Wall" 1202 Unity(i).Tubes.HeatTransfer.PRw = ((Unity(i).Properties.Hot.Wall.Cp/Unity(i).Properties.Hot.Average.Mw)*Unity(i).Properties.Hot.Wall.Mu)/Unity(i).Properties.Hot.Wall.K;1003 Unity(i).Tubes.HeatTransfer.PRw = HE.PrandtlNumber(Unity(i).Properties.Hot.Wall.K,Unity(i).Properties.Hot.Wall.Cp,Unity(i).Properties.Hot.Average.Mw,Unity(i).Properties.Hot.Wall.Mu); 1203 1004 1204 1005 1205 1006 "Tube Side Film Coefficient" 1206 Unity(i).Tubes.HeatTransfer.htube = HE.TubeFilmCoeffIncremental(Unity(i).Tubes.HeatTransfer.Re,Unity(i).Tubes.HeatTransfer.PR,Unity(i).Properties.Hot.Average.K,Sumary.Lz(i))*Unity(i).Tubes.HeatTransfer.Phi; 1007 Unity(i).Tubes.HeatTransfer.htube = HE.TubeFilmCoeffIncremental(Unity(i).Tubes.HeatTransfer.Re,Unity(i).Tubes.HeatTransfer.PR,Unity(i).Properties.Hot.Average.K, 1008 Unity(i).Tubes.HeatTransfer.Phi,Sumary.Lpos(i)); 1207 1009 1208 1010 "Shell Side Prandtl Number" 1209 Unity(i).Shell.HeatTransfer.PR = ((Unity(i).Properties.Cold.Average.Cp/Unity(i).Properties.Cold.Average.Mw)*Unity(i).Properties.Cold.Average.Mu)/Unity(i).Properties.Cold.Average.K;1011 Unity(i).Shell.HeatTransfer.PR = HE.PrandtlNumber(Unity(i).Properties.Cold.Average.K,Unity(i).Properties.Cold.Average.Cp,Unity(i).Properties.Cold.Average.Mw,Unity(i).Properties.Cold.Average.Mu); 1210 1012 1211 1013 "Shell Side Prandtl Number at Wall" 1212 Unity(i).Shell.HeatTransfer.PRw = ((Unity(i).Properties.Cold.Wall.Cp/Unity(i).Properties.Cold.Average.Mw)*Unity(i).Properties.Cold.Wall.Mu)/Unity(i).Properties.Cold.Wall.K;1014 Unity(i).Shell.HeatTransfer.PRw = HE.PrandtlNumber(Unity(i).Properties.Cold.Wall.K,Unity(i).Properties.Cold.Wall.Cp,Unity(i).Properties.Cold.Average.Mw,Unity(i).Properties.Cold.Wall.Mu); 1213 1015 1214 1016 "Tube Side Pressure Drop" … … 1224 1026 end 1225 1027 1028 "Position for discretization" 1029 Sumary.Lpos(i) = sum(Sumary.Lz([1:i])); 1030 1226 1031 "Tube Resistance" 1227 1032 Unity(i).Resistances.Rtube*(Unity(i).Tubes.HeatTransfer.htube*Ditube) = Dotube; … … 1241 1046 "Baffles Spacing" 1242 1047 Ltube = Unity(i).Baffles.Lsi+Unity(i).Baffles.Lso+Unity(i).Baffles.Ls*(Nb-1); 1048 1243 1049 1244 1050 "Js Factor" 1245 Unity(i).Shell.HeatTransfer.Js = 1;1051 Unity(i).Shell.HeatTransfer.Js = HE.JsFactor(Unity(i).Shell.HeatTransfer.Re,Unity(i).Baffles.Lsi,Unity(i).Baffles.Lso,Unity(i).Baffles.Ls); 1246 1052 1247 1053 "Ji Factor" … … 1262 1068 "Total J Factor" 1263 1069 Unity(i).Shell.HeatTransfer.Jtotal = Unity(i).Shell.HeatTransfer.Jc*Unity(i).Shell.HeatTransfer.Jl*Unity(i).Shell.HeatTransfer.Jb*Unity(i).Shell.HeatTransfer.Jr*Unity(i).Shell.HeatTransfer.Js; 1264 end 1265 1266 "Velocity Tube Side Inlet Nozzle" 1267 Unity(Nb+1).Tubes.PressureDrop.Vnozzle_in = 0; 1268 1269 "Velocity Tube Side Outlet Nozzle" 1270 Unity(1).Tubes.PressureDrop.Vnozzle_out = 0; 1271 1272 "Tube Pressure Drop Inlet Nozzle" 1273 Unity(Nb+1).Tubes.PressureDrop.Pdnozzle_in = 0; 1274 1275 "Tube Pressure Drop Outlet Nozzle" 1276 Unity(1).Tubes.PressureDrop.Pdnozzle_out = 0; 1277 1278 "Velocity Shell Side Inlet Nozzle" 1279 Unity(Nb+1).Shell.PressureDrop.Vnozzle_in = 0; 1280 1281 "Velocity Shell Side Outlet Nozzle" 1282 Unity(1).Shell.PressureDrop.Vnozzle_out = 0; 1283 1284 "Shell Pressure Drop Inlet Nozzle" 1285 Unity(Nb+1).Shell.PressureDrop.Pdnozzle_in = 0; 1286 1287 "Shell Pressure Drop Outlet Nozzle" 1288 Unity(1).Shell.PressureDrop.Pdnozzle_out = 0; 1289 1290 "Shell Cross Flow Pressure Drop" 1291 Unity(1).Shell.PressureDrop.PdCross = 0; 1292 1293 "Shell Cross Flow Pressure Drop" 1294 Unity(Nb+1).Shell.PressureDrop.PdCross = 0; 1295 1296 "Shell Side Outlet Nozzle rho-V^2" 1297 Unity(1).Shell.PressureDrop.RVsquare_out = 0; 1298 1299 "Shell Side inlet Nozzle rho-V^2" 1300 Unity(Nb+1).Shell.PressureDrop.RVsquare_in = 0; 1070 1071 end 1072 1301 1073 1302 1074 SET 1303 # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#1075 #===================================================================== 1304 1076 # Set Parameters for heatex Calculation 1305 # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#1077 #===================================================================== 1306 1078 Sumary.Zones = Nb+1; 1307 1079 Pi = 3.14159265;
Note: See TracChangeset
for help on using the changeset viewer.