#*------------------------------------------------------------------- * EMSO Model Library (EML) Copyright (C) 2004 - 2007 ALSOC. * * This LIBRARY is free software; you can distribute it and/or modify * it under the therms of the ALSOC FREE LICENSE as available at * http://www.enq.ufrgs.br/alsoc. * * EMSO Copyright (C) 2004 - 2007 ALSOC, original code * from http://www.rps.eng.br Copyright (C) 2002-2004. * All rights reserved. * * EMSO is distributed under the therms of the ALSOC LICENSE as * available at http://www.enq.ufrgs.br/alsoc. * *-------------------------------------------------------------------- * Sample file for Detailed Shell and Tubes Heat Exchanger *-------------------------------------------------------------------- * * This sample file needs VRTherm (www.vrtech.com.br) to run. * *---------------------------------------------------------------------- * Author: Gerson B. Bicca * $Id: sample_Detailed.mso 100 2007-01-09 14:15:56Z bicca $ *--------------------------------------------------------------------*# using "costs/HeatExchangerDetailed_cost"; FlowSheet sample_ShellandTubes_NTU_cost DEVICES exchanger as ShellandTubes_NTU_cost; streamhot_in as source; streamcold_in as source; CONNECTIONS streamhot_in.Outlet to exchanger.InletShell; streamcold_in.Outlet to exchanger.InletTube; PARAMETERS PP as Plugin (Type ="PP" ,Components = ["water"],LiquidModel = "PR", VapourModel = "PR"); NComp as Integer; SET #=============================================================== # Heat Exchanger Options #=============================================================== NComp = PP.NumberOfComponents; exchanger.ShellType = "Eshell"; # Heat Transfer Correlation exchanger.LaminarCorrelation = "Schlunder"; exchanger.TurbulentCorrelation = "SiederTate"; exchanger.TransitionCorrelation = "Gnielinski"; #===================================================================== # Shell Geometrical Parameters #===================================================================== exchanger.Tubes.Tubepasses = 2; exchanger.Shell.ShellID = 0.75 *'m'; exchanger.Clearances.BundleToShell = 0.043 *'m'; exchanger.Clearances.SealStrip = 2; exchanger.Shell.InletNozzleID = 0.1937 *'m'; exchanger.Shell.OutletNozzleID = 0.1937 *'m'; exchanger.Clearances.Honozzle_Shell = 0.0225 *'m'; exchanger.Clearances.Hinozzle_Shell = 0.02155 *'m'; #===================================================================== # Tubes Geometrical Parameters #===================================================================== exchanger.Tubes.NumberOfTubes = 500; exchanger.Pattern = "Triangle"; exchanger.Tubes.TubePitch = 0.0254 *'m'; exchanger.Tubes.TubeLength = 5.5 *'m'; exchanger.Tubes.TubeID = 0.013395 *'m'; exchanger.Tubes.TubeOD = 0.015875 *'m'; exchanger.Tubes.Kwall = 0.057 *'kW/m/K'; exchanger.Tubes.InletNozzleID = 0.203 *'m'; exchanger.Tubes.OutletNozzleID = 0.203 *'m'; #===================================================================== # Baffles Geometrical Parameters #===================================================================== exchanger.Clearances.BaffleToShell = 0.0047 *'m'; exchanger.Baffles.BaffleCut = 30; exchanger.Clearances.TubeToBaffle = 0.00039 *'m'; exchanger.Baffles.NumberOfBaffles = 6; #===================================================================== # Fouling #===================================================================== exchanger.Tubes.Fouling = 0.001*'m^2*K/kW'; exchanger.Shell.Fouling = 0.001*'m^2*K/kW'; # costs exchanger.Material = "Stainless steel 316"; exchanger.Cost(1,:) = [8.202,0.01506,0.06811]; exchanger.Cost(2,:) = [-0.9003,0.0906,0]; exchanger.Cost(3,:) = [1.35,0,0]; exchanger.Cost(4,:) = [-0.7844,0.0830,0]; exchanger.Cost(5,:) = [0.8955,0.04981,0]; exchanger.Cost(6,:) = [1.2002,0.07140,0]; exchanger.Cost(7,:) = [1.4272,0.12088,0]; exchanger.Cost(8,:) = [0.8608,0.23296,0]; SPECIFY SPECIFY #============================================ # Hot Stream #============================================ streamhot_in.F = 40 * 'mol/s'; streamhot_in.T = 373* 'K'; streamhot_in.Composition = [1] ; streamhot_in.P = 740 * 'kPa'; #============================================ # Cold Stream #============================================ streamcold_in.F = 75 * 'mol/s'; streamcold_in.T = 333 * 'K'; streamcold_in.Composition = [1]; streamcold_in.P = 2210*'kPa'; #===================================================================== # Baffle Spacing #===================================================================== exchanger.Baffles.Central_Spacing = 0.622 *'m'; exchanger.Baffles.Inlet_Spacing= 0.807 *'m'; OPTIONS Dynamic = false; GuessFile = "GuessDetailed"; end FlowSheet sample_ShellandTubes_LMTD_cost DEVICES exchanger as ShellandTubes_LMTD_cost; streamhot_in as source; streamcold_in as source; CONNECTIONS streamhot_in.Outlet to exchanger.InletShell; streamcold_in.Outlet to exchanger.InletTube; PARAMETERS PP as Plugin (Type ="PP" ,Components = ["water"],LiquidModel = "PR", VapourModel = "PR"); NComp as Integer; SET #=============================================================== # Heat Exchanger Options #=============================================================== NComp = PP.NumberOfComponents; exchanger.ShellType = "Eshell"; exchanger.LMTDcorrection = "Bowmann"; # Heat Transfer Correlation exchanger.LaminarCorrelation = "Schlunder"; exchanger.TurbulentCorrelation = "SiederTate"; exchanger.TransitionCorrelation = "Gnielinski"; #===================================================================== # Shell Geometrical Parameters #===================================================================== exchanger.Tubes.Tubepasses = 2; exchanger.Shell.ShellID = 0.75 *'m'; exchanger.Clearances.BundleToShell = 0.043 *'m'; exchanger.Clearances.SealStrip = 2; exchanger.Shell.InletNozzleID = 0.1937 *'m'; exchanger.Shell.OutletNozzleID = 0.1937 *'m'; exchanger.Clearances.Honozzle_Shell = 0.0225 *'m'; exchanger.Clearances.Hinozzle_Shell = 0.02155 *'m'; #===================================================================== # Tubes Geometrical Parameters #===================================================================== exchanger.Tubes.NumberOfTubes = 500; exchanger.Pattern = "Triangle"; exchanger.Tubes.TubePitch = 0.0254 *'m'; exchanger.Tubes.TubeLength = 5.5 *'m'; exchanger.Tubes.TubeID = 0.013395 *'m'; exchanger.Tubes.TubeOD = 0.015875 *'m'; exchanger.Tubes.Kwall = 0.057 *'kW/m/K'; exchanger.Tubes.InletNozzleID = 0.203 *'m'; exchanger.Tubes.OutletNozzleID = 0.203 *'m'; #===================================================================== # Baffles Geometrical Parameters #===================================================================== exchanger.Clearances.BaffleToShell = 0.0047 *'m'; exchanger.Baffles.BaffleCut = 30; exchanger.Clearances.TubeToBaffle = 0.00039 *'m'; exchanger.Baffles.NumberOfBaffles = 6; #===================================================================== # Fouling #===================================================================== exchanger.Tubes.Fouling = 0.001*'m^2*K/kW'; exchanger.Shell.Fouling = 0.001*'m^2*K/kW'; # costs exchanger.Material = "Stainless steel 316"; exchanger.Cost(1,:) = [8.202,0.01506,0.06811]; exchanger.Cost(2,:) = [-0.9003,0.0906,0]; exchanger.Cost(3,:) = [1.35,0,0]; exchanger.Cost(4,:) = [-0.7844,0.0830,0]; exchanger.Cost(5,:) = [0.8955,0.04981,0]; exchanger.Cost(6,:) = [1.2002,0.07140,0]; exchanger.Cost(7,:) = [1.4272,0.12088,0]; exchanger.Cost(8,:) = [0.8608,0.23296,0]; SPECIFY #============================================ # Hot Stream #============================================ streamhot_in.F = 40 * 'mol/s'; streamhot_in.T = 373* 'K'; streamhot_in.Composition = [1] ; streamhot_in.P = 740 * 'kPa'; #============================================ # Cold Stream #============================================ streamcold_in.F = 75 * 'mol/s'; streamcold_in.T = 333 * 'K'; streamcold_in.Composition = [1]; streamcold_in.P = 2210*'kPa'; #===================================================================== # Baffle Spacing #===================================================================== exchanger.Baffles.Central_Spacing = 0.622 *'m'; exchanger.Baffles.Inlet_Spacing= 0.807 *'m'; OPTIONS Dynamic = false; NLASolver(RelativeAccuracy = 1e-6); GuessFile = "GuessDetailed"; end