Changeset 110
- Timestamp:
- Jan 12, 2007, 4:44:02 PM (15 years ago)
- Location:
- mso
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
mso/eml/heat_exchangers/DoublePipe.mso
r105 r110 223 223 "Heat Capacity Ratio" 224 224 Details.Cr*Details.Cmax = Details.Cmin; 225 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 225 226 #-------------------------------------------------------------------- 226 227 # Energy Balance 227 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 228 #-------------------------------------------------------------------- 229 228 230 "Energy Balance Hot Stream" 229 231 Details.Q = Inlet.Hot.F*(Inlet.Hot.h-Outlet.Hot.h); … … 235 237 # Material Balance 236 238 #-------------------------------------------------------------------- 239 237 240 "Flow Mass Inlet Cold Stream" 238 241 Properties.Cold.Inlet.Fw = sum(M*Inlet.Cold.z)*Inlet.Cold.F; … … 737 740 738 741 "Inner Pipe Resistance" 739 Unity(i).Resistances.Rtube = DoInner/(Unity(i).Inner.HeatTransfer.hcoeff*DiInner);742 Unity(i).Resistances.Rtube*(Unity(i).Inner.HeatTransfer.hcoeff*DiInner) = DoInner; 740 743 741 744 "Wall Resistance" -
mso/eml/heat_exchangers/HEX_Engine.mso
r100 r110 69 69 Hot as stream; # Inlet Hot Stream 70 70 Cold as stream; # Inlet Cold Stream 71 71 72 end 72 73 … … 78 79 Hot as stream_therm; # Outlet Hot Stream 79 80 Cold as stream_therm; # Outlet Cold Stream 81 80 82 end 81 83 … … 94 96 rho as dens_mass (Brief="Stream Density" ,Default=1000, Lower=1e-3, Upper=5e5); 95 97 Mu as viscosity (Brief="Stream Viscosity",Lower=0.0001); 96 Cp as cp_mol (Brief="Stream Molar Heat Capacity", Upper=1 0e10);98 Cp as cp_mol (Brief="Stream Molar Heat Capacity", Upper=1e10); 97 99 K as conductivity (Brief="Stream Thermal Conductivity", Default=1.0, Lower=1e-5, Upper=500); 100 98 101 end 99 102 … … 106 109 rho as dens_mass (Brief="Stream Density" ,Default=1000, Lower=1e-3, Upper=5e5); 107 110 Mu as viscosity (Brief="Stream Viscosity",Default=1, Lower=1e-5, Upper=1e5); 108 Cp as cp_mol (Brief="Stream Molar Heat Capacity", Upper=1 0e10);111 Cp as cp_mol (Brief="Stream Molar Heat Capacity", Upper=1e10); 109 112 K as conductivity (Brief="Stream Thermal Conductivity", Default=1.0, Lower=1e-5, Upper=500); 113 110 114 end 111 115 … … 116 120 VARIABLES 117 121 Mu as viscosity (Brief="Stream Viscosity",Default=1, Lower=1e-5, Upper=1e5); 118 Cp as cp_mol (Brief="Stream Molar Heat Capacity", Upper=1 0e10);122 Cp as cp_mol (Brief="Stream Molar Heat Capacity", Upper=1e10); 119 123 K as conductivity (Brief="Stream Thermal Conductivity", Default=1.0, Lower=1e-5, Upper=500); 120 124 Twall as temperature (Brief="Wall Temperature",Lower=50); 125 121 126 end 122 127 … … 130 135 Outlet as Properties_In_Out; # Properties at Outlet Stream 131 136 Wall as Properties_Wall; # Properties at Wall Temperature 137 132 138 end 133 139 … … 170 176 Phi as positive (Brief="Phi Correction",Default=1,Lower=1e-3); 171 177 Vtube as velocity (Brief="Tube Side Velocity",Lower=1e-8); 178 172 179 end 173 180 … … 231 238 #===================================================================== 232 239 VARIABLES 240 233 241 Rtube as positive (Brief="Tube Resistance",Unit="m^2*K/kW",Lower=1e-6); 234 242 Rwall as positive (Brief="Wall Resistance",Unit="m^2*K/kW",Lower=1e-6); … … 236 244 Rfi as positive (Brief="Inside Fouling Resistance",Unit="m^2*K/kW",Default=1e-6,Lower=0); 237 245 Rfo as positive (Brief="Outside Fouling Resistance",Unit="m^2*K/kW",Default=1e-6,Lower=0); 246 238 247 end 239 248 … … 257 266 "Number of Units Transference" 258 267 NTU*Cmin = Ud*A; 268 259 269 end 260 270 … … 266 276 PressureDrop as Tube_Pdrop; #Tube Side Pressure Drop 267 277 HeatTransfer as Tube_Heat_Transfer; #Tube Side Heat Transfer 278 268 279 end 269 280 … … 275 286 PressureDrop as Shell_Pdrop; # Shell Side Pressure Drop 276 287 HeatTransfer as Shell_Heat_Transfer; # Shell Side Heat Transfer 288 277 289 end 278 290 … … 284 296 Pdrop as press_delta (Brief="Pressure Drop",Default=0.01, Lower=0); 285 297 FPdrop as Real (Brief="Pressure Drop : Fraction of Inlet",Lower=0,Upper=0.8); 298 286 299 end 287 300 … … 293 306 Hot as Basic_Pdrop;# Hot Stream 294 307 Cold as Basic_Pdrop;# Cold Stream 308 295 309 end 296 310 … … 309 323 Phi as positive (Brief="Phi Correction",Default=1,Lower=1e-3); 310 324 Vmean as velocity (Brief="Tube Velocity",Lower=1e-8); 325 311 326 end 312 327 … … 322 337 fi as fricfactor (Brief="Friction Factor", Default=0.05, Lower=1e-10, Upper=2000); 323 338 Re as positive (Brief="Reynolds Number",Default=100,Lower=1); 339 324 340 end 325 341 … … 331 347 HeatTransfer as DoublePipe_HeatTransfer; 332 348 PressureDrop as DoublePipe_PressureDrop; 333 end 349 350 end -
mso/eml/heat_exchangers/HeatExchangerDetailed.mso
r100 r110 359 359 Donozzle_Shell as length (Brief="Shell Outlet Nozzle Diameter",Lower=10e-6); 360 360 Dinozzle_Shell as length (Brief="Shell Inlet Nozzle Diameter",Lower=10e-6); 361 Aonozzle_Shell as area (Brief="Shell Outlet Nozzle Area",Lower=10e-6); 362 Ainozzle_Shell as area (Brief="Shell Inlet Nozzle Area",Lower=10e-6); 363 Aeonozzle_Shell as area (Brief="Shell Outlet Escape Area Under Nozzle",Lower=10e-6); 364 Aeinozzle_Shell as area (Brief="Shell Inlet Escape Area Under Nozzle",Lower=10e-6); 361 365 Hinozzle_Shell as length (Brief="Height Under Shell Inlet Nozzle",Lower=10e-6); 362 366 Honozzle_Shell as length (Brief="Height Under Shell Outlet Nozzle",Lower=10e-6); … … 374 378 Ditube as length (Brief="Tube Inside Diameter",Lower=10e-6); 375 379 Donozzle_Tube as length (Brief="Tube Outlet Nozzle Diameter",Lower=10e-6); 376 Dinozzle_Tube as length (Brief="Tube Inlett Nozzle Diameter",Lower=10e-6); 380 Dinozzle_Tube as length (Brief="Tube Inlet Nozzle Diameter",Lower=10e-6); 381 Aonozzle_Tube as area (Brief="Tube Outlet Nozzle Area",Lower=10e-6); 382 Ainozzle_Tube as area (Brief="Tube Inlet Nozzle Area",Lower=10e-6); 383 Kinlet_Tube as positive (Brief="Tube Inlet Nozzle Pressure Loss Coeff",Default=1.1); 384 Koutlet_Tube as positive (Brief="Tube Outlet Nozzle Pressure Loss Coeff",Default=0.7); 377 385 378 386 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# … … 412 420 side = HE.FluidAlocation(); 413 421 422 #"Tube Side Inlet Nozzle Area" 423 Ainozzle_Tube = (Pi*Dinozzle_Tube*Dinozzle_Tube)/4; 424 425 #"Tube Side Outlet Nozzle Area" 426 Aonozzle_Tube = (Pi*Donozzle_Tube*Donozzle_Tube)/4; 427 428 #"Tube Inlet Nozzle Pressure Loss Coeff" 429 Kinlet_Tube = 1.1; 430 431 #"Tube Outlet Nozzle Pressure Loss Coeff" 432 Koutlet_Tube = 0.7; 433 434 #"Shell Outlet Nozzle Area" 435 Aonozzle_Shell = (Pi*Donozzle_Shell*Donozzle_Shell)/4; 436 437 #"Shell Inlet Nozzle Area" 438 Ainozzle_Shell = (Pi*Dinozzle_Shell*Dinozzle_Shell)/4; 439 440 #"Shell Outlet Escape Area Under Nozzle" 441 Aeonozzle_Shell = Pi*Donozzle_Shell*Honozzle_Shell + 0.6*Aonozzle_Shell*(1-Dotube/pitch); 442 443 #"Shell Inlet Escape Area Under Nozzle" 444 Aeinozzle_Shell = Pi*Dinozzle_Shell*Hinozzle_Shell + 0.6*Ainozzle_Shell*(1-Dotube/pitch); 445 446 414 447 EQUATIONS 415 448 … … 436 469 437 470 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 438 # Nozzles rho-V^2 # 471 # Pressure Drop and Velocities # 472 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 473 474 if side equal 1 475 476 then 477 478 "Tube Side Pressure Drop" 479 Tubes.PressureDrop.PdTube = HE.DeltaPtube(Tubes.HeatTransfer.Re,Properties.Cold.Average.rho,Tubes.HeatTransfer.Vtube,Tubes.HeatTransfer.Phi); 480 481 "Pressure Drop Tube Side Inlet Nozzle" 482 Tubes.PressureDrop.Pdnozzle_in = 0.5*Kinlet_Tube*Properties.Cold.Inlet.rho*Tubes.PressureDrop.Vnozzle_in^2; 483 484 "Velocity Tube Side Inlet Nozzle" 485 Tubes.PressureDrop.Vnozzle_in = Properties.Cold.Inlet.Fw/(Properties.Cold.Inlet.rho*Ainozzle_Tube); 486 487 "Pressure Drop Tube Side Outlet Nozzle" 488 Tubes.PressureDrop.Pdnozzle_out = 0.5*Koutlet_Tube*Properties.Cold.Outlet.rho*Tubes.PressureDrop.Vnozzle_out^2; 489 490 "Velocity Tube Side Outlet Nozzle" 491 Tubes.PressureDrop.Vnozzle_out = Properties.Cold.Inlet.Fw/(Properties.Cold.Outlet.rho*Aonozzle_Tube); 492 493 "Shell Pressure Drop Inlet Nozzle" 494 Shell.PressureDrop.Pdnozzle_in = (0.5*Properties.Hot.Inlet.Fw^2/Properties.Hot.Inlet.rho)*((1/Ainozzle_Shell^2)+(1/Aeinozzle_Shell^2)); 495 496 "Velocity Shell Side Inlet Nozzle" 497 Shell.PressureDrop.Vnozzle_in = Properties.Hot.Inlet.Fw/(Properties.Hot.Inlet.rho*Ainozzle_Shell); 498 499 "Shell Pressure Drop Outlet Nozzle" 500 Shell.PressureDrop.Pdnozzle_out = (0.5*Properties.Hot.Outlet.Fw^2/Properties.Hot.Outlet.rho)*((1/Ainozzle_Shell^2)+(1/Aeinozzle_Shell^2)); 501 502 "Velocity Shell Side Outlet Nozzle" 503 Shell.PressureDrop.Vnozzle_out = Properties.Hot.Outlet.Fw/(Properties.Hot.Outlet.rho*Aonozzle_Shell); 504 505 "Pressure Drop Hot Stream" 506 Outlet.Hot.P = Inlet.Hot.P - Shell.PressureDrop.Pdtotal; 507 508 "Pressure Drop Cold Stream" 509 Outlet.Cold.P = Inlet.Cold.P - Tubes.PressureDrop.Pdtotal; 510 511 512 else 513 514 "Tube Side Pressure Drop" 515 Tubes.PressureDrop.PdTube = HE.DeltaPtube(Tubes.HeatTransfer.Re,Properties.Hot.Average.rho,Tubes.HeatTransfer.Vtube,Tubes.HeatTransfer.Phi); 516 517 "Pressure Drop Tube Side Inlet Nozzle" 518 Tubes.PressureDrop.Pdnozzle_in = 0.5*Kinlet_Tube*Properties.Hot.Inlet.rho*Tubes.PressureDrop.Vnozzle_in^2; 519 520 "Velocity Tube Side Inlet Nozzle" 521 Tubes.PressureDrop.Vnozzle_in = Properties.Hot.Inlet.Fw/(Properties.Hot.Inlet.rho*Ainozzle_Tube); 522 523 "Pressure Drop Tube Side Outlet Nozzle" 524 Tubes.PressureDrop.Pdnozzle_out = 0.5*Koutlet_Tube*Properties.Hot.Outlet.rho*Tubes.PressureDrop.Vnozzle_out^2; 525 526 "Velocity Tube Side Outlet Nozzle" 527 Tubes.PressureDrop.Vnozzle_out = Properties.Hot.Inlet.Fw/(Properties.Hot.Outlet.rho*Aonozzle_Tube); 528 529 "Shell Pressure Drop Inlet Nozzle" 530 Shell.PressureDrop.Pdnozzle_in = (0.5*Properties.Cold.Inlet.Fw^2/Properties.Cold.Inlet.rho)*((1/Ainozzle_Shell^2)+(1/Aeinozzle_Shell^2)); 531 532 "Velocity Shell Side Inlet Nozzle" 533 Shell.PressureDrop.Vnozzle_in = Properties.Cold.Inlet.Fw/(Properties.Cold.Inlet.rho*Ainozzle_Shell); 534 535 "Shell Pressure Drop Outlet Nozzle" 536 Shell.PressureDrop.Pdnozzle_out = (0.5*Properties.Cold.Outlet.Fw^2/Properties.Cold.Outlet.rho)*((1/Ainozzle_Shell^2)+(1/Aeinozzle_Shell^2)); 537 538 "Velocity Shell Side Outlet Nozzle" 539 Shell.PressureDrop.Vnozzle_out = Properties.Cold.Outlet.Fw/(Properties.Cold.Outlet.rho*Ainozzle_Shell); 540 541 "Pressure Drop Hot Stream" 542 Outlet.Hot.P = Inlet.Hot.P- Tubes.PressureDrop.Pdtotal; 543 544 "Pressure Drop Cold Stream" 545 Outlet.Cold.P = Inlet.Cold.P - Shell.PressureDrop.Pdtotal; 546 547 end 548 549 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 550 # Nozzles rho-V^2 # 439 551 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 440 552 … … 460 572 461 573 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 462 # Phi correction#574 # Phi correction # 463 575 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 464 576 … … 483 595 end 484 596 485 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 486 # # 487 # # 488 # # 597 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# # 598 # Heat Transfer # # 489 599 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 490 600 … … 520 630 Shell.HeatTransfer.PRw = ((Properties.Hot.Wall.Cp/Properties.Hot.Average.Mw)*Properties.Hot.Wall.Mu)/Properties.Hot.Wall.K; 521 631 522 "Tube Side Pressure Drop"523 Tubes.PressureDrop.PdTube = HE.DeltaPtube(Tubes.HeatTransfer.Re,Properties.Cold.Average.rho,Tubes.HeatTransfer.Vtube,Tubes.HeatTransfer.Phi);524 525 "Pressure Drop Tube Side Inlet Nozzle"526 Tubes.PressureDrop.Pdnozzle_in = HE.DeltaPtubeNozzlein(Properties.Cold.Inlet.rho,Properties.Cold.Inlet.Fw);527 528 "Velocity Tube Side Inlet Nozzle"529 Tubes.PressureDrop.Vnozzle_in = HE.TubeVelocityNozzlein(Properties.Cold.Inlet.rho,Properties.Cold.Inlet.Fw);530 531 "Pressure Drop Tube Side Outlet Nozzle"532 Tubes.PressureDrop.Pdnozzle_out = HE.DeltaPtubeNozzleout(Properties.Cold.Outlet.rho,Properties.Cold.Inlet.Fw);533 534 "Velocity Tube Side Outlet Nozzle"535 Tubes.PressureDrop.Vnozzle_out = HE.TubeVelocityNozzleout(Properties.Cold.Outlet.rho,Properties.Cold.Inlet.Fw);536 537 "Shell Pressure Drop Inlet Nozzle"538 Shell.PressureDrop.Pdnozzle_in = HE.DeltaPshellNozzleIn(Properties.Hot.Inlet.rho,Properties.Hot.Inlet.Fw);539 540 "Velocity Shell Side Inlet Nozzle"541 Shell.PressureDrop.Vnozzle_in = HE.ShellVelocityNozzleIn(Properties.Hot.Inlet.rho,Properties.Hot.Inlet.Fw);542 543 "Shell Pressure Drop Outlet Nozzle"544 Shell.PressureDrop.Pdnozzle_out = HE.DeltaPshellNozzleOut(Properties.Hot.Outlet.rho,Properties.Hot.Inlet.Fw);545 546 "Velocity Shell Side Outlet Nozzle"547 Shell.PressureDrop.Vnozzle_out =HE.ShellVelocityNozzleOut(Properties.Hot.Outlet.rho,Properties.Hot.Inlet.Fw);548 549 "Pressure Drop Hot Stream"550 Outlet.Hot.P = Inlet.Hot.P- Shell.PressureDrop.Pdtotal;551 552 "Pressure Drop Cold Stream"553 Outlet.Cold.P = Inlet.Cold.P - Tubes.PressureDrop.Pdtotal;554 555 632 556 633 else … … 563 640 564 641 "Tube Side Velocity" 565 Tubes.HeatTransfer.Vtube =Properties.Hot.Inlet.Fw*Tpass/((Pi*Ditube*Ditube/4)*Properties.Hot.Average.rho*Ntt);642 Tubes.HeatTransfer.Vtube = Properties.Hot.Inlet.Fw*Tpass/((Pi*Ditube*Ditube/4)*Properties.Hot.Average.rho*Ntt); 566 643 567 644 "Tube Side Reynolds Number" 568 Tubes.HeatTransfer.Re =(Properties.Hot.Average.rho*Tubes.HeatTransfer.Vtube*Ditube)/Properties.Hot.Average.Mu;645 Tubes.HeatTransfer.Re = (Properties.Hot.Average.rho*Tubes.HeatTransfer.Vtube*Ditube)/Properties.Hot.Average.Mu; 569 646 570 647 "Tube Side Prandtl Number" … … 583 660 Shell.HeatTransfer.PRw=((Properties.Cold.Wall.Cp/Properties.Cold.Average.Mw)*Properties.Cold.Wall.Mu)/Properties.Cold.Wall.K; 584 661 585 "Tube Side Pressure Drop" 586 Tubes.PressureDrop.PdTube = HE.DeltaPtube(Tubes.HeatTransfer.Re,Properties.Hot.Average.rho,Tubes.HeatTransfer.Vtube,Tubes.HeatTransfer.Phi); 587 588 "Pressure Drop Tube Side Inlet Nozzle" 589 Tubes.PressureDrop.Pdnozzle_in = HE.DeltaPtubeNozzlein(Properties.Hot.Inlet.rho,Properties.Hot.Inlet.Fw); 590 591 "Velocity Tube Side Inlet Nozzle" 592 Tubes.PressureDrop.Vnozzle_in = HE.TubeVelocityNozzlein(Properties.Hot.Inlet.rho,Properties.Hot.Inlet.Fw); 593 594 "Pressure Drop Tube Side Outlet Nozzle" 595 Tubes.PressureDrop.Pdnozzle_out = HE.DeltaPtubeNozzleout(Properties.Hot.Outlet.rho,Properties.Hot.Inlet.Fw); 596 597 "Velocity Tube Side Outlet Nozzle" 598 Tubes.PressureDrop.Vnozzle_out = HE.TubeVelocityNozzleout(Properties.Hot.Outlet.rho,Properties.Hot.Inlet.Fw); 599 600 "Shell Pressure Drop Inlet Nozzle" 601 Shell.PressureDrop.Pdnozzle_in = HE.DeltaPshellNozzleIn(Properties.Cold.Inlet.rho,Properties.Cold.Inlet.Fw); 602 603 "Velocity Shell Side Inlet Nozzle" 604 Shell.PressureDrop.Vnozzle_in = HE.ShellVelocityNozzleIn(Properties.Cold.Inlet.rho,Properties.Cold.Inlet.Fw); 605 606 "Shell Pressure Drop Outlet Nozzle" 607 Shell.PressureDrop.Pdnozzle_out = HE.DeltaPshellNozzleOut(Properties.Cold.Outlet.rho,Properties.Cold.Inlet.Fw); 608 609 "Velocity Shell Side Outlet Nozzle" 610 Shell.PressureDrop.Vnozzle_out = HE.ShellVelocityNozzleOut(Properties.Cold.Outlet.rho,Properties.Cold.Inlet.Fw); 611 612 "Pressure Drop Hot Stream" 613 Outlet.Hot.P = Inlet.Hot.P- Tubes.PressureDrop.Pdtotal; 614 615 "Pressure Drop Cold Stream" 616 Outlet.Cold.P = Inlet.Cold.P - Shell.PressureDrop.Pdtotal; 617 618 end 619 620 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 621 # Resistances # 622 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 662 end 663 623 664 624 665 "Tube Resistance" … … 630 671 "Shell Resistance" 631 672 Resistances.Rshell*(Shell.HeatTransfer.hshell)=1; 632 633 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#634 # #635 # #636 # #637 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#638 673 639 674 "Shell Side Cross Flow Area" … … 849 884 Hinozzle_Shell as length (Brief="Height Under Shell Inlet Nozzle",Lower=10e-6); 850 885 Honozzle_Shell as length (Brief="Height Under Shell Outlet Nozzle",Lower=10e-6); 886 Aonozzle_Shell as area (Brief="Shell Outlet Nozzle Area",Lower=10e-6); 887 Ainozzle_Shell as area (Brief="Shell Inlet Nozzle Area",Lower=10e-6); 888 Aeonozzle_Shell as area (Brief="Shell Outlet Escape Area Under Nozzle",Lower=10e-6); 889 Aeinozzle_Shell as area (Brief="Shell Inlet Escape Area Under Nozzle",Lower=10e-6); 851 890 Lcf as length (Brief="Bundle-to-Shell Clearance",Lower=10e-8); 852 891 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# … … 862 901 Donozzle_Tube as length (Brief="Tube Outlet Nozzle Diameter",Lower=10e-6); 863 902 Dinozzle_Tube as length (Brief="Tube Inlett Nozzle Diameter",Lower=10e-6); 903 Aonozzle_Tube as area (Brief="Tube Outlet Nozzle Area",Lower=10e-6); 904 Ainozzle_Tube as area (Brief="Tube Inlet Nozzle Area",Lower=10e-6); 905 Kinlet_Tube as positive (Brief="Tube Inlet Nozzle Pressure Loss Coeff",Default=1.1); 906 Koutlet_Tube as positive (Brief="Tube Outlet Nozzle Pressure Loss Coeff",Default=0.7); 907 864 908 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 865 909 # Baffles Geometrical Parameters … … 875 919 Unity(Nshell) as HeatExchangerDetailed_Basic;# "Shell in Series" 876 920 877 CONNECTIONS 878 879 Unity([1:Nshell-1]).Outlet.Hot to Unity([2:Nshell]).Inlet.Hot; 880 Unity([2:Nshell]).Outlet.Cold to Unity([1:Nshell-1]).Inlet.Cold; 881 882 EQUATIONS 883 884 for i in [1:Nshell] 885 886 "Shell Side Cross Flow Area" 887 Unity(i).Shell.HeatTransfer.Sm = HE.CrossFlowArea(Unity(i).Baffles.Ls); 888 889 "Ji Factor" 890 Unity(i).Shell.HeatTransfer.Ji =HE.JiFactor(Unity(i).Shell.HeatTransfer.Re); 891 892 "Jc Factor" 893 Unity(i).Shell.HeatTransfer.Jc = HE.JcFactor(); 894 895 "Jl Factor" 896 Unity(i).Shell.HeatTransfer.Jl = HE.JlFactor(Unity(i).Shell.HeatTransfer.Sm); 897 898 "Jb Factor" 899 Unity(i).Shell.HeatTransfer.Jb = HE.JbFactor(Unity(i).Shell.HeatTransfer.Re,Unity(i).Baffles.Ls,Unity(i).Shell.HeatTransfer.Sm); 900 901 "Jr Factor" 902 Unity(i).Shell.HeatTransfer.Jr = HE.JrFactor(Unity(i).Shell.HeatTransfer.Re); 903 904 "Total J Factor" 905 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; 906 907 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 908 # Fluid Alocation 909 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 910 911 if side equal 1 then 912 913 "Shell Side Phi correction for viscosity" 914 Unity(i).Shell.HeatTransfer.Phi = HE.PhiCorrection(Unity(i).Properties.Hot.Average.Mu,Unity(i).Properties.Hot.Wall.Mu); 915 916 "Tube Side Phi correction for viscosity" 917 Unity(i).Tubes.HeatTransfer.Phi = HE.PhiCorrection(Unity(i).Properties.Cold.Average.Mu,Unity(i).Properties.Cold.Wall.Mu); 918 919 else 920 921 "Shell Side Phi correction for viscosity" 922 Unity(i).Shell.HeatTransfer.Phi = HE.PhiCorrection(Unity(i).Properties.Cold.Average.Mu,Unity(i).Properties.Cold.Wall.Mu); 923 924 "Tube Side Phi correction for viscosity" 925 Unity(i).Tubes.HeatTransfer.Phi = HE.PhiCorrection(Unity(i).Properties.Hot.Average.Mu,Unity(i).Properties.Hot.Average.Mu); 926 927 end 928 929 930 if side equal 1 931 932 then 933 934 "Hot Wall Temperature" 935 Unity(i).Properties.Hot.Wall.Twall = (Unity(i).Properties.Hot.Average.T+Unity(i).Properties.Cold.Average.T)/2; 936 937 "Cold Wall Temperature" 938 Unity(i).Properties.Cold.Wall.Twall = (Unity(i).Properties.Hot.Average.T+Unity(i).Properties.Cold.Average.T)/2; 939 940 "Tube Side Velocity" 941 Unity(i).Tubes.HeatTransfer.Vtube = Unity(i).Properties.Cold.Inlet.Fw*Tpass/((Pi*Ditube*Ditube/4)*Unity(i).Properties.Cold.Average.rho*Ntt); 942 943 "Tube Side Reynolds Number" 944 Unity(i).Tubes.HeatTransfer.Re=(Unity(i).Properties.Cold.Average.rho*Unity(i).Tubes.HeatTransfer.Vtube*Ditube)/Unity(i).Properties.Cold.Average.Mu; 945 946 "Tube Side Prandtl Number" 947 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; 948 949 "Tube Side Prandtl Number at Wall Temperature" 950 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; 951 952 "Tube Side Film Coefficient" 953 Unity(i).Tubes.HeatTransfer.htube= HE.TubeFilmCoeff(Unity(i).Tubes.HeatTransfer.Re,Unity(i).Tubes.HeatTransfer.PR,Unity(i).Properties.Cold.Average.K)*Unity(i).Tubes.HeatTransfer.Phi; 954 955 "Shell Side Prandtl Number" 956 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; 957 958 "Shell Side Prandtl Number at Wall Temperature" 959 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; 960 961 "Tube Side Pressure Drop" 962 Unity(i).Tubes.PressureDrop.PdTube = HE.DeltaPtube(Unity(i).Tubes.HeatTransfer.Re,Unity(i).Properties.Cold.Average.rho,Unity(i).Tubes.HeatTransfer.Vtube,Unity(i).Tubes.HeatTransfer.Phi); 963 964 "Pressure Drop Tube Side Inlet Nozzle" 965 Unity(i).Tubes.PressureDrop.Pdnozzle_in = HE.DeltaPtubeNozzlein(Unity(i).Properties.Cold.Inlet.rho,Unity(i).Properties.Cold.Inlet.Fw); 966 967 "Velocity Tube Side Inlet Nozzle" 968 Unity(i).Tubes.PressureDrop.Vnozzle_in = HE.TubeVelocityNozzlein(Unity(i).Properties.Cold.Inlet.rho,Unity(i).Properties.Cold.Inlet.Fw); 969 970 "Pressure Drop Tube Side Outlet Nozzle" 971 Unity(i).Tubes.PressureDrop.Pdnozzle_out = HE.DeltaPtubeNozzleout(Unity(i).Properties.Cold.Outlet.rho,Unity(i).Properties.Cold.Inlet.Fw); 972 973 "Velocity Tube Side Outlet Nozzle" 974 Unity(i).Tubes.PressureDrop.Vnozzle_out = HE.TubeVelocityNozzleout(Unity(i).Properties.Cold.Outlet.rho,Unity(i).Properties.Cold.Inlet.Fw); 975 976 "Shell Pressure Drop Inlet Nozzle" 977 Unity(i).Shell.PressureDrop.Pdnozzle_in = HE.DeltaPshellNozzleIn(Unity(i).Properties.Hot.Inlet.rho,Unity(i).Properties.Hot.Inlet.Fw); 978 979 "Velocity Shell Side Inlet Nozzle" 980 Unity(i).Shell.PressureDrop.Vnozzle_in = HE.ShellVelocityNozzleIn(Unity(i).Properties.Hot.Inlet.rho,Unity(i).Properties.Hot.Inlet.Fw); 981 982 "Shell Pressure Drop Outlet Nozzle" 983 Unity(i).Shell.PressureDrop.Pdnozzle_out =HE.DeltaPshellNozzleOut(Unity(i).Properties.Hot.Outlet.rho,Unity(i).Properties.Hot.Inlet.Fw); 984 985 "Velocity Shell Side Outlet Nozzle" 986 Unity(i).Shell.PressureDrop.Vnozzle_out =HE.ShellVelocityNozzleOut(Unity(i).Properties.Hot.Outlet.rho,Unity(i).Properties.Hot.Inlet.Fw); 987 988 "Pressure Drop Hot Stream" 989 Unity(i).Outlet.Hot.P = Unity(i).Inlet.Hot.P- Unity(i).Shell.PressureDrop.Pdtotal; 990 991 "Pressure Drop Cold Stream" 992 Unity(i).Outlet.Cold.P = Unity(i).Inlet.Cold.P - Unity(i).Tubes.PressureDrop.Pdtotal; 993 994 995 else 996 997 "Hot Wall Temperature" 998 Unity(i).Properties.Hot.Wall.Twall = (Unity(i).Properties.Hot.Average.T+Unity(i).Properties.Cold.Average.T)/2; 999 1000 "Cold Wall Temperature" 1001 Unity(i).Properties.Cold.Wall.Twall = (Unity(i).Properties.Hot.Average.T+Unity(i).Properties.Cold.Average.T)/2; 1002 1003 "Tube Side Velocity" 1004 Unity(i).Tubes.HeatTransfer.Vtube = Unity(i).Properties.Hot.Inlet.Fw*Tpass/((Pi*Ditube*Ditube/4)*Unity(i).Properties.Hot.Average.rho*Ntt); 1005 1006 "Tube Side Reynolds Number" 1007 Unity(i).Tubes.HeatTransfer.Re = (Unity(i).Properties.Hot.Average.rho*Unity(i).Tubes.HeatTransfer.Vtube*Ditube)/Unity(i).Properties.Hot.Average.Mu; 1008 1009 "Tube Side Prandtl Number" 1010 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; 1011 1012 "Tube Side Prandtl Number at Wall" 1013 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; 1014 1015 "Tube Side Film Coefficient" 1016 Unity(i).Tubes.HeatTransfer.htube = HE.TubeFilmCoeff(Unity(i).Tubes.HeatTransfer.Re,Unity(i).Tubes.HeatTransfer.PR,Unity(i).Properties.Hot.Average.K)*Unity(i).Tubes.HeatTransfer.Phi; 1017 1018 "Shell Side Prandtl Number" 1019 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; 1020 1021 "Shell Side Prandtl Number at Wall" 1022 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; 1023 1024 "Tube Side Pressure Drop" 1025 Unity(i).Tubes.PressureDrop.PdTube = HE.DeltaPtube(Unity(i).Tubes.HeatTransfer.Re,Unity(i).Properties.Hot.Average.rho,Unity(i).Tubes.HeatTransfer.Vtube,Unity(i).Tubes.HeatTransfer.Phi); 1026 1027 "Pressure Drop Tube Side Inlet Nozzle" 1028 Unity(i).Tubes.PressureDrop.Pdnozzle_in = HE.DeltaPtubeNozzlein(Unity(i).Properties.Hot.Inlet.rho,Unity(i).Properties.Hot.Inlet.Fw); 1029 1030 "Velocity Tube Side Inlet Nozzle" 1031 Unity(i).Tubes.PressureDrop.Vnozzle_in = HE.TubeVelocityNozzlein(Unity(i).Properties.Hot.Inlet.rho,Unity(i).Properties.Hot.Inlet.Fw); 1032 1033 "Pressure Drop Tube Side Outlet Nozzle" 1034 Unity(i).Tubes.PressureDrop.Pdnozzle_out = HE.DeltaPtubeNozzleout(Unity(i).Properties.Hot.Outlet.rho,Unity(i).Properties.Hot.Inlet.Fw); 1035 1036 "Velocity Tube Side Outlet Nozzle" 1037 Unity(i).Tubes.PressureDrop.Vnozzle_out = HE.TubeVelocityNozzleout(Unity(i).Properties.Hot.Outlet.rho,Unity(i).Properties.Hot.Inlet.Fw); 1038 1039 "Shell Pressure Drop Inlet Nozzle" 1040 Unity(i).Shell.PressureDrop.Pdnozzle_in = HE.DeltaPshellNozzleIn(Unity(i).Properties.Cold.Inlet.rho,Unity(i).Properties.Cold.Inlet.Fw); 1041 1042 "Velocity Shell Side Inlet Nozzle" 1043 Unity(i).Shell.PressureDrop.Vnozzle_in = HE.ShellVelocityNozzleIn(Unity(i).Properties.Cold.Inlet.rho,Unity(i).Properties.Cold.Inlet.Fw); 1044 1045 "Shell Pressure Drop Outlet Nozzle" 1046 Unity(i).Shell.PressureDrop.Pdnozzle_out = HE.DeltaPshellNozzleOut(Unity(i).Properties.Cold.Outlet.rho,Unity(i).Properties.Cold.Inlet.Fw); 1047 1048 "Velocity Shell Side Outlet Nozzle" 1049 Unity(i).Shell.PressureDrop.Vnozzle_out = HE.ShellVelocityNozzleOut(Unity(i).Properties.Cold.Outlet.rho,Unity(i).Properties.Cold.Inlet.Fw); 1050 1051 "Pressure Drop Hot Stream" 1052 Unity(i).Outlet.Hot.P = Unity(i).Inlet.Hot.P- Unity(i).Tubes.PressureDrop.Pdtotal; 1053 1054 "Pressure Drop Cold Stream" 1055 Unity(i).Outlet.Cold.P = Unity(i).Inlet.Cold.P - Unity(i).Shell.PressureDrop.Pdtotal; 1056 1057 1058 end 1059 1060 if side equal 1 1061 1062 then 1063 1064 "Shell Side inlet Nozzle rho-V^2" 1065 Unity(i).Shell.PressureDrop.RVsquare_in = Unity(i).Properties.Hot.Inlet.rho*(Unity(i).Shell.PressureDrop.Vnozzle_in)^2; 1066 1067 "Shell Side Outlet Nozzle rho-V^2" 1068 Unity(i).Shell.PressureDrop.RVsquare_out = Unity(i).Properties.Hot.Outlet.rho*(Unity(i).Shell.PressureDrop.Vnozzle_out)^2; 1069 1070 else 1071 1072 "Shell Side inlet Nozzle rho-V^2" 1073 Unity(i).Shell.PressureDrop.RVsquare_in = Unity(i).Properties.Cold.Inlet.rho*(Unity(i).Shell.PressureDrop.Vnozzle_in)^2; 1074 1075 "Shell Side Outlet Nozzle rho-V^2" 1076 Unity(i).Shell.PressureDrop.RVsquare_out = Unity(i).Properties.Cold.Outlet.rho*(Unity(i).Shell.PressureDrop.Vnozzle_out)^2; 1077 1078 end 1079 1080 "Tube Resistance" 1081 Unity(i).Resistances.Rtube*(Unity(i).Tubes.HeatTransfer.htube*Ditube) = Dotube; 1082 1083 "Wall Resistance" 1084 Unity(i).Resistances.Rwall=Dotube*ln(Dotube/Ditube)/(2*Kwall); 1085 1086 "Shell Resistance" 1087 Unity(i).Resistances.Rshell*(Unity(i).Shell.HeatTransfer.hshell)=1; 1088 1089 "Overall Heat Transfer Coefficient Clean" 1090 Unity(i).Details.Uc=1/(Dotube/(Unity(i).Tubes.HeatTransfer.htube*Ditube)+(Dotube*ln(Dotube/Ditube)/(2*Kwall))+(1/(Unity(i).Shell.HeatTransfer.hshell))); 1091 1092 "Overall Heat Transfer Coefficient Dirty" 1093 (1/Unity(i).Details.Ud)=(1/Unity(i).Details.Uc)+Unity(i).Resistances.Rfo+Unity(i).Resistances.Rfi*(Dotube/Ditube); 1094 1095 "Exchange Surface Area" 1096 Unity(i).Details.A=Pi*Dotube*Ntt*Ltube; 1097 1098 "Baffles Spacing" 1099 Ltube = Unity(i).Baffles.Lsi+Unity(i).Baffles.Lso+Unity(i).Baffles.Ls*(Nb-1); 1100 1101 "TEMA E Shell Effectiveness" 1102 Eft(i) = 2*(1+Unity(i).Details.Cr+sqrt(1+Unity(i).Details.Cr^2)*((1+exp(-Unity(i).Details.NTU*sqrt(1+Unity(i).Details.Cr^2)))/(1-exp(-Unity(i).Details.NTU*sqrt(1+Unity(i).Details.Cr^2)))) )^-1; 1103 1104 "Js Factor" 1105 Unity(i).Shell.HeatTransfer.Js = HE.JsFactor(Unity(i).Shell.HeatTransfer.Re,Unity(i).Baffles.Lsi,Unity(i).Baffles.Lso,Unity(i).Baffles.Ls); 1106 1107 if side equal 1 1108 1109 then 1110 1111 "Shell Side Reynolds Number" 1112 Unity(i).Shell.HeatTransfer.Re=(Dotube*Unity(i).Properties.Hot.Inlet.Fw/Unity(i).Shell.HeatTransfer.Sm)/Unity(i).Properties.Hot.Average.Mu; 1113 1114 "Shell Heat Transfer Coefficient" 1115 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; 1116 1117 "Shell Pressure Drop Cross Flow" 1118 Unity(i).Shell.PressureDrop.PdCross = HE.DeltaPcross(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); 1119 1120 "Shell Pressure Baffle Window" 1121 Unity(i).Shell.PressureDrop.Pdwindow = HE.DeltaPwindow(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); 1122 1123 "Shell Pressure End Zones" 1124 Unity(i).Shell.PressureDrop.PdEndZones = HE.DeltaPendZones(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); 1125 1126 1127 else 1128 1129 "Shell Side Reynolds Number" 1130 Unity(i).Shell.HeatTransfer.Re=(Dotube*Unity(i).Properties.Cold.Inlet.Fw/Unity(i).Shell.HeatTransfer.Sm)/Unity(i).Properties.Cold.Average.Mu; 1131 1132 "Shell Heat Transfer Coefficient" 1133 Unity(i).Shell.HeatTransfer.hshell=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^(-2/3))*Unity(i).Shell.HeatTransfer.Jtotal*Unity(i).Shell.HeatTransfer.Phi; 1134 1135 "Shell Pressure Drop Cross Flow" 1136 Unity(i).Shell.PressureDrop.PdCross = HE.DeltaPcross(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); 1137 1138 "Shell Pressure Baffle Window" 1139 Unity(i).Shell.PressureDrop.Pdwindow = HE.DeltaPwindow(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); 1140 1141 "Shell Pressure End Zones" 1142 Unity(i).Shell.PressureDrop.PdEndZones = HE.DeltaPendZones(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); 1143 1144 1145 end 1146 1147 "Duty" 1148 Unity(i).Details.Q = Eft(i)*Unity(i).Details.Cmin*(Unity(i).Inlet.Hot.T-Unity(i).Inlet.Cold.T); 1149 1150 end 1151 1152 SET 921 SET 1153 922 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 1154 923 # Set Parameters for heatex Calculation … … 1176 945 HE.Ltd = Ltd; 1177 946 side = HE.FluidAlocation(); 947 948 #"Tube Side Inlet Nozzle Area" 949 Ainozzle_Tube = (Pi*Dinozzle_Tube*Dinozzle_Tube)/4; 950 951 #"Tube Side Outlet Nozzle Area" 952 Aonozzle_Tube = (Pi*Donozzle_Tube*Donozzle_Tube)/4; 953 954 #"Tube Inlet Nozzle Pressure Loss Coeff" 955 Kinlet_Tube = 1.1; 956 957 #"Tube Outlet Nozzle Pressure Loss Coeff" 958 Koutlet_Tube = 0.7; 959 960 #"Shell Outlet Nozzle Area" 961 Aonozzle_Shell = (Pi*Donozzle_Shell*Donozzle_Shell)/4; 962 963 #"Shell Inlet Nozzle Area" 964 Ainozzle_Shell = (Pi*Dinozzle_Shell*Dinozzle_Shell)/4; 965 966 #"Shell Outlet Escape Area Under Nozzle" 967 Aeonozzle_Shell = Pi*Donozzle_Shell*Honozzle_Shell + 0.6*Aonozzle_Shell*(1-Dotube/pitch); 968 969 #"Shell Inlet Escape Area Under Nozzle" 970 Aeinozzle_Shell = Pi*Dinozzle_Shell*Hinozzle_Shell + 0.6*Ainozzle_Shell*(1-Dotube/pitch); 971 972 CONNECTIONS 973 974 Unity([1:Nshell-1]).Outlet.Hot to Unity([2:Nshell]).Inlet.Hot; 975 Unity([2:Nshell]).Outlet.Cold to Unity([1:Nshell-1]).Inlet.Cold; 976 977 EQUATIONS 978 979 for i in [1:Nshell] 980 981 "Shell Side Cross Flow Area" 982 Unity(i).Shell.HeatTransfer.Sm = HE.CrossFlowArea(Unity(i).Baffles.Ls); 983 984 "Ji Factor" 985 Unity(i).Shell.HeatTransfer.Ji =HE.JiFactor(Unity(i).Shell.HeatTransfer.Re); 986 987 "Jc Factor" 988 Unity(i).Shell.HeatTransfer.Jc = HE.JcFactor(); 989 990 "Jl Factor" 991 Unity(i).Shell.HeatTransfer.Jl = HE.JlFactor(Unity(i).Shell.HeatTransfer.Sm); 992 993 "Jb Factor" 994 Unity(i).Shell.HeatTransfer.Jb = HE.JbFactor(Unity(i).Shell.HeatTransfer.Re,Unity(i).Baffles.Ls,Unity(i).Shell.HeatTransfer.Sm); 995 996 "Jr Factor" 997 Unity(i).Shell.HeatTransfer.Jr = HE.JrFactor(Unity(i).Shell.HeatTransfer.Re); 998 999 "Total J Factor" 1000 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; 1001 1002 1003 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 1004 # Pressure Drop and Velocities 1005 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 1006 1007 if side equal 1 1008 1009 then 1010 1011 "Tube Side Pressure Drop" 1012 Unity(i).Tubes.PressureDrop.PdTube = HE.DeltaPtube(Unity(i).Tubes.HeatTransfer.Re,Unity(i).Properties.Cold.Average.rho,Unity(i).Tubes.HeatTransfer.Vtube,Unity(i).Tubes.HeatTransfer.Phi); 1013 1014 "Pressure Drop Tube Side Inlet Nozzle" 1015 Unity(i).Tubes.PressureDrop.Pdnozzle_in = 0.5*Kinlet_Tube*Unity(i).Properties.Cold.Inlet.rho*Unity(i).Tubes.PressureDrop.Vnozzle_in^2; 1016 1017 "Velocity Tube Side Inlet Nozzle" 1018 Unity(i).Tubes.PressureDrop.Vnozzle_in = Unity(i).Properties.Cold.Inlet.Fw/(Unity(i).Properties.Cold.Inlet.rho*Ainozzle_Tube); 1019 1020 "Pressure Drop Tube Side Outlet Nozzle" 1021 Unity(i).Tubes.PressureDrop.Pdnozzle_out = 0.5*Koutlet_Tube*Unity(i).Properties.Cold.Outlet.rho*Unity(i).Tubes.PressureDrop.Vnozzle_out^2; 1022 1023 "Velocity Tube Side Outlet Nozzle" 1024 Unity(i).Tubes.PressureDrop.Vnozzle_out = Unity(i).Properties.Cold.Inlet.Fw/(Unity(i).Properties.Cold.Outlet.rho*Aonozzle_Tube); 1025 1026 "Shell Pressure Drop Inlet Nozzle" 1027 Unity(i).Shell.PressureDrop.Pdnozzle_in = (0.5*Unity(i).Properties.Hot.Inlet.Fw^2/Unity(i).Properties.Hot.Inlet.rho)*((1/Ainozzle_Shell^2)+(1/Aeinozzle_Shell^2)); 1028 1029 "Velocity Shell Side Inlet Nozzle" 1030 Unity(i).Shell.PressureDrop.Vnozzle_in = Unity(i).Properties.Hot.Inlet.Fw/(Unity(i).Properties.Hot.Inlet.rho*Ainozzle_Shell); 1031 1032 "Shell Pressure Drop Outlet Nozzle" 1033 Unity(i).Shell.PressureDrop.Pdnozzle_out = (0.5*Unity(i).Properties.Hot.Outlet.Fw^2/Unity(i).Properties.Hot.Outlet.rho)*((1/Ainozzle_Shell^2)+(1/Aeinozzle_Shell^2)); 1034 1035 "Velocity Shell Side Outlet Nozzle" 1036 Unity(i).Shell.PressureDrop.Vnozzle_out = Unity(i).Properties.Hot.Outlet.Fw/(Unity(i).Properties.Hot.Outlet.rho*Aonozzle_Shell); 1037 1038 "Pressure Drop Hot Stream" 1039 Unity(i).Outlet.Hot.P = Unity(i).Inlet.Hot.P - Unity(i).Shell.PressureDrop.Pdtotal; 1040 1041 "Pressure Drop Cold Stream" 1042 Unity(i).Outlet.Cold.P = Unity(i).Inlet.Cold.P - Unity(i).Tubes.PressureDrop.Pdtotal; 1043 1044 1045 else 1046 1047 "Tube Side Pressure Drop" 1048 Unity(i).Tubes.PressureDrop.PdTube = HE.DeltaPtube(Unity(i).Tubes.HeatTransfer.Re,Unity(i).Properties.Hot.Average.rho,Unity(i).Tubes.HeatTransfer.Vtube,Unity(i).Tubes.HeatTransfer.Phi); 1049 1050 "Pressure Drop Tube Side Inlet Nozzle" 1051 Unity(i).Tubes.PressureDrop.Pdnozzle_in = 0.5*Kinlet_Tube*Unity(i).Properties.Hot.Inlet.rho*Unity(i).Tubes.PressureDrop.Vnozzle_in^2; 1052 1053 "Velocity Tube Side Inlet Nozzle" 1054 Unity(i).Tubes.PressureDrop.Vnozzle_in = Unity(i).Properties.Hot.Inlet.Fw/(Unity(i).Properties.Hot.Inlet.rho*Ainozzle_Tube); 1055 1056 "Pressure Drop Tube Side Outlet Nozzle" 1057 Unity(i).Tubes.PressureDrop.Pdnozzle_out = 0.5*Koutlet_Tube*Unity(i).Properties.Hot.Outlet.rho*Unity(i).Tubes.PressureDrop.Vnozzle_out^2; 1058 1059 "Velocity Tube Side Outlet Nozzle" 1060 Unity(i).Tubes.PressureDrop.Vnozzle_out = Unity(i).Properties.Hot.Inlet.Fw/(Unity(i).Properties.Hot.Outlet.rho*Aonozzle_Tube); 1061 1062 "Shell Pressure Drop Inlet Nozzle" 1063 Unity(i).Shell.PressureDrop.Pdnozzle_in = (0.5*Unity(i).Properties.Cold.Inlet.Fw^2/Unity(i).Properties.Cold.Inlet.rho)*((1/Ainozzle_Shell^2)+(1/Aeinozzle_Shell^2)); 1064 1065 "Velocity Shell Side Inlet Nozzle" 1066 Unity(i).Shell.PressureDrop.Vnozzle_in = Unity(i).Properties.Cold.Inlet.Fw/(Unity(i).Properties.Cold.Inlet.rho*Ainozzle_Shell); 1067 1068 "Shell Pressure Drop Outlet Nozzle" 1069 Unity(i).Shell.PressureDrop.Pdnozzle_out = (0.5*Unity(i).Properties.Cold.Outlet.Fw^2/Unity(i).Properties.Cold.Outlet.rho)*((1/Ainozzle_Shell^2)+(1/Aeinozzle_Shell^2)); 1070 1071 "Velocity Shell Side Outlet Nozzle" 1072 Unity(i).Shell.PressureDrop.Vnozzle_out = Unity(i).Properties.Cold.Outlet.Fw/(Unity(i).Properties.Cold.Outlet.rho*Ainozzle_Shell); 1073 1074 "Pressure Drop Hot Stream" 1075 Unity(i).Outlet.Hot.P = Unity(i).Inlet.Hot.P- Unity(i).Tubes.PressureDrop.Pdtotal; 1076 1077 "Pressure Drop Cold Stream" 1078 Unity(i).Outlet.Cold.P = Unity(i).Inlet.Cold.P - Unity(i).Shell.PressureDrop.Pdtotal; 1079 1080 end 1081 1082 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 1083 # Phi correction 1084 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 1085 1086 if side equal 1 then 1087 1088 "Shell Side Phi correction for viscosity" 1089 Unity(i).Shell.HeatTransfer.Phi = HE.PhiCorrection(Unity(i).Properties.Hot.Average.Mu,Unity(i).Properties.Hot.Wall.Mu); 1090 1091 "Tube Side Phi correction for viscosity" 1092 Unity(i).Tubes.HeatTransfer.Phi = HE.PhiCorrection(Unity(i).Properties.Cold.Average.Mu,Unity(i).Properties.Cold.Wall.Mu); 1093 1094 else 1095 1096 "Shell Side Phi correction for viscosity" 1097 Unity(i).Shell.HeatTransfer.Phi = HE.PhiCorrection(Unity(i).Properties.Cold.Average.Mu,Unity(i).Properties.Cold.Wall.Mu); 1098 1099 "Tube Side Phi correction for viscosity" 1100 Unity(i).Tubes.HeatTransfer.Phi = HE.PhiCorrection(Unity(i).Properties.Hot.Average.Mu,Unity(i).Properties.Hot.Average.Mu); 1101 1102 end 1103 1104 1105 if side equal 1 1106 1107 then 1108 1109 "Shell Side inlet Nozzle rho-V^2" 1110 Unity(i).Shell.PressureDrop.RVsquare_in = Unity(i).Properties.Hot.Inlet.rho*(Unity(i).Shell.PressureDrop.Vnozzle_in)^2; 1111 1112 "Shell Side Outlet Nozzle rho-V^2" 1113 Unity(i).Shell.PressureDrop.RVsquare_out = Unity(i).Properties.Hot.Outlet.rho*(Unity(i).Shell.PressureDrop.Vnozzle_out)^2; 1114 1115 else 1116 1117 "Shell Side inlet Nozzle rho-V^2" 1118 Unity(i).Shell.PressureDrop.RVsquare_in = Unity(i).Properties.Cold.Inlet.rho*(Unity(i).Shell.PressureDrop.Vnozzle_in)^2; 1119 1120 "Shell Side Outlet Nozzle rho-V^2" 1121 Unity(i).Shell.PressureDrop.RVsquare_out = Unity(i).Properties.Cold.Outlet.rho*(Unity(i).Shell.PressureDrop.Vnozzle_out)^2; 1122 1123 end 1124 1125 1126 if side equal 1 1127 1128 then 1129 1130 "Hot Wall Temperature" 1131 Unity(i).Properties.Hot.Wall.Twall = (Unity(i).Properties.Hot.Average.T+Unity(i).Properties.Cold.Average.T)/2; 1132 1133 "ColdWall Temperature" 1134 Unity(i).Properties.Cold.Wall.Twall = (Unity(i).Properties.Hot.Average.T+Unity(i).Properties.Cold.Average.T)/2; 1135 1136 "Tube Side Velocity" 1137 Unity(i).Tubes.HeatTransfer.Vtube = Unity(i).Properties.Cold.Inlet.Fw*Tpass/((Pi*Ditube*Ditube/4)*Unity(i).Properties.Cold.Average.rho*Ntt); 1138 1139 "Tube Side Reynolds Number" 1140 Unity(i).Tubes.HeatTransfer.Re = (Unity(i).Properties.Cold.Average.rho*Unity(i).Tubes.HeatTransfer.Vtube*Ditube)/Unity(i).Properties.Cold.Average.Mu; 1141 1142 "Tube Side Prandtl Number" 1143 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; 1144 1145 "Tube Side Prandtl Number at Wall Temperature" 1146 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; 1147 1148 "Tube Side Film Coefficient" 1149 Unity(i).Tubes.HeatTransfer.htube = HE.TubeFilmCoeff(Unity(i).Tubes.HeatTransfer.Re,Unity(i).Tubes.HeatTransfer.PR,Unity(i).Properties.Cold.Average.K)*Unity(i).Tubes.HeatTransfer.Phi; 1150 1151 "Shell Side Prandtl Number" 1152 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; 1153 1154 "Shell Side Prandtl Number at Wall Temperature" 1155 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; 1156 1157 1158 else 1159 1160 "Hot Wall Temperature" 1161 Unity(i).Properties.Hot.Wall.Twall = (Unity(i).Properties.Hot.Average.T+Unity(i).Properties.Cold.Average.T)/2; 1162 1163 "Cold Wall Temperature" 1164 Unity(i).Properties.Cold.Wall.Twall = (Unity(i).Properties.Hot.Average.T+Unity(i).Properties.Cold.Average.T)/2; 1165 1166 "Tube Side Velocity" 1167 Unity(i).Tubes.HeatTransfer.Vtube = Unity(i).Properties.Hot.Inlet.Fw*Tpass/((Pi*Ditube*Ditube/4)*Unity(i).Properties.Hot.Average.rho*Ntt); 1168 1169 "Tube Side Reynolds Number" 1170 Unity(i).Tubes.HeatTransfer.Re = (Unity(i).Properties.Hot.Average.rho*Unity(i).Tubes.HeatTransfer.Vtube*Ditube)/Unity(i).Properties.Hot.Average.Mu; 1171 1172 "Tube Side Prandtl Number" 1173 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; 1174 1175 "Tube Side Prandtl Number at Wall" 1176 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; 1177 1178 "Tube Side Film Coefficient" 1179 Unity(i).Tubes.HeatTransfer.htube= HE.TubeFilmCoeff(Unity(i).Tubes.HeatTransfer.Re,Unity(i).Tubes.HeatTransfer.PR,Unity(i).Properties.Hot.Average.K)*Unity(i).Tubes.HeatTransfer.Phi; 1180 1181 "Shell Side Prandtl Number" 1182 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; 1183 1184 "Shell Side Prandtl Number at Wall" 1185 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; 1186 1187 end 1188 1189 "Tube Resistance" 1190 Unity(i).Resistances.Rtube*(Unity(i).Tubes.HeatTransfer.htube*Ditube) = Dotube; 1191 1192 "Wall Resistance" 1193 Unity(i).Resistances.Rwall=Dotube*ln(Dotube/Ditube)/(2*Kwall); 1194 1195 "Shell Resistance" 1196 Unity(i).Resistances.Rshell*(Unity(i).Shell.HeatTransfer.hshell)=1; 1197 1198 "Overall Heat Transfer Coefficient Clean" 1199 Unity(i).Details.Uc=1/(Dotube/(Unity(i).Tubes.HeatTransfer.htube*Ditube)+(Dotube*ln(Dotube/Ditube)/(2*Kwall))+(1/(Unity(i).Shell.HeatTransfer.hshell))); 1200 1201 "Overall Heat Transfer Coefficient Dirty" 1202 (1/Unity(i).Details.Ud)=(1/Unity(i).Details.Uc)+Unity(i).Resistances.Rfo+Unity(i).Resistances.Rfi*(Dotube/Ditube); 1203 1204 "Exchange Surface Area" 1205 Unity(i).Details.A=Pi*Dotube*Ntt*Ltube; 1206 1207 "Baffles Spacing" 1208 Ltube = Unity(i).Baffles.Lsi+Unity(i).Baffles.Lso+Unity(i).Baffles.Ls*(Nb-1); 1209 1210 "TEMA E Shell Effectiveness" 1211 Eft(i) = 2*(1+Unity(i).Details.Cr+sqrt(1+Unity(i).Details.Cr^2)*((1+exp(-Unity(i).Details.NTU*sqrt(1+Unity(i).Details.Cr^2)))/(1-exp(-Unity(i).Details.NTU*sqrt(1+Unity(i).Details.Cr^2)))) )^-1; 1212 1213 "Js Factor" 1214 Unity(i).Shell.HeatTransfer.Js = HE.JsFactor(Unity(i).Shell.HeatTransfer.Re,Unity(i).Baffles.Lsi,Unity(i).Baffles.Lso,Unity(i).Baffles.Ls); 1215 1216 1217 if side equal 1 1218 1219 then 1220 1221 "Shell Side Reynolds Number" 1222 Unity(i).Shell.HeatTransfer.Re=(Dotube*Unity(i).Properties.Hot.Inlet.Fw/Unity(i).Shell.HeatTransfer.Sm)/Unity(i).Properties.Hot.Average.Mu; 1223 1224 "Shell Heat Transfer Coefficient" 1225 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; 1226 1227 "Shell Pressure Drop Cross Flow" 1228 Unity(i).Shell.PressureDrop.PdCross = HE.DeltaPcross(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); 1229 1230 "Shell Pressure Baffle Window" 1231 Unity(i).Shell.PressureDrop.Pdwindow = HE.DeltaPwindow(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); 1232 1233 "Shell Pressure End Zones" 1234 Unity(i).Shell.PressureDrop.PdEndZones = HE.DeltaPendZones(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); 1235 1236 1237 else 1238 1239 "Shell Side Reynolds Number" 1240 Unity(i).Shell.HeatTransfer.Re=(Dotube*Unity(i).Properties.Cold.Inlet.Fw/Unity(i).Shell.HeatTransfer.Sm)/Unity(i).Properties.Cold.Average.Mu; 1241 1242 "Shell Heat Transfer Coefficient" 1243 Unity(i).Shell.HeatTransfer.hshell=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^(-2/3))*Unity(i).Shell.HeatTransfer.Jtotal*Unity(i).Shell.HeatTransfer.Phi; 1244 1245 "Shell Pressure Drop Cross Flow" 1246 Unity(i).Shell.PressureDrop.PdCross = HE.DeltaPcross(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); 1247 1248 "Shell Pressure Baffle Window" 1249 Unity(i).Shell.PressureDrop.Pdwindow = HE.DeltaPwindow(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); 1250 1251 "Shell Pressure End Zones" 1252 Unity(i).Shell.PressureDrop.PdEndZones = HE.DeltaPendZones(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); 1253 1254 1255 end 1256 1257 "Duty" 1258 Unity(i).Details.Q = Eft(i)*Unity(i).Details.Cmin*(Unity(i).Inlet.Hot.T-Unity(i).Inlet.Cold.T); 1259 1260 end 1178 1261 1179 1262 end … … 1324 1407 Hinozzle_Shell as length (Brief="Height Under Shell Inlet Nozzle",Lower=10e-6); 1325 1408 Honozzle_Shell as length (Brief="Height Under Shell Outlet Nozzle",Lower=10e-6); 1409 Aonozzle_Shell as area (Brief="Shell Outlet Nozzle Area",Lower=10e-6); 1410 Ainozzle_Shell as area (Brief="Shell Inlet Nozzle Area",Lower=10e-6); 1411 Aeonozzle_Shell as area (Brief="Shell Outlet Escape Area Under Nozzle",Lower=10e-6); 1412 Aeinozzle_Shell as area (Brief="Shell Inlet Escape Area Under Nozzle",Lower=10e-6); 1326 1413 Lcf as length (Brief="Bundle-to-Shell Clearance",Lower=10e-8); 1327 1414 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# … … 1337 1424 Donozzle_Tube as length (Brief="Tube Outlet Nozzle Diameter",Lower=10e-6); 1338 1425 Dinozzle_Tube as length (Brief="Tube Inlett Nozzle Diameter",Lower=10e-6); 1426 Aonozzle_Tube as area (Brief="Tube Outlet Nozzle Area",Lower=10e-6); 1427 Ainozzle_Tube as area (Brief="Tube Inlet Nozzle Area",Lower=10e-6); 1428 Kinlet_Tube as positive (Brief="Tube Inlet Nozzle Pressure Loss Coeff",Default=1.1); 1429 Koutlet_Tube as positive (Brief="Tube Outlet Nozzle Pressure Loss Coeff",Default=0.7); 1430 1339 1431 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 1340 1432 # Baffles Geometrical Parameters … … 1352 1444 Unity(Nshell) as HeatExchangerDetailed_Basic; 1353 1445 1354 CONNECTIONS 1355 1356 Unity([1:Nshell-1]).Outlet.Hot to Unity([2:Nshell]).Inlet.Hot; 1357 Unity([2:Nshell]).Outlet.Cold to Unity([1:Nshell-1]).Inlet.Cold; 1358 1359 EQUATIONS 1360 1361 for i in [1:Nshell] 1362 1363 "Shell Side Cross Flow Area" 1364 Unity(i).Shell.HeatTransfer.Sm = HE.CrossFlowArea(Unity(i).Baffles.Ls); 1365 1366 "Ji Factor" 1367 Unity(i).Shell.HeatTransfer.Ji = HE.JiFactor(Unity(i).Shell.HeatTransfer.Re); 1368 1369 "Jc Factor" 1370 Unity(i).Shell.HeatTransfer.Jc = HE.JcFactor(); 1371 1372 "Jl Factor" 1373 Unity(i).Shell.HeatTransfer.Jl = HE.JlFactor(Unity(i).Shell.HeatTransfer.Sm); 1374 1375 "Jb Factor" 1376 Unity(i).Shell.HeatTransfer.Jb = HE.JbFactor(Unity(i).Shell.HeatTransfer.Re,Unity(i).Baffles.Ls,Unity(i).Shell.HeatTransfer.Sm); 1377 1378 "Jr Factor" 1379 Unity(i).Shell.HeatTransfer.Jr = HE.JrFactor(Unity(i).Shell.HeatTransfer.Re); 1380 1381 "Total J Factor" 1382 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; 1383 1384 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 1385 # Fluid Alocation 1386 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 1387 1388 if side equal 1 then 1389 1390 1391 "Shell Side Phi correction for viscosity" 1392 Unity(i).Shell.HeatTransfer.Phi = HE.PhiCorrection(Unity(i).Properties.Hot.Average.Mu,Unity(i).Properties.Hot.Wall.Mu); 1393 1394 "Tube Side Phi correction for viscosity" 1395 Unity(i).Tubes.HeatTransfer.Phi = HE.PhiCorrection(Unity(i).Properties.Cold.Average.Mu,Unity(i).Properties.Cold.Wall.Mu); 1396 1397 else 1398 1399 1400 "Shell Side Phi correction for viscosity" 1401 Unity(i).Shell.HeatTransfer.Phi = HE.PhiCorrection(Unity(i).Properties.Cold.Average.Mu,Unity(i).Properties.Cold.Wall.Mu); 1402 1403 "Tube Side Phi correction for viscosity" 1404 Unity(i).Tubes.HeatTransfer.Phi = HE.PhiCorrection(Unity(i).Properties.Hot.Average.Mu,Unity(i).Properties.Hot.Wall.Mu); 1405 1406 end 1407 1408 1409 if side equal 1 1410 1411 then 1412 1413 "Cold Wall Temperature" 1414 Unity(i).Properties.Cold.Wall.Twall = (Unity(i).Properties.Hot.Average.T+Unity(i).Properties.Cold.Average.T)/2; 1415 1416 "Hot Wall Temperature" 1417 Unity(i).Properties.Hot.Wall.Twall = (Unity(i).Properties.Hot.Average.T+Unity(i).Properties.Cold.Average.T)/2; 1418 1419 "Tube Side Velocity" 1420 Unity(i).Tubes.HeatTransfer.Vtube = Unity(i).Properties.Cold.Inlet.Fw*Tpass/((Pi*Ditube*Ditube/4)*Unity(i).Properties.Cold.Average.rho*Ntt); 1421 1422 "Tube Side Reynolds Number" 1423 Unity(i).Tubes.HeatTransfer.Re=(Unity(i).Properties.Cold.Average.rho*Unity(i).Tubes.HeatTransfer.Vtube*Ditube)/Unity(i).Properties.Cold.Average.Mu; 1424 1425 "Tube Side Prandtl Number" 1426 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; 1427 1428 "Tube Side Prandtl Number at Wall" 1429 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; 1430 1431 "Tube Side Film Coefficient" 1432 Unity(i).Tubes.HeatTransfer.htube= HE.TubeFilmCoeff(Unity(i).Tubes.HeatTransfer.Re,Unity(i).Tubes.HeatTransfer.PR,Unity(i).Properties.Cold.Average.K)*Unity(i).Tubes.HeatTransfer.Phi; 1433 1434 "Shell Side Prandtl Number" 1435 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; 1436 1437 "Shell Side Prandtl Number at Wall" 1438 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; 1439 1440 "Tube Side Pressure Drop" 1441 Unity(i).Tubes.PressureDrop.PdTube = HE.DeltaPtube(Unity(i).Tubes.HeatTransfer.Re,Unity(i).Properties.Cold.Average.rho,Unity(i).Tubes.HeatTransfer.Vtube,Unity(i).Tubes.HeatTransfer.Phi); 1442 1443 "Pressure Drop Tube Side Inlet Nozzle" 1444 Unity(i).Tubes.PressureDrop.Pdnozzle_in = HE.DeltaPtubeNozzlein(Unity(i).Properties.Cold.Inlet.rho,Unity(i).Properties.Cold.Inlet.Fw); 1445 1446 "Velocity Tube Side Inlet Nozzle" 1447 Unity(i).Tubes.PressureDrop.Vnozzle_in = HE.TubeVelocityNozzlein(Unity(i).Properties.Cold.Inlet.rho,Unity(i).Properties.Cold.Inlet.Fw); 1448 1449 "Pressure Drop Tube Side Outlet Nozzle" 1450 Unity(i).Tubes.PressureDrop.Pdnozzle_out = HE.DeltaPtubeNozzleout(Unity(i).Properties.Cold.Outlet.rho,Unity(i).Properties.Cold.Inlet.Fw); 1451 1452 "Velocity Tube Side Outlet Nozzle" 1453 Unity(i).Tubes.PressureDrop.Vnozzle_out = HE.TubeVelocityNozzleout(Unity(i).Properties.Cold.Outlet.rho,Unity(i).Properties.Cold.Inlet.Fw); 1454 1455 "Shell Pressure Drop Inlet Nozzle" 1456 Unity(i).Shell.PressureDrop.Pdnozzle_in = HE.DeltaPshellNozzleIn(Unity(i).Properties.Hot.Inlet.rho,Unity(i).Properties.Hot.Inlet.Fw); 1457 1458 "Velocity Shell Side Inlet Nozzle" 1459 Unity(i).Shell.PressureDrop.Vnozzle_in = HE.ShellVelocityNozzleIn(Unity(i).Properties.Hot.Inlet.rho,Unity(i).Properties.Hot.Inlet.Fw); 1460 1461 "Shell Pressure Drop Outlet Nozzle" 1462 Unity(i).Shell.PressureDrop.Pdnozzle_out =HE.DeltaPshellNozzleOut(Unity(i).Properties.Hot.Outlet.rho,Unity(i).Properties.Hot.Inlet.Fw); 1463 1464 "Velocity Shell Side Outlet Nozzle" 1465 Unity(i).Shell.PressureDrop.Vnozzle_out =HE.ShellVelocityNozzleOut(Unity(i).Properties.Hot.Outlet.rho,Unity(i).Properties.Hot.Inlet.Fw); 1466 1467 "Pressure Drop Hot Stream" 1468 Unity(i).Outlet.Hot.P = Unity(i).Inlet.Hot.P- Unity(i).Shell.PressureDrop.Pdtotal; 1469 1470 "Pressure Drop Cold Stream" 1471 Unity(i).Outlet.Cold.P = Unity(i).Inlet.Cold.P - Unity(i).Tubes.PressureDrop.Pdtotal; 1472 1473 1474 else 1475 1476 "Cold Wall Temperature" 1477 Unity(i).Properties.Cold.Wall.Twall = (Unity(i).Properties.Hot.Average.T+Unity(i).Properties.Cold.Average.T)/2; 1478 1479 "Hot Wall Temperature" 1480 Unity(i).Properties.Hot.Wall.Twall = (Unity(i).Properties.Hot.Average.T+Unity(i).Properties.Cold.Average.T)/2; 1481 1482 "Tube Side Velocity" 1483 Unity(i).Tubes.HeatTransfer.Vtube = Unity(i).Properties.Hot.Inlet.Fw*Tpass/((Pi*Ditube*Ditube/4)*Unity(i).Properties.Hot.Average.rho*Ntt); 1484 1485 "Tube Side Reynolds Number" 1486 Unity(i).Tubes.HeatTransfer.Re=(Unity(i).Properties.Hot.Average.rho*Unity(i).Tubes.HeatTransfer.Vtube*Ditube)/Unity(i).Properties.Hot.Average.Mu; 1487 1488 "Tube Side Prandtl Number" 1489 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; 1490 1491 "Tube Side Prandtl Number at Wall" 1492 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; 1493 1494 "Tube Side Film Coefficient" 1495 Unity(i).Tubes.HeatTransfer.htube= HE.TubeFilmCoeff(Unity(i).Tubes.HeatTransfer.Re,Unity(i).Tubes.HeatTransfer.PR,Unity(i).Properties.Hot.Average.K)*Unity(i).Tubes.HeatTransfer.Phi; 1496 1497 "Shell Side Prandtl Number" 1498 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; 1499 1500 "Shell Side Prandtl Number at Wall" 1501 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; 1502 1503 "Tube Side Pressure Drop" 1504 Unity(i).Tubes.PressureDrop.PdTube = HE.DeltaPtube(Unity(i).Tubes.HeatTransfer.Re,Unity(i).Properties.Hot.Average.rho,Unity(i).Tubes.HeatTransfer.Vtube,Unity(i).Tubes.HeatTransfer.Phi); 1505 1506 "Pressure Drop Tube Side Inlet Nozzle" 1507 Unity(i).Tubes.PressureDrop.Pdnozzle_in = HE.DeltaPtubeNozzlein(Unity(i).Properties.Hot.Inlet.rho,Unity(i).Properties.Hot.Inlet.Fw); 1508 1509 "Velocity Tube Side Inlet Nozzle" 1510 Unity(i).Tubes.PressureDrop.Vnozzle_in = HE.TubeVelocityNozzlein(Unity(i).Properties.Hot.Inlet.rho,Unity(i).Properties.Hot.Inlet.Fw); 1511 1512 "Pressure Drop Tube Side Outlet Nozzle" 1513 Unity(i).Tubes.PressureDrop.Pdnozzle_out = HE.DeltaPtubeNozzleout(Unity(i).Properties.Hot.Outlet.rho,Unity(i).Properties.Hot.Inlet.Fw); 1514 1515 "Velocity Tube Side Outlet Nozzle" 1516 Unity(i).Tubes.PressureDrop.Vnozzle_out = HE.TubeVelocityNozzleout(Unity(i).Properties.Hot.Outlet.rho,Unity(i).Properties.Hot.Inlet.Fw); 1517 1518 "Shell Pressure Drop Inlet Nozzle" 1519 Unity(i).Shell.PressureDrop.Pdnozzle_in = HE.DeltaPshellNozzleIn(Unity(i).Properties.Cold.Inlet.rho,Unity(i).Properties.Cold.Inlet.Fw); 1520 1521 "Velocity Shell Side Inlet Nozzle" 1522 Unity(i).Shell.PressureDrop.Vnozzle_in = HE.ShellVelocityNozzleIn(Unity(i).Properties.Cold.Inlet.rho,Unity(i).Properties.Cold.Inlet.Fw); 1523 1524 "Shell Pressure Drop Outlet Nozzle" 1525 Unity(i).Shell.PressureDrop.Pdnozzle_out = HE.DeltaPshellNozzleOut(Unity(i).Properties.Cold.Outlet.rho,Unity(i).Properties.Cold.Inlet.Fw); 1526 1527 "Velocity Shell Side Outlet Nozzle" 1528 Unity(i).Shell.PressureDrop.Vnozzle_out = HE.ShellVelocityNozzleOut(Unity(i).Properties.Cold.Outlet.rho,Unity(i).Properties.Cold.Inlet.Fw); 1529 1530 "Pressure Drop Hot Stream" 1531 Unity(i).Outlet.Hot.P = Unity(i).Inlet.Hot.P- Unity(i).Tubes.PressureDrop.Pdtotal; 1532 1533 "Pressure Drop Cold Stream" 1534 Unity(i).Outlet.Cold.P = Unity(i).Inlet.Cold.P - Unity(i).Shell.PressureDrop.Pdtotal; 1535 1536 1537 end 1538 1539 if side equal 1 1540 1541 then 1542 1543 "Shell Side inlet Nozzle rho-V^2" 1544 Unity(i).Shell.PressureDrop.RVsquare_in = Unity(i).Properties.Hot.Inlet.rho*(Unity(i).Shell.PressureDrop.Vnozzle_in)^2; 1545 1546 "Shell Side Outlet Nozzle rho-V^2" 1547 Unity(i).Shell.PressureDrop.RVsquare_out = Unity(i).Properties.Hot.Outlet.rho*(Unity(i).Shell.PressureDrop.Vnozzle_out)^2; 1548 1549 else 1550 1551 "Shell Side inlet Nozzle rho-V^2" 1552 Unity(i).Shell.PressureDrop.RVsquare_in = Unity(i).Properties.Cold.Inlet.rho*(Unity(i).Shell.PressureDrop.Vnozzle_in)^2; 1553 1554 "Shell Side Outlet Nozzle rho-V^2" 1555 Unity(i).Shell.PressureDrop.RVsquare_out = Unity(i).Properties.Cold.Outlet.rho*(Unity(i).Shell.PressureDrop.Vnozzle_out)^2; 1556 1557 end 1558 1559 "Tube Resistance" 1560 Unity(i).Resistances.Rtube*(Unity(i).Tubes.HeatTransfer.htube*Ditube) = Dotube; 1561 1562 "Wall Resistance" 1563 Unity(i).Resistances.Rwall=Dotube*ln(Dotube/Ditube)/(2*Kwall); 1564 1565 "Shell Resistance" 1566 Unity(i).Resistances.Rshell*(Unity(i).Shell.HeatTransfer.hshell)=1; 1567 1568 "Overall Heat Transfer Coefficient Clean" 1569 Unity(i).Details.Uc*(Dotube/(Unity(i).Tubes.HeatTransfer.htube*Ditube)+(Dotube*ln(Dotube/Ditube)/(2*Kwall))+(1/(Unity(i).Shell.HeatTransfer.hshell)))=1; 1570 1571 "Overall Heat Transfer Coefficient Dirty" 1572 (1/Unity(i).Details.Ud)=(1/Unity(i).Details.Uc)+Unity(i).Resistances.Rfo+Unity(i).Resistances.Rfi*(Dotube/Ditube); 1573 1574 "Exchange Surface Area" 1575 Unity(i).Details.A=Pi*Dotube*Ntt*Ltube; 1576 1577 "Baffles Spacing" 1578 Ltube = Unity(i).Baffles.Lsi+Unity(i).Baffles.Lso+Unity(i).Baffles.Ls*(Nb-1); 1579 1580 "LMTD Correction Factor" 1581 Fc(i) = HE.EshellCorrectionFactor(Unity(i).Inlet.Hot.T,Unity(i).Outlet.Hot.T,Unity(i).Inlet.Cold.T,Unity(i).Outlet.Cold.T); 1582 1583 "Counter Flow LMTD" 1584 LMTD(i) = HE.CounterLMTD(Unity(i).Inlet.Hot.T,Unity(i).Outlet.Hot.T,Unity(i).Inlet.Cold.T,Unity(i).Outlet.Cold.T); 1585 1586 "Js Factor" 1587 Unity(i).Shell.HeatTransfer.Js = HE.JsFactor(Unity(i).Shell.HeatTransfer.Re,Unity(i).Baffles.Lsi,Unity(i).Baffles.Lso,Unity(i).Baffles.Ls); 1588 1589 if side equal 1 1590 1591 then 1592 1593 "Shell Side Reynolds Number" 1594 Unity(i).Shell.HeatTransfer.Re=(Dotube*Unity(i).Properties.Hot.Inlet.Fw/Unity(i).Shell.HeatTransfer.Sm)/Unity(i).Properties.Hot.Average.Mu; 1595 1596 "Shell Heat Transfer Coefficient" 1597 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; 1598 1599 "Shell Pressure Drop Cross Flow" 1600 Unity(i).Shell.PressureDrop.PdCross = HE.DeltaPcross(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); 1601 1602 "Shell Pressure Baffle Window" 1603 Unity(i).Shell.PressureDrop.Pdwindow = HE.DeltaPwindow(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); 1604 1605 "Shell Pressure End Zones" 1606 Unity(i).Shell.PressureDrop.PdEndZones = HE.DeltaPendZones(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); 1607 1608 1609 else 1610 1611 "Shell Side Reynolds Number" 1612 Unity(i).Shell.HeatTransfer.Re=(Dotube*Unity(i).Properties.Cold.Inlet.Fw/Unity(i).Shell.HeatTransfer.Sm)/Unity(i).Properties.Cold.Average.Mu; 1613 1614 "Shell Heat Transfer Coefficient" 1615 Unity(i).Shell.HeatTransfer.hshell=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^(-2/3))*Unity(i).Shell.HeatTransfer.Jtotal*Unity(i).Shell.HeatTransfer.Phi; 1616 1617 "Shell Pressure Drop Cross Flow" 1618 Unity(i).Shell.PressureDrop.PdCross = HE.DeltaPcross(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); 1619 1620 "Shell Pressure Baffle Window" 1621 Unity(i).Shell.PressureDrop.Pdwindow = HE.DeltaPwindow(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); 1622 1623 "Shell Pressure End Zones" 1624 Unity(i).Shell.PressureDrop.PdEndZones = HE.DeltaPendZones(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); 1625 1626 1627 end 1628 1629 "Exchange Surface Area" 1630 Unity(i).Details.Q = Unity(i).Details.Ud*Pi*Dotube*Ntt*Ltube*Fc(i)*LMTD(i); 1631 1632 "Mean Temperature Difference" 1633 MTD(i) = Fc(i)*LMTD(i); 1634 1635 end 1636 1637 SET 1446 SET 1638 1447 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 1639 1448 # Set Parameters for heatex Calculation … … 1661 1470 HE.Ltd = Ltd; 1662 1471 side = HE.FluidAlocation(); 1663 1664 end 1665 1472 1473 #"Tube Side Inlet Nozzle Area" 1474 Ainozzle_Tube = (Pi*Dinozzle_Tube*Dinozzle_Tube)/4; 1475 1476 #"Tube Side Outlet Nozzle Area" 1477 Aonozzle_Tube = (Pi*Donozzle_Tube*Donozzle_Tube)/4; 1478 1479 #"Tube Inlet Nozzle Pressure Loss Coeff" 1480 Kinlet_Tube = 1.1; 1481 1482 #"Tube Outlet Nozzle Pressure Loss Coeff" 1483 Koutlet_Tube = 0.7; 1484 1485 #"Shell Outlet Nozzle Area" 1486 Aonozzle_Shell = (Pi*Donozzle_Shell*Donozzle_Shell)/4; 1487 1488 #"Shell Inlet Nozzle Area" 1489 Ainozzle_Shell = (Pi*Dinozzle_Shell*Dinozzle_Shell)/4; 1490 1491 #"Shell Outlet Escape Area Under Nozzle" 1492 Aeonozzle_Shell = Pi*Donozzle_Shell*Honozzle_Shell + 0.6*Aonozzle_Shell*(1-Dotube/pitch); 1493 1494 #"Shell Inlet Escape Area Under Nozzle" 1495 Aeinozzle_Shell = Pi*Dinozzle_Shell*Hinozzle_Shell + 0.6*Ainozzle_Shell*(1-Dotube/pitch); 1496 1497 CONNECTIONS 1498 1499 Unity([1:Nshell-1]).Outlet.Hot to Unity([2:Nshell]).Inlet.Hot; 1500 Unity([2:Nshell]).Outlet.Cold to Unity([1:Nshell-1]).Inlet.Cold; 1501 1502 EQUATIONS 1503 1504 for i in [1:Nshell] 1505 1506 "Shell Side Cross Flow Area" 1507 Unity(i).Shell.HeatTransfer.Sm = HE.CrossFlowArea(Unity(i).Baffles.Ls); 1508 1509 "Ji Factor" 1510 Unity(i).Shell.HeatTransfer.Ji = HE.JiFactor(Unity(i).Shell.HeatTransfer.Re); 1511 1512 "Jc Factor" 1513 Unity(i).Shell.HeatTransfer.Jc = HE.JcFactor(); 1514 1515 "Jl Factor" 1516 Unity(i).Shell.HeatTransfer.Jl = HE.JlFactor(Unity(i).Shell.HeatTransfer.Sm); 1517 1518 "Jb Factor" 1519 Unity(i).Shell.HeatTransfer.Jb = HE.JbFactor(Unity(i).Shell.HeatTransfer.Re,Unity(i).Baffles.Ls,Unity(i).Shell.HeatTransfer.Sm); 1520 1521 "Jr Factor" 1522 Unity(i).Shell.HeatTransfer.Jr = HE.JrFactor(Unity(i).Shell.HeatTransfer.Re); 1523 1524 "Total J Factor" 1525 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; 1526 1527 if side equal 1 1528 1529 then 1530 1531 "Tube Side Pressure Drop" 1532 Unity(i).Tubes.PressureDrop.PdTube = HE.DeltaPtube(Unity(i).Tubes.HeatTransfer.Re,Unity(i).Properties.Cold.Average.rho,Unity(i).Tubes.HeatTransfer.Vtube,Unity(i).Tubes.HeatTransfer.Phi); 1533 1534 "Pressure Drop Tube Side Inlet Nozzle" 1535 Unity(i).Tubes.PressureDrop.Pdnozzle_in = 0.5*Kinlet_Tube*Unity(i).Properties.Cold.Inlet.rho*Unity(i).Tubes.PressureDrop.Vnozzle_in^2; 1536 1537 "Velocity Tube Side Inlet Nozzle" 1538 Unity(i).Tubes.PressureDrop.Vnozzle_in = Unity(i).Properties.Cold.Inlet.Fw/(Unity(i).Properties.Cold.Inlet.rho*Ainozzle_Tube); 1539 1540 "Pressure Drop Tube Side Outlet Nozzle" 1541 Unity(i).Tubes.PressureDrop.Pdnozzle_out = 0.5*Koutlet_Tube*Unity(i).Properties.Cold.Outlet.rho*Unity(i).Tubes.PressureDrop.Vnozzle_out^2; 1542 1543 "Velocity Tube Side Outlet Nozzle" 1544 Unity(i).Tubes.PressureDrop.Vnozzle_out = Unity(i).Properties.Cold.Inlet.Fw/(Unity(i).Properties.Cold.Outlet.rho*Aonozzle_Tube); 1545 1546 "Shell Pressure Drop Inlet Nozzle" 1547 Unity(i).Shell.PressureDrop.Pdnozzle_in = (0.5*Unity(i).Properties.Hot.Inlet.Fw^2/Unity(i).Properties.Hot.Inlet.rho)*((1/Ainozzle_Shell^2)+(1/Aeinozzle_Shell^2)); 1548 1549 "Velocity Shell Side Inlet Nozzle" 1550 Unity(i).Shell.PressureDrop.Vnozzle_in = Unity(i).Properties.Hot.Inlet.Fw/(Unity(i).Properties.Hot.Inlet.rho*Ainozzle_Shell); 1551 1552 "Shell Pressure Drop Outlet Nozzle" 1553 Unity(i).Shell.PressureDrop.Pdnozzle_out = (0.5*Unity(i).Properties.Hot.Outlet.Fw^2/Unity(i).Properties.Hot.Outlet.rho)*((1/Ainozzle_Shell^2)+(1/Aeinozzle_Shell^2)); 1554 1555 "Velocity Shell Side Outlet Nozzle" 1556 Unity(i).Shell.PressureDrop.Vnozzle_out = Unity(i).Properties.Hot.Outlet.Fw/(Unity(i).Properties.Hot.Outlet.rho*Aonozzle_Shell); 1557 1558 "Pressure Drop Hot Stream" 1559 Unity(i).Outlet.Hot.P = Unity(i).Inlet.Hot.P - Unity(i).Shell.PressureDrop.Pdtotal; 1560 1561 "Pressure Drop Cold Stream" 1562 Unity(i).Outlet.Cold.P = Unity(i).Inlet.Cold.P - Unity(i).Tubes.PressureDrop.Pdtotal; 1563 1564 1565 else 1566 1567 "Tube Side Pressure Drop" 1568 Unity(i).Tubes.PressureDrop.PdTube = HE.DeltaPtube(Unity(i).Tubes.HeatTransfer.Re,Unity(i).Properties.Hot.Average.rho,Unity(i).Tubes.HeatTransfer.Vtube,Unity(i).Tubes.HeatTransfer.Phi); 1569 1570 "Pressure Drop Tube Side Inlet Nozzle" 1571 Unity(i).Tubes.PressureDrop.Pdnozzle_in = 0.5*Kinlet_Tube*Unity(i).Properties.Hot.Inlet.rho*Unity(i).Tubes.PressureDrop.Vnozzle_in^2; 1572 1573 "Velocity Tube Side Inlet Nozzle" 1574 Unity(i).Tubes.PressureDrop.Vnozzle_in = Unity(i).Properties.Hot.Inlet.Fw/(Unity(i).Properties.Hot.Inlet.rho*Ainozzle_Tube); 1575 1576 "Pressure Drop Tube Side Outlet Nozzle" 1577 Unity(i).Tubes.PressureDrop.Pdnozzle_out = 0.5*Koutlet_Tube*Unity(i).Properties.Hot.Outlet.rho*Unity(i).Tubes.PressureDrop.Vnozzle_out^2; 1578 1579 "Velocity Tube Side Outlet Nozzle" 1580 Unity(i).Tubes.PressureDrop.Vnozzle_out = Unity(i).Properties.Hot.Inlet.Fw/(Unity(i).Properties.Hot.Outlet.rho*Aonozzle_Tube); 1581 1582 "Shell Pressure Drop Inlet Nozzle" 1583 Unity(i).Shell.PressureDrop.Pdnozzle_in = (0.5*Unity(i).Properties.Cold.Inlet.Fw^2/Unity(i).Properties.Cold.Inlet.rho)*((1/Ainozzle_Shell^2)+(1/Aeinozzle_Shell^2)); 1584 1585 "Velocity Shell Side Inlet Nozzle" 1586 Unity(i).Shell.PressureDrop.Vnozzle_in = Unity(i).Properties.Cold.Inlet.Fw/(Unity(i).Properties.Cold.Inlet.rho*Ainozzle_Shell); 1587 1588 "Shell Pressure Drop Outlet Nozzle" 1589 Unity(i).Shell.PressureDrop.Pdnozzle_out = (0.5*Unity(i).Properties.Cold.Outlet.Fw^2/Unity(i).Properties.Cold.Outlet.rho)*((1/Ainozzle_Shell^2)+(1/Aeinozzle_Shell^2)); 1590 1591 "Velocity Shell Side Outlet Nozzle" 1592 Unity(i).Shell.PressureDrop.Vnozzle_out = Unity(i).Properties.Cold.Outlet.Fw/(Unity(i).Properties.Cold.Outlet.rho*Ainozzle_Shell); 1593 1594 "Pressure Drop Hot Stream" 1595 Unity(i).Outlet.Hot.P = Unity(i).Inlet.Hot.P- Unity(i).Tubes.PressureDrop.Pdtotal; 1596 1597 "Pressure Drop Cold Stream" 1598 Unity(i).Outlet.Cold.P = Unity(i).Inlet.Cold.P - Unity(i).Shell.PressureDrop.Pdtotal; 1599 1600 end 1601 1602 1603 if side equal 1 then 1604 1605 1606 "Shell Side Phi correction for viscosity" 1607 Unity(i).Shell.HeatTransfer.Phi = HE.PhiCorrection(Unity(i).Properties.Hot.Average.Mu,Unity(i).Properties.Hot.Wall.Mu); 1608 1609 "Tube Side Phi correction for viscosity" 1610 Unity(i).Tubes.HeatTransfer.Phi = HE.PhiCorrection(Unity(i).Properties.Cold.Average.Mu,Unity(i).Properties.Cold.Wall.Mu); 1611 1612 else 1613 1614 1615 "Shell Side Phi correction for viscosity" 1616 Unity(i).Shell.HeatTransfer.Phi = HE.PhiCorrection(Unity(i).Properties.Cold.Average.Mu,Unity(i).Properties.Cold.Wall.Mu); 1617 1618 "Tube Side Phi correction for viscosity" 1619 Unity(i).Tubes.HeatTransfer.Phi = HE.PhiCorrection(Unity(i).Properties.Hot.Average.Mu,Unity(i).Properties.Hot.Wall.Mu); 1620 1621 end 1622 1623 1624 if side equal 1 1625 1626 then 1627 1628 "Shell Side inlet Nozzle rho-V^2" 1629 Unity(i).Shell.PressureDrop.RVsquare_in = Unity(i).Properties.Hot.Inlet.rho*(Unity(i).Shell.PressureDrop.Vnozzle_in)^2; 1630 1631 "Shell Side Outlet Nozzle rho-V^2" 1632 Unity(i).Shell.PressureDrop.RVsquare_out = Unity(i).Properties.Hot.Outlet.rho*(Unity(i).Shell.PressureDrop.Vnozzle_out)^2; 1633 1634 else 1635 1636 "Shell Side inlet Nozzle rho-V^2" 1637 Unity(i).Shell.PressureDrop.RVsquare_in = Unity(i).Properties.Cold.Inlet.rho*(Unity(i).Shell.PressureDrop.Vnozzle_in)^2; 1638 1639 "Shell Side Outlet Nozzle rho-V^2" 1640 Unity(i).Shell.PressureDrop.RVsquare_out = Unity(i).Properties.Cold.Outlet.rho*(Unity(i).Shell.PressureDrop.Vnozzle_out)^2; 1641 1642 end 1643 1644 if side equal 1 1645 1646 then 1647 1648 "Hot Wall Temperature" 1649 Unity(i).Properties.Hot.Wall.Twall = (Unity(i).Properties.Hot.Average.T+Unity(i).Properties.Cold.Average.T)/2; 1650 1651 "ColdWall Temperature" 1652 Unity(i).Properties.Cold.Wall.Twall = (Unity(i).Properties.Hot.Average.T+Unity(i).Properties.Cold.Average.T)/2; 1653 1654 "Tube Side Velocity" 1655 Unity(i).Tubes.HeatTransfer.Vtube = Unity(i).Properties.Cold.Inlet.Fw*Tpass/((Pi*Ditube*Ditube/4)*Unity(i).Properties.Cold.Average.rho*Ntt); 1656 1657 "Tube Side Reynolds Number" 1658 Unity(i).Tubes.HeatTransfer.Re = (Unity(i).Properties.Cold.Average.rho*Unity(i).Tubes.HeatTransfer.Vtube*Ditube)/Unity(i).Properties.Cold.Average.Mu; 1659 1660 "Tube Side Prandtl Number" 1661 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; 1662 1663 "Tube Side Prandtl Number at Wall Temperature" 1664 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; 1665 1666 "Tube Side Film Coefficient" 1667 Unity(i).Tubes.HeatTransfer.htube = HE.TubeFilmCoeff(Unity(i).Tubes.HeatTransfer.Re,Unity(i).Tubes.HeatTransfer.PR,Unity(i).Properties.Cold.Average.K)*Unity(i).Tubes.HeatTransfer.Phi; 1668 1669 "Shell Side Prandtl Number" 1670 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; 1671 1672 "Shell Side Prandtl Number at Wall Temperature" 1673 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; 1674 1675 1676 else 1677 1678 "Hot Wall Temperature" 1679 Unity(i).Properties.Hot.Wall.Twall = (Unity(i).Properties.Hot.Average.T+Unity(i).Properties.Cold.Average.T)/2; 1680 1681 "Cold Wall Temperature" 1682 Unity(i).Properties.Cold.Wall.Twall = (Unity(i).Properties.Hot.Average.T+Unity(i).Properties.Cold.Average.T)/2; 1683 1684 "Tube Side Velocity" 1685 Unity(i).Tubes.HeatTransfer.Vtube = Unity(i).Properties.Hot.Inlet.Fw*Tpass/((Pi*Ditube*Ditube/4)*Unity(i).Properties.Hot.Average.rho*Ntt); 1686 1687 "Tube Side Reynolds Number" 1688 Unity(i).Tubes.HeatTransfer.Re = (Unity(i).Properties.Hot.Average.rho*Unity(i).Tubes.HeatTransfer.Vtube*Ditube)/Unity(i).Properties.Hot.Average.Mu; 1689 1690 "Tube Side Prandtl Number" 1691 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; 1692 1693 "Tube Side Prandtl Number at Wall" 1694 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; 1695 1696 "Tube Side Film Coefficient" 1697 Unity(i).Tubes.HeatTransfer.htube= HE.TubeFilmCoeff(Unity(i).Tubes.HeatTransfer.Re,Unity(i).Tubes.HeatTransfer.PR,Unity(i).Properties.Hot.Average.K)*Unity(i).Tubes.HeatTransfer.Phi; 1698 1699 "Shell Side Prandtl Number" 1700 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; 1701 1702 "Shell Side Prandtl Number at Wall" 1703 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; 1704 1705 end 1706 1707 1708 "Tube Resistance" 1709 Unity(i).Resistances.Rtube*(Unity(i).Tubes.HeatTransfer.htube*Ditube) = Dotube; 1710 1711 "Wall Resistance" 1712 Unity(i).Resistances.Rwall=Dotube*ln(Dotube/Ditube)/(2*Kwall); 1713 1714 "Shell Resistance" 1715 Unity(i).Resistances.Rshell*(Unity(i).Shell.HeatTransfer.hshell)=1; 1716 1717 "Overall Heat Transfer Coefficient Clean" 1718 Unity(i).Details.Uc*(Dotube/(Unity(i).Tubes.HeatTransfer.htube*Ditube)+(Dotube*ln(Dotube/Ditube)/(2*Kwall))+(1/(Unity(i).Shell.HeatTransfer.hshell)))=1; 1719 1720 "Overall Heat Transfer Coefficient Dirty" 1721 (1/Unity(i).Details.Ud)=(1/Unity(i).Details.Uc)+Unity(i).Resistances.Rfo+Unity(i).Resistances.Rfi*(Dotube/Ditube); 1722 1723 "Exchange Surface Area" 1724 Unity(i).Details.A=Pi*Dotube*Ntt*Ltube; 1725 1726 "Baffles Spacing" 1727 Ltube = Unity(i).Baffles.Lsi+Unity(i).Baffles.Lso+Unity(i).Baffles.Ls*(Nb-1); 1728 1729 "LMTD Correction Factor" 1730 Fc(i) = HE.EshellCorrectionFactor(Unity(i).Inlet.Hot.T,Unity(i).Outlet.Hot.T,Unity(i).Inlet.Cold.T,Unity(i).Outlet.Cold.T); 1731 1732 "Counter Flow LMTD" 1733 LMTD(i) = HE.CounterLMTD(Unity(i).Inlet.Hot.T,Unity(i).Outlet.Hot.T,Unity(i).Inlet.Cold.T,Unity(i).Outlet.Cold.T); 1734 1735 "Js Factor" 1736 Unity(i).Shell.HeatTransfer.Js = HE.JsFactor(Unity(i).Shell.HeatTransfer.Re,Unity(i).Baffles.Lsi,Unity(i).Baffles.Lso,Unity(i).Baffles.Ls); 1737 1738 if side equal 1 1739 1740 then 1741 1742 "Shell Side Reynolds Number" 1743 Unity(i).Shell.HeatTransfer.Re=(Dotube*Unity(i).Properties.Hot.Inlet.Fw/Unity(i).Shell.HeatTransfer.Sm)/Unity(i).Properties.Hot.Average.Mu; 1744 1745 "Shell Heat Transfer Coefficient" 1746 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; 1747 1748 "Shell Pressure Drop Cross Flow" 1749 Unity(i).Shell.PressureDrop.PdCross = HE.DeltaPcross(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); 1750 1751 "Shell Pressure Baffle Window" 1752 Unity(i).Shell.PressureDrop.Pdwindow = HE.DeltaPwindow(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); 1753 1754 "Shell Pressure End Zones" 1755 Unity(i).Shell.PressureDrop.PdEndZones = HE.DeltaPendZones(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); 1756 1757 1758 else 1759 1760 "Shell Side Reynolds Number" 1761 Unity(i).Shell.HeatTransfer.Re=(Dotube*Unity(i).Properties.Cold.Inlet.Fw/Unity(i).Shell.HeatTransfer.Sm)/Unity(i).Properties.Cold.Average.Mu; 1762 1763 "Shell Heat Transfer Coefficient" 1764 Unity(i).Shell.HeatTransfer.hshell=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^(-2/3))*Unity(i).Shell.HeatTransfer.Jtotal*Unity(i).Shell.HeatTransfer.Phi; 1765 1766 "Shell Pressure Drop Cross Flow" 1767 Unity(i).Shell.PressureDrop.PdCross = HE.DeltaPcross(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); 1768 1769 "Shell Pressure Baffle Window" 1770 Unity(i).Shell.PressureDrop.Pdwindow = HE.DeltaPwindow(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); 1771 1772 "Shell Pressure End Zones" 1773 Unity(i).Shell.PressureDrop.PdEndZones = HE.DeltaPendZones(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); 1774 1775 1776 end 1777 1778 1779 "Exchange Surface Area" 1780 Unity(i).Details.Q = Unity(i).Details.Ud*Pi*Dotube*Ntt*Ltube*Fc(i)*LMTD(i); 1781 1782 "Mean Temperature Difference" 1783 MTD(i) = Fc(i)*LMTD(i); 1784 1785 end 1786 1787 1788 end 1789 -
mso/eml/heat_exchangers/HeatExchangerDiscretized.mso
r100 r110 454 454 Donozzle_Shell as length (Brief="Shell Outlet Nozzle Diameter",Lower=10e-6); 455 455 Dinozzle_Shell as length (Brief="Shell Inlet Nozzle Diameter",Lower=10e-6); 456 Aonozzle_Shell as area (Brief="Shell Outlet Nozzle Area",Lower=10e-6); 457 Ainozzle_Shell as area (Brief="Shell Inlet Nozzle Area",Lower=10e-6); 458 Aeonozzle_Shell as area (Brief="Shell Outlet Escape Area Under Nozzle",Lower=10e-6); 459 Aeinozzle_Shell as area (Brief="Shell Inlet Escape Area Under Nozzle",Lower=10e-6); 456 460 Hinozzle_Shell as length (Brief="Height Under Shell Inlet Nozzle",Lower=10e-6); 457 461 Honozzle_Shell as length (Brief="Height Under Shell Outlet Nozzle",Lower=10e-6); 458 462 Lcf as length (Brief="Bundle-to-Shell Clearance",Lower=10e-8); 459 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 460 # Tubes Geometrical Parameters 461 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 462 Ntt as Integer (Brief="Total Number of Tubes in Shell",Default=100,Lower=1); 463 Pattern as Integer (Brief="Tube Layout Characteristic Angle",Lower=30); 464 Ltube as length (Brief="Effective Tube Length",Lower=0.1); 465 pitch as length (Brief="Tube Pitch",Lower=1e-8); 466 Kwall as conductivity (Brief="Tube Wall Material Thermal Conductivity"); 467 Dotube as length (Brief="Tube Outside Diameter",Lower=10e-6); 468 Ditube as length (Brief="Tube Inside Diameter",Lower=10e-6); 469 Donozzle_Tube as length (Brief="Tube Outlet Nozzle Diameter",Lower=10e-6); 470 Dinozzle_Tube as length (Brief="Tube Inlett Nozzle Diameter",Lower=10e-6); 463 464 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 465 # Tubes Geometrical Parameters # 466 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 467 Ntt as Integer (Brief="Total Number of Tubes in Shell",Default=100,Lower=1); 468 Pattern as Integer (Brief="Tube Layout Characteristic Angle",Lower=30); 469 Ltube as length (Brief="Effective Tube Length",Lower=0.1); 470 pitch as length (Brief="Tube Pitch",Lower=1e-8); 471 Kwall as conductivity (Brief="Tube Wall Material Thermal Conductivity"); 472 Dotube as length (Brief="Tube Outside Diameter",Lower=10e-6); 473 Ditube as length (Brief="Tube Inside Diameter",Lower=10e-6); 474 Donozzle_Tube as length (Brief="Tube Outlet Nozzle Diameter",Lower=10e-6); 475 Dinozzle_Tube as length (Brief="Tube Inlet Nozzle Diameter",Lower=10e-6); 476 Aonozzle_Tube as area (Brief="Tube Outlet Nozzle Area",Lower=10e-6); 477 Ainozzle_Tube as area (Brief="Tube Inlet Nozzle Area",Lower=10e-6); 478 Kinlet_Tube as positive (Brief="Tube Inlet Nozzle Pressure Loss Coeff",Default=1.1); 479 Koutlet_Tube as positive (Brief="Tube Outlet Nozzle Pressure Loss Coeff",Default=0.7); 480 471 481 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 472 482 # Baffles Geometrical Parameters … … 572 582 573 583 "Pressure Drop Tube Side Inlet Nozzle" 574 Unity(1).Tubes.PressureDrop.Pdnozzle_in = HE.DeltaPtubeNozzlein(Unity(1).Properties.Cold.Inlet.rho,Unity(1).Properties.Cold.Inlet.Fw);584 Unity(1).Tubes.PressureDrop.Pdnozzle_in = 0.5*Kinlet_Tube*Unity(1).Properties.Cold.Inlet.rho*Unity(1).Tubes.PressureDrop.Vnozzle_in^2; 575 585 576 586 "Velocity Tube Side Inlet Nozzle" 577 Unity(1).Tubes.PressureDrop.Vnozzle_in = HE.TubeVelocityNozzlein(Unity(1).Properties.Cold.Inlet.rho,Unity(1).Properties.Cold.Inlet.Fw);587 Unity(1).Tubes.PressureDrop.Vnozzle_in = Unity(1).Properties.Cold.Inlet.Fw/(Unity(1).Properties.Cold.Inlet.rho*Ainozzle_Tube); 578 588 579 589 "Pressure Drop Tube Side Outlet Nozzle" 580 Unity(Nb+1).Tubes.PressureDrop.Pdnozzle_out = HE.DeltaPtubeNozzleout(Unity(Nb+1).Properties.Cold.Outlet.rho,Unity(Nb+1).Properties.Cold.Inlet.Fw);590 Unity(Nb+1).Tubes.PressureDrop.Pdnozzle_out = 0.5*Koutlet_Tube*Unity(Nb+1).Properties.Cold.Outlet.rho*Unity(Nb+1).Tubes.PressureDrop.Vnozzle_out^2; 581 591 582 592 "Velocity Tube Side Outlet Nozzle" 583 Unity(Nb+1).Tubes.PressureDrop.Vnozzle_out = HE.TubeVelocityNozzleout(Unity(Nb+1).Properties.Cold.Outlet.rho,Unity(Nb+1).Properties.Cold.Inlet.Fw);593 Unity(Nb+1).Tubes.PressureDrop.Vnozzle_out = Unity(Nb+1).Properties.Cold.Inlet.Fw/(Unity(Nb+1).Properties.Cold.Outlet.rho*Aonozzle_Tube); 584 594 585 595 "Shell Pressure Drop Inlet Nozzle" 586 Unity(1).Shell.PressureDrop.Pdnozzle_in = HE.DeltaPshellNozzleIn(Unity(1).Properties.Hot.Inlet.rho,Unity(1).Properties.Hot.Inlet.Fw);596 Unity(1).Shell.PressureDrop.Pdnozzle_in = (0.5*Unity(1).Properties.Hot.Inlet.Fw^2/Unity(1).Properties.Hot.Inlet.rho)*((1/Ainozzle_Shell^2)+(1/Aeinozzle_Shell^2)); 587 597 588 598 "Velocity Shell Side Inlet Nozzle" 589 Unity(1).Shell.PressureDrop.Vnozzle_in = HE.ShellVelocityNozzleIn(Unity(1).Properties.Hot.Inlet.rho,Unity(1).Properties.Hot.Inlet.Fw);599 Unity(1).Shell.PressureDrop.Vnozzle_in = Unity(1).Properties.Hot.Inlet.Fw/(Unity(1).Properties.Hot.Inlet.rho*Ainozzle_Shell); 590 600 591 601 "Shell Pressure Drop Outlet Nozzle" 592 Unity(Nb+1).Shell.PressureDrop.Pdnozzle_out = HE.DeltaPshellNozzleOut(Unity(Nb+1).Properties.Hot.Outlet.rho,Unity(Nb+1).Properties.Hot.Inlet.Fw);602 Unity(Nb+1).Shell.PressureDrop.Pdnozzle_out = (0.5*Unity(Nb+1).Properties.Hot.Outlet.Fw^2/Unity(Nb+1).Properties.Hot.Outlet.rho)*((1/Ainozzle_Shell^2)+(1/Aeinozzle_Shell^2)); 593 603 594 604 "Velocity Shell Side Outlet Nozzle" 595 Unity(Nb+1).Shell.PressureDrop.Vnozzle_out = HE.ShellVelocityNozzleOut(Unity(Nb+1).Properties.Hot.Outlet.rho,Unity(Nb+1).Properties.Hot.Inlet.Fw);596 605 Unity(Nb+1).Shell.PressureDrop.Vnozzle_out = Unity(Nb+1).Properties.Hot.Outlet.Fw/(Unity(Nb+1).Properties.Hot.Outlet.rho*Aonozzle_Shell); 606 597 607 598 608 else … … 612 622 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); 613 623 614 615 624 "Pressure Drop Tube Side Inlet Nozzle" 616 Unity(1).Tubes.PressureDrop.Pdnozzle_in = HE.DeltaPtubeNozzlein(Unity(1).Properties.Hot.Inlet.rho,Unity(1).Properties.Hot.Inlet.Fw);617 625 Unity(1).Tubes.PressureDrop.Pdnozzle_in = 0.5*Kinlet_Tube*Unity(1).Properties.Hot.Inlet.rho*Unity(1).Tubes.PressureDrop.Vnozzle_in^2; 626 618 627 "Velocity Tube Side Inlet Nozzle" 619 Unity(1).Tubes.PressureDrop.Vnozzle_in = HE.TubeVelocityNozzlein(Unity(1).Properties.Hot.Inlet.rho,Unity(1).Properties.Hot.Inlet.Fw);620 628 Unity(1).Tubes.PressureDrop.Vnozzle_in = Unity(1).Properties.Hot.Inlet.Fw/(Unity(1).Properties.Hot.Inlet.rho*Ainozzle_Tube); 629 621 630 "Pressure Drop Tube Side Outlet Nozzle" 622 Unity(Nb+1).Tubes.PressureDrop.Pdnozzle_out = HE.DeltaPtubeNozzleout(Unity(Nb+1).Properties.Hot.Outlet.rho,Unity(Nb+1).Properties.Hot.Inlet.Fw);623 631 Unity(Nb+1).Tubes.PressureDrop.Pdnozzle_out = 0.5*Koutlet_Tube*Unity(Nb+1).Properties.Hot.Outlet.rho*Unity(Nb+1).Tubes.PressureDrop.Vnozzle_out^2; 632 624 633 "Velocity Tube Side Outlet Nozzle" 625 Unity(Nb+1).Tubes.PressureDrop.Vnozzle_out = HE.TubeVelocityNozzleout(Unity(Nb+1).Properties.Hot.Outlet.rho,Unity(Nb+1).Properties.Hot.Inlet.Fw);634 Unity(Nb+1).Tubes.PressureDrop.Vnozzle_out = Unity(Nb+1).Properties.Hot.Inlet.Fw/(Unity(Nb+1).Properties.Hot.Outlet.rho*Aonozzle_Tube); 626 635 627 636 "Shell Pressure Drop Inlet Nozzle" 628 Unity(1).Shell.PressureDrop.Pdnozzle_in = HE.DeltaPshellNozzleIn(Unity(1).Properties.Cold.Inlet.rho,Unity(1).Properties.Cold.Inlet.Fw);637 Unity(1).Shell.PressureDrop.Pdnozzle_in = (0.5*Unity(1).Properties.Cold.Inlet.Fw^2/Unity(1).Properties.Cold.Inlet.rho)*((1/Ainozzle_Shell^2)+(1/Aeinozzle_Shell^2)); 629 638 630 639 "Velocity Shell Side Inlet Nozzle" 631 Unity(1).Shell.PressureDrop.Vnozzle_in = HE.ShellVelocityNozzleIn(Unity(1).Properties.Cold.Inlet.rho,Unity(1).Properties.Cold.Inlet.Fw);640 Unity(1).Shell.PressureDrop.Vnozzle_in = Unity(1).Properties.Cold.Inlet.Fw/(Unity(1).Properties.Cold.Inlet.rho*Ainozzle_Shell); 632 641 633 642 "Shell Pressure Drop Outlet Nozzle" 634 Unity(Nb+1).Shell.PressureDrop.Pdnozzle_out = HE.DeltaPshellNozzleOut(Unity(Nb+1).Properties.Cold.Outlet.rho,Unity(Nb+1).Properties.Cold.Inlet.Fw);643 Unity(Nb+1).Shell.PressureDrop.Pdnozzle_out = (0.5*Unity(Nb+1).Properties.Cold.Outlet.Fw^2/Unity(Nb+1).Properties.Cold.Outlet.rho)*((1/Ainozzle_Shell^2)+(1/Aeinozzle_Shell^2)); 635 644 636 645 "Velocity Shell Side Outlet Nozzle" 637 Unity(Nb+1).Shell.PressureDrop.Vnozzle_out = HE.ShellVelocityNozzleOut(Unity(Nb+1).Properties.Cold.Outlet.rho,Unity(Nb+1).Properties.Cold.Inlet.Fw); 638 646 Unity(Nb+1).Shell.PressureDrop.Vnozzle_out = Unity(Nb+1).Properties.Cold.Outlet.Fw/(Unity(Nb+1).Properties.Cold.Outlet.rho*Ainozzle_Shell); 639 647 640 648 end … … 922 930 HE.Ltd = Ltd; 923 931 side = HE.FluidAlocation(); 932 933 #"Tube Side Inlet Nozzle Area" 934 Ainozzle_Tube = (Pi*Dinozzle_Tube*Dinozzle_Tube)/4; 935 936 #"Tube Side Outlet Nozzle Area" 937 Aonozzle_Tube = (Pi*Donozzle_Tube*Donozzle_Tube)/4; 938 939 #"Tube Inlet Nozzle Pressure Loss Coeff" 940 Kinlet_Tube = 1.1; 941 942 #"Tube Outlet Nozzle Pressure Loss Coeff" 943 Koutlet_Tube = 0.7; 944 945 #"Shell Outlet Nozzle Area" 946 Aonozzle_Shell = (Pi*Donozzle_Shell*Donozzle_Shell)/4; 947 948 #"Shell Inlet Nozzle Area" 949 Ainozzle_Shell = (Pi*Dinozzle_Shell*Dinozzle_Shell)/4; 950 951 #"Shell Outlet Escape Area Under Nozzle" 952 Aeonozzle_Shell = Pi*Donozzle_Shell*Honozzle_Shell + 0.6*Aonozzle_Shell*(1-Dotube/pitch); 953 954 #"Shell Inlet Escape Area Under Nozzle" 955 Aeinozzle_Shell = Pi*Dinozzle_Shell*Hinozzle_Shell + 0.6*Ainozzle_Shell*(1-Dotube/pitch); 956 957 924 958 end 925 959 … … 943 977 Donozzle_Shell as length (Brief="Shell Outlet Nozzle Diameter",Lower=10e-6); 944 978 Dinozzle_Shell as length (Brief="Shell Inlet Nozzle Diameter",Lower=10e-6); 979 Aonozzle_Shell as area (Brief="Shell Outlet Nozzle Area",Lower=10e-6); 980 Ainozzle_Shell as area (Brief="Shell Inlet Nozzle Area",Lower=10e-6); 981 Aeonozzle_Shell as area (Brief="Shell Outlet Escape Area Under Nozzle",Lower=10e-6); 982 Aeinozzle_Shell as area (Brief="Shell Inlet Escape Area Under Nozzle",Lower=10e-6); 945 983 Hinozzle_Shell as length (Brief="Height Under Shell Inlet Nozzle",Lower=10e-6); 946 984 Honozzle_Shell as length (Brief="Height Under Shell Outlet Nozzle",Lower=10e-6); 947 985 Lcf as length (Brief="Bundle-to-Shell Clearance",Lower=10e-8); 948 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 949 # Tubes Geometrical Parameters 950 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 951 Ntt as Integer (Brief="Total Number of Tubes in Shell",Default=100,Lower=1); 952 Pattern as Integer (Brief="Tube Layout Characteristic Angle",Lower=30); 953 Ltube as length (Brief="Effective Tube Length",Lower=0.1); 954 pitch as length (Brief="Tube Pitch",Lower=1e-8); 955 Kwall as conductivity (Brief="Tube Wall Material Thermal Conductivity"); 956 Dotube as length (Brief="Tube Outside Diameter",Lower=10e-6); 957 Ditube as length (Brief="Tube Inside Diameter",Lower=10e-6); 958 Donozzle_Tube as length (Brief="Tube Outlet Nozzle Diameter",Lower=10e-6); 959 Dinozzle_Tube as length (Brief="Tube Inlett Nozzle Diameter",Lower=10e-6); 986 987 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 988 # Tubes Geometrical Parameters # 989 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 990 Ntt as Integer (Brief="Total Number of Tubes in Shell",Default=100,Lower=1); 991 Pattern as Integer (Brief="Tube Layout Characteristic Angle",Lower=30); 992 Ltube as length (Brief="Effective Tube Length",Lower=0.1); 993 pitch as length (Brief="Tube Pitch",Lower=1e-8); 994 Kwall as conductivity (Brief="Tube Wall Material Thermal Conductivity"); 995 Dotube as length (Brief="Tube Outside Diameter",Lower=10e-6); 996 Ditube as length (Brief="Tube Inside Diameter",Lower=10e-6); 997 Donozzle_Tube as length (Brief="Tube Outlet Nozzle Diameter",Lower=10e-6); 998 Dinozzle_Tube as length (Brief="Tube Inlet Nozzle Diameter",Lower=10e-6); 999 Aonozzle_Tube as area (Brief="Tube Outlet Nozzle Area",Lower=10e-6); 1000 Ainozzle_Tube as area (Brief="Tube Inlet Nozzle Area",Lower=10e-6); 1001 Kinlet_Tube as positive (Brief="Tube Inlet Nozzle Pressure Loss Coeff",Default=1.1); 1002 Koutlet_Tube as positive (Brief="Tube Outlet Nozzle Pressure Loss Coeff",Default=0.7); 1003 960 1004 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 961 1005 # Baffles Geometrical Parameters … … 1044 1088 1045 1089 then 1046 1090 1047 1091 "Shell Side inlet Nozzle rho-V^2" 1048 1092 Unity(1).Shell.PressureDrop.RVsquare_in = Unity(1).Properties.Hot.Inlet.rho*(Unity(1).Shell.PressureDrop.Vnozzle_in)^2; … … 1060 1104 1061 1105 "Pressure Drop Tube Side Inlet Nozzle" 1062 Unity(1).Tubes.PressureDrop.Pdnozzle_in = HE.DeltaPtubeNozzlein(Unity(1).Properties.Cold.Inlet.rho,Unity(1).Properties.Cold.Inlet.Fw);1106 Unity(1).Tubes.PressureDrop.Pdnozzle_in = 0.5*Kinlet_Tube*Unity(1).Properties.Cold.Inlet.rho*Unity(1).Tubes.PressureDrop.Vnozzle_in^2; 1063 1107 1064 1108 "Velocity Tube Side Inlet Nozzle" 1065 Unity(1).Tubes.PressureDrop.Vnozzle_in = HE.TubeVelocityNozzlein(Unity(1).Properties.Cold.Inlet.rho,Unity(1).Properties.Cold.Inlet.Fw);1109 Unity(1).Tubes.PressureDrop.Vnozzle_in = Unity(1).Properties.Cold.Inlet.Fw/(Unity(1).Properties.Cold.Inlet.rho*Ainozzle_Tube); 1066 1110 1067 1111 "Pressure Drop Tube Side Outlet Nozzle" 1068 Unity(Nb+1).Tubes.PressureDrop.Pdnozzle_out = HE.DeltaPtubeNozzleout(Unity(Nb+1).Properties.Cold.Outlet.rho,Unity(Nb+1).Properties.Cold.Inlet.Fw);1112 Unity(Nb+1).Tubes.PressureDrop.Pdnozzle_out = 0.5*Koutlet_Tube*Unity(Nb+1).Properties.Cold.Outlet.rho*Unity(Nb+1).Tubes.PressureDrop.Vnozzle_out^2; 1069 1113 1070 1114 "Velocity Tube Side Outlet Nozzle" 1071 Unity(Nb+1).Tubes.PressureDrop.Vnozzle_out = HE.TubeVelocityNozzleout(Unity(Nb+1).Properties.Cold.Outlet.rho,Unity(Nb+1).Properties.Cold.Inlet.Fw);1115 Unity(Nb+1).Tubes.PressureDrop.Vnozzle_out = Unity(Nb+1).Properties.Cold.Inlet.Fw/(Unity(Nb+1).Properties.Cold.Outlet.rho*Aonozzle_Tube); 1072 1116 1073 1117 "Shell Pressure Drop Inlet Nozzle" 1074 Unity(1).Shell.PressureDrop.Pdnozzle_in = HE.DeltaPshellNozzleIn(Unity(1).Properties.Hot.Inlet.rho,Unity(1).Properties.Hot.Inlet.Fw);1118 Unity(1).Shell.PressureDrop.Pdnozzle_in = (0.5*Unity(1).Properties.Hot.Inlet.Fw^2/Unity(1).Properties.Hot.Inlet.rho)*((1/Ainozzle_Shell^2)+(1/Aeinozzle_Shell^2)); 1075 1119 1076 1120 "Velocity Shell Side Inlet Nozzle" 1077 Unity(1).Shell.PressureDrop.Vnozzle_in = HE.ShellVelocityNozzleIn(Unity(1).Properties.Hot.Inlet.rho,Unity(1).Properties.Hot.Inlet.Fw);1121 Unity(1).Shell.PressureDrop.Vnozzle_in = Unity(1).Properties.Hot.Inlet.Fw/(Unity(1).Properties.Hot.Inlet.rho*Ainozzle_Shell); 1078 1122 1079 1123 "Shell Pressure Drop Outlet Nozzle" 1080 Unity(Nb+1).Shell.PressureDrop.Pdnozzle_out = HE.DeltaPshellNozzleOut(Unity(Nb+1).Properties.Hot.Outlet.rho,Unity(Nb+1).Properties.Hot.Inlet.Fw);1124 Unity(Nb+1).Shell.PressureDrop.Pdnozzle_out = (0.5*Unity(Nb+1).Properties.Hot.Outlet.Fw^2/Unity(Nb+1).Properties.Hot.Outlet.rho)*((1/Ainozzle_Shell^2)+(1/Aeinozzle_Shell^2)); 1081 1125 1082 1126 "Velocity Shell Side Outlet Nozzle" 1083 Unity(Nb+1).Shell.PressureDrop.Vnozzle_out = HE.ShellVelocityNozzleOut(Unity(Nb+1).Properties.Hot.Outlet.rho,Unity(Nb+1).Properties.Hot.Inlet.Fw);1084 1127 Unity(Nb+1).Shell.PressureDrop.Vnozzle_out = Unity(Nb+1).Properties.Hot.Outlet.Fw/(Unity(Nb+1).Properties.Hot.Outlet.rho*Aonozzle_Shell); 1128 1085 1129 1086 1130 else 1087 1131 1088 1132 "Shell Side inlet Nozzle rho-V^2" 1089 1133 Unity(1).Shell.PressureDrop.RVsquare_in = Unity(1).Properties.Cold.Inlet.rho*(Unity(1).Shell.PressureDrop.Vnozzle_in)^2; … … 1100 1144 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); 1101 1145 1102 1103 1146 "Pressure Drop Tube Side Inlet Nozzle" 1104 Unity(1).Tubes.PressureDrop.Pdnozzle_in = HE.DeltaPtubeNozzlein(Unity(1).Properties.Hot.Inlet.rho,Unity(1).Properties.Hot.Inlet.Fw);1105 1147 Unity(1).Tubes.PressureDrop.Pdnozzle_in = 0.5*Kinlet_Tube*Unity(1).Properties.Hot.Inlet.rho*Unity(1).Tubes.PressureDrop.Vnozzle_in^2; 1148 1106 1149 "Velocity Tube Side Inlet Nozzle" 1107 Unity(1).Tubes.PressureDrop.Vnozzle_in = HE.TubeVelocityNozzlein(Unity(1).Properties.Hot.Inlet.rho,Unity(1).Properties.Hot.Inlet.Fw);1108 1150 Unity(1).Tubes.PressureDrop.Vnozzle_in = Unity(1).Properties.Hot.Inlet.Fw/(Unity(1).Properties.Hot.Inlet.rho*Ainozzle_Tube); 1151 1109 1152 "Pressure Drop Tube Side Outlet Nozzle" 1110 Unity(Nb+1).Tubes.PressureDrop.Pdnozzle_out = HE.DeltaPtubeNozzleout(Unity(Nb+1).Properties.Hot.Outlet.rho,Unity(Nb+1).Properties.Hot.Inlet.Fw);1111 1153 Unity(Nb+1).Tubes.PressureDrop.Pdnozzle_out = 0.5*Koutlet_Tube*Unity(Nb+1).Properties.Hot.Outlet.rho*Unity(Nb+1).Tubes.PressureDrop.Vnozzle_out^2; 1154 1112 1155 "Velocity Tube Side Outlet Nozzle" 1113 Unity(Nb+1).Tubes.PressureDrop.Vnozzle_out = HE.TubeVelocityNozzleout(Unity(Nb+1).Properties.Hot.Outlet.rho,Unity(Nb+1).Properties.Hot.Inlet.Fw);1156 Unity(Nb+1).Tubes.PressureDrop.Vnozzle_out = Unity(Nb+1).Properties.Hot.Inlet.Fw/(Unity(Nb+1).Properties.Hot.Outlet.rho*Aonozzle_Tube); 1114 1157 1115 1158 "Shell Pressure Drop Inlet Nozzle" 1116 Unity(1).Shell.PressureDrop.Pdnozzle_in = HE.DeltaPshellNozzleIn(Unity(1).Properties.Cold.Inlet.rho,Unity(1).Properties.Cold.Inlet.Fw);1159 Unity(1).Shell.PressureDrop.Pdnozzle_in = (0.5*Unity(1).Properties.Cold.Inlet.Fw^2/Unity(1).Properties.Cold.Inlet.rho)*((1/Ainozzle_Shell^2)+(1/Aeinozzle_Shell^2)); 1117 1160 1118 1161 "Velocity Shell Side Inlet Nozzle" 1119 Unity(1).Shell.PressureDrop.Vnozzle_in = HE.ShellVelocityNozzleIn(Unity(1).Properties.Cold.Inlet.rho,Unity(1).Properties.Cold.Inlet.Fw);1162 Unity(1).Shell.PressureDrop.Vnozzle_in = Unity(1).Properties.Cold.Inlet.Fw/(Unity(1).Properties.Cold.Inlet.rho*Ainozzle_Shell); 1120 1163 1121 1164 "Shell Pressure Drop Outlet Nozzle" 1122 Unity(Nb+1).Shell.PressureDrop.Pdnozzle_out = HE.DeltaPshellNozzleOut(Unity(Nb+1).Properties.Cold.Outlet.rho,Unity(Nb+1).Properties.Cold.Inlet.Fw);1165 Unity(Nb+1).Shell.PressureDrop.Pdnozzle_out = (0.5*Unity(Nb+1).Properties.Cold.Outlet.Fw^2/Unity(Nb+1).Properties.Cold.Outlet.rho)*((1/Ainozzle_Shell^2)+(1/Aeinozzle_Shell^2)); 1123 1166 1124 1167 "Velocity Shell Side Outlet Nozzle" 1125 Unity(Nb+1).Shell.PressureDrop.Vnozzle_out = HE.ShellVelocityNozzleOut(Unity(Nb+1).Properties.Cold.Outlet.rho,Unity(Nb+1).Properties.Cold.Inlet.Fw);1168 Unity(Nb+1).Shell.PressureDrop.Vnozzle_out = Unity(Nb+1).Properties.Cold.Outlet.Fw/(Unity(Nb+1).Properties.Cold.Outlet.rho*Ainozzle_Shell); 1126 1169 1127 1170 … … 1412 1455 HE.Ltd = Ltd; 1413 1456 side = HE.FluidAlocation(); 1414 end 1457 1458 #"Tube Side Inlet Nozzle Area" 1459 Ainozzle_Tube = (Pi*Dinozzle_Tube*Dinozzle_Tube)/4; 1460 1461 #"Tube Side Outlet Nozzle Area" 1462 Aonozzle_Tube = (Pi*Donozzle_Tube*Donozzle_Tube)/4; 1463 1464 #"Tube Inlet Nozzle Pressure Loss Coeff" 1465 Kinlet_Tube = 1.1; 1466 1467 #"Tube Outlet Nozzle Pressure Loss Coeff" 1468 Koutlet_Tube = 0.7; 1469 1470 #"Shell Outlet Nozzle Area" 1471 Aonozzle_Shell = (Pi*Donozzle_Shell*Donozzle_Shell)/4; 1472 1473 #"Shell Inlet Nozzle Area" 1474 Ainozzle_Shell = (Pi*Dinozzle_Shell*Dinozzle_Shell)/4; 1475 1476 #"Shell Outlet Escape Area Under Nozzle" 1477 Aeonozzle_Shell = Pi*Donozzle_Shell*Honozzle_Shell + 0.6*Aonozzle_Shell*(1-Dotube/pitch); 1478 1479 #"Shell Inlet Escape Area Under Nozzle" 1480 Aeinozzle_Shell = Pi*Dinozzle_Shell*Hinozzle_Shell + 0.6*Ainozzle_Shell*(1-Dotube/pitch); 1481 1482 end -
mso/sample/heat_exchangers/Eshell_Detailed_LMTD.mso
r100 r110 82 82 exchanger.Pattern = 30; 83 83 exchanger.pitch = 0.0254 *"m"; 84 exchanger.Ltube = 5.5 *"m";84 exchanger.Ltube = 5.5 *"m"; 85 85 exchanger.Ditube = 0.013395 *"m"; 86 exchanger.Dotube = 0.015875 86 exchanger.Dotube = 0.015875 *"m"; 87 87 exchanger.Kwall = 0.057 *"kW/m/K"; 88 88 exchanger.Donozzle_Tube = 0.203 *"m"; -
mso/sample/heat_exchangers/Multipass_Detailed.mso
r100 r110 125 125 # Simulation Options 126 126 #============================================ 127 mode 127 mode = "steady"; 128 128 guessFile = "Multipass_LMTD"; 129 129 end -
mso/sample/heat_exchangers/Sample_DoublePipe.mso
r100 r110 30 30 DEVICES 31 31 32 exchanger as DoublePipe_ NTU;32 exchanger as DoublePipe_LMTD; 33 33 streamhot as streamTP; 34 34 streamcold as streamTP; -
mso/sample/heat_exchangers/Sample_Multitubular.mso
r100 r110 58 58 #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 59 59 60 streamcold.F = 5 60 streamcold.F = 5 * "kmol/h"; 61 61 streamcold.P = 5 * "bar"; 62 62 streamcold.T = (25+273.15) * "K"; 63 63 streamcold.z = [0,1]; 64 #===================================================================== 64 65 #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 65 66 # Fouling 66 #===================================================================== 67 #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 68 67 69 Pipe.Unity.Resistances.Rfi = 0*"m^2*K/kW"; 68 70 Pipe.Unity.Resistances.Rfo = 0*"m^2*K/kW"; 69 71 70 72 OPTIONS 71 mode = "steady"; 73 74 mode = "steady"; 75 72 76 end 73 77
Note: See TracChangeset
for help on using the changeset viewer.