#*------------------------------------------------------------------- * 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. * *--------------------------------------------------------------------* * Heat Exchangers Abstract Models *-------------------------------------------------------------------- * - Inlet_Main_Stream : Inlet Streams *-------------------------------------------------------------------- * - Hot : Inlet Hot Stream * - Cold : Inlet Cold Stream *-------------------------------------------------------------------- * - Outlet_Main_Stream : Outlet Streams *-------------------------------------------------------------------- * - Hot : Outlet Hot Stream * - Cold : Outlet Cold Stream *-------------------------------------------------------------------- * - Main_Properties : Physical Properties for Hot and Cold Side *-------------------------------------------------------------------- * Physical_Properties * Properties_In_Out : Inlet/Outlet Physical Properties * Properties_Average : Average Physical Properties * Properties_Wall : Physical Properties at Wall Temperature *-------------------------------------------------------------------- * - Tube_Side_Main : Tube Side Main Variables *---------------------------------------------------------------------- * Tube_Pdrop : Tube Side Pressure Drop * Tube_Heat_Transfer : Tube Side Heat Transfer *---------------------------------------------------------------------- * - Shell_Side_Main : Shell Side Main Variables *---------------------------------------------------------------------- * Shell_Pdrop : Shell Side Pressure Drop * Shell_Heat_Transfer : Shell Side Heat Transfer *---------------------------------------------------------------------- * - Baffles_Main : Baffles Spacing *---------------------------------------------------------------------- * - Main_Resistances : Thermal Resistances *---------------------------------------------------------------------- * - Details_Main : Heat Exchanger Thermal Details *---------------------------------------------------------------------- * - Main_Pdrop : Heat Exchanger Pressure Drop (Simplified) * Basic_Pdrop : Hot and Cold Side Pressure Drop *---------------------------------------------------------------------- * - Main_DoublePipe : Double Pipe Heat Exchanger Block * DoublePipe_HeatTransfer * DoublePipe_PressureDrop *---------------------------------------------------------------------- * Author: Gerson Balbueno Bicca * $Id: HEX_Engine.mso 157 2007-02-07 13:44:17Z rafael $ *--------------------------------------------------------------------*# using "streams"; Model Inlet_Main_Stream ATTRIBUTES Pallete = false; Brief = "write some information"; Info = "write some information"; VARIABLES Hot as stream (Brief="Inlet Hot Stream"); Cold as stream (Brief="Inlet Cold Stream"); end Model Outlet_Main_Stream ATTRIBUTES Pallete = false; Brief = "write some information"; Info = "write some information"; VARIABLES # Must be streamPH Hot as streamPH (Brief="Outlet Hot Stream"); Cold as streamPH (Brief="Outlet Cold Stream"); end #===================================================================== # Heat Exchangers Physical Properties #===================================================================== Model Properties_Average ATTRIBUTES Pallete = false; Brief = "write some information"; Info = "write some information"; VARIABLES Mw as molweight (Brief="Average Mol Weight",Default=75, Lower=1, Upper=1e8); T as temperature (Brief="Average Temperature",Lower=50); P as pressure (Brief="Average Pressure",Default=1, Lower=1e-10, Upper=30); rho as dens_mass (Brief="Stream Density" ,Default=1000, Lower=1e-3, Upper=5e5); Mu as viscosity (Brief="Stream Viscosity",Lower=0.0001); Cp as cp_mol (Brief="Stream Molar Heat Capacity", Upper=1e10); K as conductivity (Brief="Stream Thermal Conductivity", Default=1.0, Lower=1e-5, Upper=500); end Model Properties_In_Out ATTRIBUTES Pallete = false; Brief = "write some information"; Info = "write some information"; VARIABLES Fw as flow_mass (Brief="Stream Mass Flow"); rho as dens_mass (Brief="Stream Density" ,Default=1000, Lower=1e-3, Upper=5e5); Mu as viscosity (Brief="Stream Viscosity",Default=1, Lower=1e-5, Upper=1e5); Cp as cp_mol (Brief="Stream Molar Heat Capacity", Upper=1e10); K as conductivity (Brief="Stream Thermal Conductivity", Default=1.0, Lower=1e-5, Upper=500); end Model Properties_Wall ATTRIBUTES Pallete = false; Brief = "write some information"; Info = "write some information"; VARIABLES Mu as viscosity (Brief="Stream Viscosity",Default=1, Lower=1e-5, Upper=1e5); Cp as cp_mol (Brief="Stream Molar Heat Capacity", Upper=1e10); K as conductivity (Brief="Stream Thermal Conductivity", Default=1.0, Lower=1e-5, Upper=500); Twall as temperature (Brief="Wall Temperature",Lower=50); end Model Physical_Properties ATTRIBUTES Pallete = false; Brief = "write some information"; Info = "write some information"; VARIABLES Inlet as Properties_In_Out (Brief="Properties at Inlet Stream"); Average as Properties_Average (Brief="Properties at Average Temperature"); Outlet as Properties_In_Out (Brief="Properties at Outlet Stream"); Wall as Properties_Wall (Brief="Properties at Wall Temperature"); end Model Main_Properties ATTRIBUTES Pallete = false; Brief = "write some information"; Info = "write some information"; VARIABLES Hot as Physical_Properties (Brief="Hot Stream"); Cold as Physical_Properties (Brief="Cold Stream"); end Model Tube_Pdrop ATTRIBUTES Pallete = false; Brief = "write some information"; Info = "write some information"; VARIABLES PdTube as press_delta (Brief="Tube Pressure Drop",Default=0.01, Lower=1e-10); Pdtotal as press_delta (Brief="Total Pressure Drop",Default=0.01, Lower=1e-10); Pdnozzle_in as press_delta (Brief="Inlet Nozzle Pressure Drop",Default=0.01, Lower=0); Pdnozzle_out as press_delta (Brief="Outlet Nozzle Pressure Drop",Default=0.01, Lower=0); Vnozzle_in as velocity (Brief="Inlet Nozzle Velocity",Default=1, Upper=1e5, Lower=0); Vnozzle_out as velocity (Brief="Outlet Nozzle Velocity",Default=1, Upper=1e5, Lower=0); EQUATIONS "Total Pressure Drop" Pdtotal = PdTube + Pdnozzle_in + Pdnozzle_out; end Model Tube_Heat_Transfer ATTRIBUTES Pallete = false; Brief = "write some information"; Info = "write some information"; VARIABLES Re as positive (Brief="Tube Side Reynolds Number",Default=1000,Lower=1); htube as heat_trans_coeff (Brief="Tube Side Film Coefficient",Default=1,Lower=1e-12, Upper=1e6); PR as positive (Brief="Tube Side Prandtl Number",Default=0.5,Lower=1e-8); PRw as positive (Brief="Tube Side Prandtl Number at Wall Temperature",Default=0.5,Lower=1e-8); Phi as positive (Brief="Phi Correction",Default=1,Lower=1e-3); Vtube as velocity (Brief="Tube Side Velocity",Lower=1e-8); end Model Shell_Pdrop ATTRIBUTES Pallete = false; Brief = "write some information"; Info = "write some information"; VARIABLES PdCross as press_delta (Brief="Cross Flow Pressure Drop",Default=0.01, Lower=0); PdEndZones as press_delta (Brief="End Zones Pressure Drop",Default=0.01, Lower=0); Pdwindow as press_delta (Brief="Window Pressure Drop",Default=0.01, Lower=1e-10); Pdtotal as press_delta (Brief="Total Pressure Drop",Default=0.01, Lower=0); Pdnozzle_in as press_delta (Brief="Inlet Nozzle Pressure Drop",Default=0.01, Lower=0); Pdnozzle_out as press_delta (Brief="Outlet Nozzle Pressure Drop",Default=0.01, Lower=0); Vnozzle_in as velocity (Brief="Inlet Nozzle Velocity",Default=1, Upper=1e5, Lower=0); Vnozzle_out as velocity (Brief="Outlet Nozzle Velocity",Default=1, Upper=1e5, Lower=0); RVsquare_out as positive (Brief = "Outlet Nozzle rho-V^2", Default=1, Upper=1e6, Unit = 'kg/s^2/m'); RVsquare_in as positive (Brief = "Inlet Nozzle rho-V^2", Default=1, Upper=1e6, Unit = 'kg/s^2/m'); EQUATIONS "Shell Side Total Pressure Drop" Pdtotal = PdCross + PdEndZones + Pdnozzle_in + Pdnozzle_out + Pdwindow; end Model Shell_Heat_Transfer ATTRIBUTES Pallete = false; Brief = "write some information"; Info = "write some information"; VARIABLES Re as positive (Brief="Shell Side Reynolds Number",Default=100,Lower=1); PR as positive (Brief="Shell Side Prandtl Number",Default=0.7,Lower=1e-6); PRw as positive (Brief="Shell Side Prandtl Number",Default=0.5,Lower=1e-8); hshell as heat_trans_coeff (Brief="Shell Side Film Coefficient",Default=1,Lower=1e-12, Upper=1e6); Phi as positive (Brief="Phi Correction",Default=1,Lower=1e-3); Ji as constant (Brief="Shell Side Ji Factor",Default=0.05); Jr as positive (Brief="Shell Side Jr Factor",Lower=10e-6); Jl as positive (Brief="Shell Side Jl Factor",Lower=10e-6); Jb as positive (Brief="Shell Side Jb Factor",Lower=10e-6); Jc as positive (Brief="Shell Side Jc Factor",Lower=10e-6); Js as positive (Brief="Shell Side Js Factor",Lower=10e-6); Jtotal as positive (Brief="Shell Side Jtotal Factor",Lower=10e-6); Sm as area (Brief="Shell Side Cross Flow Area",Default=0.05,Lower=10e-6); end Model Baffles_Main ATTRIBUTES Pallete = false; Brief = "write some information"; Info = "write some information"; VARIABLES Ls as length (Brief="Central Baffle Spacing",Lower=1e-8); Lsi as length (Brief="Inlet Baffle Spacing",Lower=1e-8); Lso as length (Brief="Outlet Baffle Spacing",Lower=1e-8); end Model Main_Resistances ATTRIBUTES Pallete = false; Brief = "write some information"; Info = "write some information"; VARIABLES Rtube as positive (Brief="Tube Resistance",Unit='m^2*K/kW',Lower=1e-6); Rwall as positive (Brief="Wall Resistance",Unit='m^2*K/kW',Lower=1e-6); Rshell as positive (Brief="Shell Resistance",Unit='m^2*K/kW',Lower=1e-6); Rfi as positive (Brief="Inside Fouling Resistance",Unit='m^2*K/kW',Default=1e-6,Lower=0); Rfo as positive (Brief="Outside Fouling Resistance",Unit='m^2*K/kW',Default=1e-6,Lower=0); end Model Details_Main ATTRIBUTES Pallete = false; Brief = "write some information"; Info = "write some information"; VARIABLES A as area (Brief="Exchange Surface Area"); Q as power (Brief="Heat Transfer", Default=7000, Lower=1e-6, Upper=1e10); Uc as heat_trans_coeff (Brief="Overall Heat Transfer Coefficient Clean",Default=1,Lower=1e-6,Upper=1e10); Ud as heat_trans_coeff (Brief="Overall Heat Transfer Coefficient Dirty",Default=1,Lower=1e-6,Upper=1e10); Ch as positive (Brief="Hot Stream Heat Capacity",Lower=1e-3,Default=1e3,Unit='W/K'); Cc as positive (Brief="Cold Stream Heat Capacity",Lower=1e-3,Default=1e3,Unit='W/K'); Cr as positive (Brief="Heat Capacity Ratio",Default=0.5,Lower=1e-6); Cmin as positive (Brief="Minimum Heat Capacity",Lower=1e-10,Default=1e3,Unit='W/K'); Cmax as positive (Brief="Maximum Heat Capacity",Lower=1e-10,Default=1e3,Unit='W/K'); NTU as positive (Brief="Number of Units Transference",Default=0.05,Lower=1e-10); EQUATIONS "Number of Units Transference" NTU*Cmin = Ud*A; end Model Tube_Side_Main ATTRIBUTES Pallete = false; Brief = "write some information"; Info = "write some information"; VARIABLES PressureDrop as Tube_Pdrop (Brief="Tube Side Pressure Drop"); HeatTransfer as Tube_Heat_Transfer (Brief="Tube Side Heat Transfer"); end Model Shell_Side_Main ATTRIBUTES Pallete = false; Brief = "write some information"; Info = "write some information"; VARIABLES PressureDrop as Shell_Pdrop (Brief="Shell Side Pressure Drop"); HeatTransfer as Shell_Heat_Transfer (Brief= "Shell Side Heat Transfer"); end Model Basic_Pdrop ATTRIBUTES Pallete = false; Brief = "write some information"; Info = "write some information"; VARIABLES Pdrop as press_delta (Brief="Pressure Drop",Default=0.01, Lower=0); FPdrop as Real (Brief="Pressure Drop : Fraction of Inlet",Lower=0,Upper=0.8); end Model Main_Pdrop ATTRIBUTES Pallete = false; Brief = "write some information"; Info = "write some information"; VARIABLES Hot as Basic_Pdrop (Brief="Hot Stream"); Cold as Basic_Pdrop (Brief="Cold Stream"); end Model DoublePipe_HeatTransfer ATTRIBUTES Pallete = false; Brief = "write some information"; Info = "write some information"; PARAMETERS As as area (Brief="Cross Sectional Area for Flow",Default=0.05,Lower=1e-8); Dh as length (Brief="Hydraulic Diameter of Pipe for Heat Transfer",Lower=1e-8); VARIABLES Re as positive (Brief="Reynolds Number",Default=100,Lower=1); hcoeff as heat_trans_coeff (Brief="Film Coefficient",Default=1,Lower=1e-12, Upper=1e6); fi as fricfactor (Brief="Friction Factor", Default=0.05, Lower=1e-10, Upper=2000); Nu as positive (Brief="Nusselt Number",Default=0.5,Lower=1e-8); PR as positive (Brief="Prandtl Number",Default=0.5,Lower=1e-8); Phi as positive (Brief="Phi Correction",Default=1,Lower=1e-3); Vmean as velocity (Brief="Tube Velocity",Lower=1e-8); end Model DoublePipe_PressureDrop ATTRIBUTES Pallete = false; Brief = "write some information"; Info = "write some information"; PARAMETERS Dh as length (Brief="Hydraulic Diameter of Pipe for Pressure Drop",Lower=1e-6); VARIABLES Pdrop as press_delta (Brief="Pressure Drop",Default=0.01, Lower=1e-10); fi as fricfactor (Brief="Friction Factor", Default=0.05, Lower=1e-10, Upper=2000); Re as positive (Brief="Reynolds Number",Default=100,Lower=1); end Model Main_DoublePipe ATTRIBUTES Pallete = false; Brief = "write some information"; Info = "write some information"; VARIABLES HeatTransfer as DoublePipe_HeatTransfer (Brief="Double Pipe Heat Transfer"); PressureDrop as DoublePipe_PressureDrop (Brief="Double Pipe Pressure Drop"); end