|
|
Gas Absorption Column TutorialHYSYS Tutorial for the Steady State Behavior of the Gas Absorption Column in the Unit Operation Laboratory AbstractA tutorial has been prepared to show how HYSYS can be used to model a continuous gas absorption process in a packed column. In the absorption process, air and CO2 are mixed before they enter the packed column where the CO2 is removed from the air by water. The equipment used for the absorption can be represented in a HYSYS process flow diagram. Information about the streams can be entered from a program created in HYSYS. This program also uses HYSYS transport properties to calculate the linear approximation of the number of transfer units and height per transfer units.
TutorialThe purpose of this tutorial is to introduce the use of HYSYS as a modeling tool for the gas absorption column in the Unit Operations Laboratory of the chemical engineering program. This tutorial shows how to:
In this tutorial, carbon dioxide (CO2) is removed form air by water in a packed column. The packed column contains ¼ inch Ceramic Interlock Saddles. What is HYSYS?HYSYS is a simulation software designed by Hyprotech. In this tutorial, HYSYS Plant 2.2.2, (released August 2000) is used. Some of the procedure described within may not apply to other versions of HYSYS. Getting Started in HYSYSTwo versions of HYSYS are install on computers in the Biery Room of the Chemical Engineering Building. Care should be taken to ensure that the correct version is used. After logging onto the Windows NT workstations, either of the following can be used to access HYSYS 2.2.2.
After doing either of the above the HYSYS plant program will open. (A blank window opens). 2. To start a new case, do one of the following:
Figure 2: Opening a new case
Choosing a Fluid PackageOnce a new case is selected, a window opens which shows a Simulation Basis Manager (Figure 3). This is where the fluid packages are chosen.
Figure 4: selecting the fluid package
Selecting Components Once the fluid package is chosen, the components can then be selected. The components that are used in the Gas adsorption lab are air, water and carbon dioxide. 7. To add water and carbon dioxide to the list of components, in the Match box, separately type in h2o and co2 and then click on Add Pure button as was done with air. The list of components should be similar to that shown in Figure 5.
Figure 5: complete components list 8. After the components are chosen, close the Fluid Package: Basics-1 window and then click on the Enter Simulation Environment button on the Simulation Basic Manager window.
Setting up the Simulation Environment When the Enter Simulation Environment button is clicked, HYSYS opens up a PFD window. All the equipment of the system will be represented in PFD window. Along with the PFD window HYSYS opens up an object palette window (see Figure 6). If the object palette window does not open, press F4, or go to Flowsheet menu and select open object palette.
Figure 7: Naming stream to the column When all the streams are labeled, the Next button is activated.
After entering the pressures of the top and bottom, click on next. This will change the window to one where estimates of the temperature of the column top and bottom are asked for. Since this is optional, one can click on the Done button. (If the column temperature differ from the stream/ambient, one should not skip this option.) 14. By clicking on the Done button, HYSYS will bring up a window pertaining to the column. HYSYS will show a schematic of the column. Note that it shows 10 stages. (Later, one will see how to "change" those trays to packing.) For now, close that window and return to the PFD.
15. Select "Mixer" from the object palette and drop it on the PFD. Double click on the mixer named by default "MIX-100". A window will pop up pertaining to the mixer. 16. For the inlet streams, type in ‘co2’ and ‘air’, respectively. For the outlet stream, type ‘mixedgasesin’. (See figure 9)
Figure 9: Naming mixer streams. 17. After the streams of the mixer are named, close MIX-100 window. If the PFD looks "untidy", go to the PFD menu and select "Auto Position". One should note that all the streams on the PFD are light blue, this indicates that HYSYS has not solved for the properties of the stream. This is because the components of the streams have not been defined.
Figure 10: Entering the stream "waterin" conditions After clicking on OK, one will return to the "waterin" window. Near the bottom of the window, there should be a green box with OK inside. This green box with OK inside indicates that all the required information for the stream is specified. 23. Close the "waterin" window and return to the PFD. Note that the "waterin" stream is of a darker shade blue than all the other streams. 24. The other inlet streams, "co2" and "air", can be defined in a similar way to that of the "waterin" stream. (See figure 11-14). Note the CO2 stream is heated before being mixed with air; measure the actual temperature in the lab.
Figure 14: Composition of "air" stream After defining "co2" and "air" all the inlet streams should turn blue. Now the column is ready to be run. 25. On the PFD, double click on "T-100". When the column window pops up, click on the run bottom located near the bottom of the window. The red unconverged box should turn to green converged if all the above procedure was followed. However, the results that are obtained at this point are not a true model for the gas absorption column because the simulation is run using trays, not packing.
Changing Trays to Packing 26. Go to the Tools menu and select Utilities.
Figure 15: Tray Section Selection After selecting the Tray section, one will return to the Tray sizing window.
Editing plates
Calculating the number of transfer units The number of transfer units (NTU) and the height per transfer units (HTU) can be calculated by using a linear approximation taken from Froust and Geankoplis. If this gas adsorption simulation is to be used for highly concentrated CO2 into the column, this approximation might not hold and numerical integration will be needed to calculate the NTU and HTU.
Sub Main 'This program obtains raw data gathered in the lab and used HYSYS transport properties To determine the transfer units among other things. 'Declare Objects Dim hyCase As Object Dim hyAir As Object 'Delcare Variables Dim temp As Double
'On Error GoTo ErrorTrap 'GETTING # OF RUNS Begin Dialog UserDialog 400,200 Text 20,21, 120,14, "# of runs",.Text1 TextBox 150, 14,70,21,.runs OKButton 160,160,80,21 End Dialog Dim dlg As UserDialog Dialog dlg If dlg.Runs="" Then Exit Sub End If dlruns=CInt(dlg.runs) 'Make Excel sheet Set xlApp=CreateObject("Excel.application") xlApp.Visible=True xlApp.Workbooks.Add xlApp.ActiveWorkbook.Activesheet.name="Data" Set xlSheet=xlApp.ActiveWorkbook.Worksheets("Data") With xlSheet .Cells(1,1).Value="Inputs" .Cells(4,1).Value="% max flow" .Cells(5,1).Value="air (SCCM)" .Cells(6,1).Value="CO2 (SCCM)" .Cells(7,1).Value="Ambient temperature (C)" .Cells(8,1).Value="Conductivity (microSiemens)" 'for simplicity assume all stream temperature will be equal to ambient except forco2 temp End With 'Set object reference to active simulation case (absorption.HSC) Set hyCase=ActiveCase If hyCase Is Nothing Then MsgBox "This prgram requires that the absorption.HSC be loaded" Exit Sub End If If Right(hyCase.FullName,14)<>"absorption.hsc" Then MsgBox"This Program requires that the absorption.hsc be loaded" Exit Sub End If 'Set object reference to material streams in absorption.HSC Set hyAir=hyCase.Flowsheet.MaterialStreams("air") Set hyco2=hycase.Flowsheet.MaterialStreams("co2") Set hywater=hycase.Flowsheet.MaterialStreams("waterin") Set hyLout=hycase.Flowsheet.MaterialStreams("liquid out") Set hycolumn=hycase.Flowsheet.Operations.Item("T-100").ColumnFlowsheet Set hygas=hycase.Flowsheet.MaterialStreams("mixedgasesin") Set hyGout=hycase.Flowsheet.MaterialStreams("gasesout") run=1 Do 'Get the raw data Call DialogBox(water, air, co2, temp, cond) 'Setting All Input stream except co2 to ambient hyair.Temperature.SetValue temp,"C" hywater.Temperature.SetValue temp,"C" 'Calibration curves should be done for each experiments!! waterflow=0.4067*water+30.033 'g/s (water calibration only good for data between 20&60% max flow) airflow=2.1545*10^-5*air 'g/s co2flow=co2*3*10^-5-7*10^-19 'g/s 'Setting flow rates in HYSYS. hyair.MassFlow.SetValue airflow,"g/s" hyco2.MassFlow.SetValue co2flow,"g/s" hywater.MassFlow.SetValue waterflow,"g/s" 'relating conductivity to mole fraction ( in experiment mole fraction were related to pH was related to conductivity; all relationship was assumed linear and the following was derived form this) xoutexp = cond*7.242*10^-8+9.596*10^-8 blabla=hyLout.ComponentMolarFractionValue 'xlsheet.cells(13,3).Value=blabla(0) 'xlsheet.cells(13,3).Value=blabla(1) xout=blabla(2) diff=Abs((xout-xoutexp)/xout*100) gasin=hygas.ComponentMolarFractionValue yin=gasin(2) gasout=hyGout.ComponentMolarFractionValue yout=gasout(2) yinstar=0.142*10^4*xout youtstar=0.0 xinstar=yout/(.142*10^4) xoutstar=yin/(.142*10^4) xin=0.0 g=hygas.MolarFlow.GetValue L=hywater.MolarFlow.GetValue
'Calculating HTU and NTU's f1=Log((youtstar-yout)/(yinstar-yin)) Nog=f1*((yout-yin)/((youtstar-yout)-(yinstar-yin))) Hog=2.0*Nog^-1 f2=Log((-xinstar+xin)/(-xoutstar+xout)) Nol=f2*((-xout+xin)/((xin-xinstar)-(xout-xoutstar))) Hol=2.0*Nol^-1 d=.29178 s=3.141592654*(.29178^2.0)/4.0 kya=g*(Hog*s)^-1 kxa=L*(Hol*s)^-1 m=-kxa/kya u=(kya^-1-m*kxa^-1) w=u^-1 Hg=g*(w*s)^-1 Ng=2.0*Hg^-1 Hl=(Hog-Hg)*L*(m*G)^-1'Froust Nl=2.0*Hl^-1 'Output calculated stuff With xlSheet .Cells(3,1)="Run # :" .Cells(3,1+run).Value=run .Cells(4,1+run).Value=water .Cells(5,1+run).Value=air .Cells(6,1+run).Value=co2 .Cells(7,1+run).Value=temp .Cells(8,1+run).Value=cond .Cells(11,1).Value="Experimental xout" .Cells(11,1+run).Value=xoutexp .Cells(12,1)="HYSYS Predicted xout" .Cells(12,1+run).Value=xout .Cells(10,1)="Output" .Cells(13,1)="Difference % in xout's" .Cells(13,1+run).Value=diff .Cells(15,1)="Nog" .Cells(15,1+run).Value=Nog .Cells(17,1)="Nol" .Cells(17,1+run).Value=Nol .Cells(16,1)="Hog (ft)" .Cells(16,1+run)=Hog .Cells(18,1)="Hol (ft)" .Cells(18,1+run).Value=Hol .Cells(19,1)="Ng" .cells(19,1+run).Value=Ng .cells(20,1)="Hg (ft)" .cells(20,1+run).Value=Hg .cells(21,1)="Nl" .cells(21,1+run).Value=Nl .cells(22,1)="Hl (ft)" .cells(22,1+run).Value=Hl .cells(14,1)="yout" .cells(14,1+run)=yout .cells(23,1)="yin" .cells(23,1+run)= yin End With run=run+1 Loop Until run>dlruns Call config 'Autofit column A In worksheet x1sheet xlsheet.columns("A").Autofit ErrorTrap: MsgBox " The following error occured: " & Error(Err) End Sub Sub DialogBox(dlwater,dlair,dlco2,dltemp, dlcond) Begin Dialog UserDialog 400,200 Text 20,21,120,14,"water in",.Text1 Text 250,21,70,14,"%max flow",.Text2 Text 20,49,120,14,"Air in",.Text3 Text 250,49,70,14,"SCCM",.text4 Text 20,77,120,14,"CO2 in",.Text5 Text 250,77,70,14,"SCCM",.text6 Text 20,105,120,14,"Rm.Temperature",.text7 Text 250,105,70,14,"C",.text8 Text 20, 135,80,14,"Conductivity",.text9 Text 250,135,85,14,"microSiemens",.text10 TextBox 150,14,90,21,.water TextBox 150,42,90,21,.air TextBox 150,70,90,21,.co2 TextBox 150,100,90,21,.temp TextBox 150, 130,90,21,.cond OKButton 160,160,80,21 End Dialog Dim dlg As UserDialog Dialog dlg 'If dlg.water=""Then 'MsgBox "Please enter the % max flow of water used" 'DialogBox 'End If 'If dlg.air=""Then 'MsgBox "Please enter the volmetric flow rate of the air" 'DialogBox 'End If 'If dlg.co2=""Then 'MsgBox "Please enter the volmetric flow rate of CO2" 'DialogBox 'End If dlwater=CDbl(dlg.water) dlair=CDbl(dlg.air) dlco2=CDbl(dlg.co2) dltemp=CDbl(dlg.temp) dlcond=CDbl(dlg.cond) 'If dlwater <=0 Then 'MsgBox "% max flow of water must be greater than 0" 'DialogBox 'ElseIf dlwater >100 Then 'MsgBox "% max flow of water must be less than 100" 'DialogBox 'End If 'If dlair <0 Then 'MsgBox "air flow must be greater than 0" 'DialogBox 'End If 'If dlco2 <0 Then 'MsgBox "CO2 flow must be greater than 0" 'DialogBox 'End If End Sub
Table 1: inputs to check efficiency
With the simulation model of the Gas absorption column, the code entered above can be adjusted so that HYSYS can be used to predict what will happen in the lab. 65. Enter the following code to predict the results that should be obtained in the lab. Sub Main 'This program obtains proposed raw data to be used in the lab and used HYSYS transport properties to determine the transfer units among other things. 'Declare Objects Dim hyCase As Object Dim hyAir As Object 'Delcare Variables Dim temp As Double
'GETTING # OF RUNS Begin Dialog UserDialog 400,200 Text 20,21, 120,14, "# of runs",.Text1 TextBox 150, 14,70,21,.runs OKButton 160,160,80,21 End Dialog Dim dlg As UserDialog Dialog dlg If dlg.Runs="" Then Exit Sub End If dlruns=CInt(dlg.runs) 'Make Excel sheet Set xlApp=CreateObject("Excel.application") xlApp.Visible=True xlApp.Workbooks.Add xlApp.ActiveWorkbook.Activesheet.name="Data" Set xlSheet=xlApp.ActiveWorkbook.Worksheets("Data") With xlSheet .Cells(1,1).Value="Inputs" .Cells(4,1).Value="% max flow" .Cells(5,1).Value="air (SCCM)" .Cells(6,1).Value="CO2 (SCCM)" .Cells(7,1).Value="Ambient temperature (C)" 'for simplicity assume all stream temperature will be equal to ambient except forco2 temp End With 'Set object reference to active simulation case (absorption.HSC) Set hyCase=ActiveCase If hyCase Is Nothing Then MsgBox "This prgram requires that the absorption.HSC be loaded" Exit Sub End If If Right(hyCase.FullName,14)<>"absorption.hsc" Then MsgBox"This Program requires that the absorption.hsc be loaded" Exit Sub End If 'Set object reference to material streams in absorption.HSC Set hyAir=hyCase.Flowsheet.MaterialStreams("air") Set hyco2=hycase.Flowsheet.MaterialStreams("co2") Set hywater=hycase.Flowsheet.MaterialStreams("waterin") Set hyLout=hycase.Flowsheet.MaterialStreams("liquid out") Set hycolumn=hycase.Flowsheet.Operations.Item("T-100").ColumnFlowsheet Set hygas=hycase.Flowsheet.MaterialStreams("mixedgasesin") Set hyGout=hycase.Flowsheet.MaterialStreams("gasesout") run=1 Do 'Get the raw data Call DialogBox(water, air, co2, temp) 'Setting All Input stream except co2 to ambient hyair.Temperature.SetValue temp,"C" hywater.Temperature.SetValue temp,"C" 'Calibration curves should be done for each experiments!! waterflow=0.4067*water+30.033 'g/s (water calibration only good for data between 20&60% max flow) airflow=2.1545*10^-5*air 'g/s co2flow=co2*3*10^-5-7*10^-19 'g/s 'Setting flow rates in HYSYS. hyair.MassFlow.SetValue airflow,"g/s" hyco2.MassFlow.SetValue co2flow,"g/s" hywater.MassFlow.SetValue waterflow,"g/s" 'getting xout blabla=hyLout.ComponentMolarFractionValue xout=blabla(2) gasin=hygas.ComponentMolarFractionValue yin=gasin(2) gasout=hyGout.ComponentMolarFractionValue yout=gasout(2) yinstar=0.142*10^4*xout youtstar=0.0 xinstar=yout/(.142*10^4) xoutstar=yin/(.142*10^4) xin=0.0 g=hygas.MolarFlow.GetValue L=hywater.MolarFlow.GetValue
'Calculating HTU and NTU's f1=Log((youtstar-yout)/(yinstar-yin)) Nog=f1*((yout-yin)/((youtstar-yout)-(yinstar-yin))) Hog=2.0*Nog^-1 f2=Log((-xinstar+xin)/(-xoutstar+xout)) Nol=f2*((-xout+xin)/((xin-xinstar)-(xout-xoutstar))) Hol=2.0*Nol^-1 d=.29178 s=3.141592654*(.29178^2.0)/4.0 kya=g*(Hog*s)^-1 kxa=L*(Hol*s)^-1 m=-kxa/kya u=(kya^-1-m*kxa^-1) w=u^-1 Hg=g*(w*s)^-1 Ng=2.0*Hg^-1 Hl=(Hog-Hg)*L*(m*G)^-1'Froust Nl=2.0*Hl^-1 'Output calculated stuff With xlSheet .Cells(3,1)="Run # :" .Cells(3,1+run).Value=run .Cells(4,1+run).Value=water .Cells(5,1+run).Value=air .Cells(6,1+run).Value=co2 .Cells(7,1+run).Value=temp .Cells(11,1).Value="Liquid molar flow (kgmol/hr)" .Cells(11,1+run).Value=L .Cells(13,1)=" xout (HYSYS predicted)" .Cells(13,1+run).Value=xout .Cells(10,1)="Output" .Cells(12,1)="Gas molar flow (kgmol/hr)" .Cells(12,1+run).Value=g .Cells(15,1)="Nog" .Cells(15,1+run).Value=Nog .Cells(17,1)="Nol" .Cells(17,1+run).Value=Nol .Cells(16,1)="Hog (ft)" .Cells(16,1+run)=Hog .Cells(18,1)="Hol (ft)" .Cells(18,1+run).Value=Hol .Cells(19,1)="Ng" .cells(19,1+run).Value=Ng .cells(20,1)="Hg (ft)" .cells(20,1+run).Value=Hg .cells(21,1)="Nl" .cells(21,1+run).Value=Nl .cells(22,1)="Hl (ft)" .cells(22,1+run).Value=Hl .cells(14,1)="yout" .cells(14,1+run)=yout .cells(23,1)="yin" .cells(23,1+run)= yin .cells(24,1)="xin" .cells(24,1+run)= xin End With run=run+1 Loop Until run>dlruns Call config 'Autofit column A In worksheet x1sheet xlsheet.columns("A").Autofit End Sub Sub DialogBox(dlwater,dlair,dlco2,dltemp) Begin Dialog UserDialog 400,200 Text 20,21,120,14,"water in",.Text1 Text 250,21,70,14,"%max flow",.Text2 Text 20,49,120,14,"Air in",.Text3 Text 250,49,70,14,"SCCM",.text4 Text 20,77,120,14,"CO2 in",.Text5 Text 250,77,70,14,"SCCM",.text6 Text 20,105,120,14,"Rm.Temperature",.text7 Text 250,105,70,14,"C",.text8 TextBox 150,14,90,21,.water TextBox 150,42,90,21,.air TextBox 150,70,90,21,.co2 TextBox 150,100,90,21,.temp
OKButton 160,160,80,21 End Dialog Dim dlg As UserDialog Dialog dlg dlwater=CDbl(dlg.water) dlair=CDbl(dlg.air) dlco2=CDbl(dlg.co2) dltemp=CDbl(dlg.temp)
End Sub
66. Save the program as "code1".
Case Study 1 Before the lab experiments are conducted, it is advisable that one has an understanding of what should happen. ‘Code1’ can be used to predict the results that are expected. 67. Run the program "code1".
69. Make the 3 entries for each run as shown in table 2.
Table 2: Case Study 1 inputs.
70. The Excel outputs from the program should be similar to those in Table 3.
Table 3: Excel outputs for Case Study.
Making McCabe-Thiele Diagram A McCabe-Thiele Diagram can be made in Excel using HYSYS generated composition number for each stage. The method described below will be using the stage composition number for Run # 1 above. Rerun code 1 with only those numbers. A program can be developed to do make multiple diagrams at once. It is up to the user to use the made described below to make such a program.
where y is mole fraction of CO2 in the vapor, x is the mole fraction CO2 in the liquid, and T is the temperature in ° C. Since the temperature was assumed to be 25° C, A = 1614.51. From this the line can be generated; use values for x = 0, and x = 0.00001.
Table 4: Data to make McCabe-Theile diagram.
Figure 17: McCabe-Thiele Diagram for Run 1. From the McCabe-Thiele diagram, the efficiency can be determined if the pack is represented as plates. Case Study 2 After the lab is conducted, the results obtained from the lab can be compared to those obtained in HYSYS. In this case study, the flow rate of the CO2 is varied (20,40, 60 SCCM), while the water and air flow rates are kept constant at 20 % max flow and 1000 SCCM, respectively.
Table 5: Case Study 2 inputs.
Table 6: Excel outputs for Case Study. One should note that the % difference in the xouts (CO2 in liquid out) increase as the CO2 concentration into the increases. This was expected because the efficiency for the column was determined from using a low value for the feed of CO2. Changing the efficiency of column for each feed flow can rectify this problem; however, this is not very time effective. So it is recommended that efficiency for the low flow rate be kept because the NTU are calculated based on approximation for low concentrations. Since the gas feed to the column is relatively dilute, the liquid film will be controlling the absorption, and Hol and Nol are the preferred transfer units to determine the separation effectiveness of the column. In Table 4, it is shown that for a lowest CO2 in (yin) the Nol is largest which indicates a relatively better separation. Other case studies can be done by varying the water and/or air flow rate(s).
References Foust, A. S. et al., Principles of Unit Operations. John Wiley and Sons, New York, 1980. Geankopolis, C. J., Transport Processes and Unit Operations 3rd ed., Prentice Hall, Englewood Cliffs, NJ, 1993.
|
|
|