Language: Excel/VisualBasic.
Objective: This spreadsheet calculates the heat released by the combustion of a mixture of coke oven and natural gas, including fumes flowrate and chemical composition.
Click here to download the Excel file or use the Visual Basic for Applications listing below.
***** Begin of Program Listing *****
' ' Programa CombCalc ' ' Executa Cálculos de Combustão para Fornos de Reaquecimento. ' ' ' Referências: ' ' - FERRAZ, M.J.O. (editor): Laminação dos Aços, ABM, São Paulo, 1981. ' ' ' ' Antonio Augusto Gorni ' ' Start-up: 17.08.2004 ' Esta Versão: 04.05.2007 ' ' ' Macro-Opções do Visual Basic ' Option Explicit Option Base 1 Sub Fire() ' ' Variáveis de processo. ' Dim CalorCombustao As Single ' Calor Gerado pela Combustão, [Kcal] Dim CalorFumos As Single ' Calor Extraído pelos Fumos de Combustão, [Kcal] Dim Benzeno_GCO As Single ' Fração em Volume de Benzeno no Gás de Coqueria Dim Butano_GCO As Single ' Fração em Volume de Butano no Gás de Coqueria Dim Butano_GN As Single ' Fração em Volume de Butano no Gás Natural Dim CO_GCO As Single ' Fração em Volume de CO no Gás de Coqueria Dim CO2_GCO As Single ' Fração em Volume de CO2 no Gás de Coqueria Dim CO2_GN As Single ' Fração de Volume de CO2 no Gás Natural Dim Etano_GCO As Single ' Fração em Volume de Etano no Gás de Coqueria Dim Etano_GN As Single ' Fração em Volume de Etano no Gás Natural Dim Etileno_GCO As Single ' Fração em Volume de Eteno no Gás de Coqueria Dim FracaoUmidadeAr As Single ' Volume Específico de Umidade no Ar, [Nm3/Nm3 Ar] Dim FracaoGN As Single ' Fração em Volume de Gás Natural no Gás Combustível Dim H2S_GCO As Single ' Fração em Volume de H2S no Gás de Coqueria Dim Hidrogenio_GCO As Single ' Fração em Volume de Hidrogênio no Gás de Coqueria Dim iButano_GCO As Single ' Fração em Volume de iso-Butano no Gás de Coqueria Dim iButano_GN As Single ' Fração em Volume de iso-Butano no Gás Natural Dim iPentano_GN As Single ' Fração em Volume de iso-Pentano no Gás Natural Dim Metano_GCO As Single ' Fração em Volume de Metano no Gás de Coqueria Dim Metano_GN As Single ' Fração em Volume de Metano no Gás Natural Dim Nitrogenio_GCO As Single ' Fração em Volume de Nitrogênio no Gás de Coqueria Dim Nitrogenio_GN As Single ' Fração em Volume de Nitrogênio no Gás Natural Dim Pentano_GN As Single ' Fração em Volume de Pentano no Gás Natural Dim Propano_GCO As Single ' Fração em Volume de Propano no Gás de Coqueria Dim Propano_GN As Single ' Fração em Volume de Propano no Gás Natural Dim RelArCombIdeal ' Relação Ar:Combustível Ideal [Em Volume] Dim TAmb As Single ' Temperatura Ambiente [°C] Dim TArCombustao As Single ' Temperatura do Ar Úmido para Combustão, [°C] Dim TFumosSaida As Single ' Temperatura dos Fumos, [°C] Dim UmidadeAr As Single ' Umidade Relativa do Ar [%] Dim VazaoGas As Single ' Vazão Total de Gás Combustível Úmido, [Nm³/h] Dim VazaoGasSeco As Single ' Vazão Total de Gás Combustível Seco, [Nm³/h] Dim VazaoAr As Single ' Vazão Total de Ar Úmido, [Nm³/h] Dim NitrogenioGas As Single ' Volume de Nitrogênio Introduzido pelos Gases Combustíveis [Nm³/h] Dim GN As Single ' Fração em Volume de Gás Natural Presente no Gás Combustível Dim GCO As Single ' Fração em Volume de Gás de Coqueria Presente no Gás Combustível Dim NO As Single ' Quantidade de Oxigênio Teórico para Combustão [kmoles] Dim NC As Single ' Quantidade Teórica de Fumos Secos Gerados pela Combustão de C [kMoles] Dim NS As Single ' Quantidade Teórica de Fumos Secos Gerados pela Combustão de S [kMoles] Dim NG As Single ' Quantidade Teórica de Fumos Secos Gerados pela Combustão [kMoles] Dim NU As Single ' Quantidade Teórica de Umidade Gerada pela Combustão [kMoles] Dim ArSecoTotalReal As Single ' Volume de Ar Seco Total Real da Combustão no Período Considerado, [Nm³] Dim ArSecoExcReal As Single ' Volume de Ar Seco em Excesso Total, [Nm³/h] Dim CO2Periodo As Single ' Volume de CO2 Gerado no Periodo Considerado, [Nm³/h] Dim SO2Periodo As Single ' Volume de SO2 Gerado no Período Considerado, [Nm³/h] Dim UmidadeCombustaoPeriodo As Single ' Volume de Umidade Gerado no Período Considerado, [Nm³] Dim FracaoUmidadeGas As Single ' Volume Específico de Umidade Contido no Gás Combustível Consumido no Período, [Nm³/Nm³ Gás Seco] Dim UmidadeGas As Single ' Volume de Umidade Contido no Gás Combustível Consumido no Período, [Nm³] Dim UmidadeArUmido As Single ' Volume de Umidade Contido no Ar de Combustão, [Nm³] Dim UmidadeTotal As Single ' Umidade Total nos Fumos: do Ar, Gás Combustível e Combustão Dim OxTotalReal As Single ' Volume Total de Oxigênio Fornecido, [Nm³/h] Dim OxArExcessoNominal As Single ' Volume de Oxigênio do Ar em Excesso Além do Especificado, [Nm³/h] Dim OxArExcessoReal As Single ' Volume de Oxigênio do Ar em Excesso Total, [Nm³/h] Dim NitrogenioAr As Single ' Volume de Nitrogênio do Ar em Excesso, [Nm³/h] Dim VolumeArExcesso As Single ' Volume Real de Ar em Excesso, [Nm³/h] Dim PCI As Single ' Poder Calorífico Inferior do Gás Combustível, [kcal/Nm³] Dim CorrecaoGCO As Single ' Correção das Frações Combustíveis do Gás de Coqueria Dim CorrecaoGN As Single ' Correção das Frações Combustíveis do Gás Natural Dim A_Calor, B_Calor As Single ' Coeficientes da Equação para Cálculo do Calor Específico Dim CalorGas As Single ' Calor Latente do Gás Combustível Úmido, [kcal/Nm³] Dim CalorArCombustao As Single ' Calor Latente do Ar para Combustão, [kcal/Nm³] Dim VolumeTotal As Single ' Volume Total de Gás de Combustão [Nm³/h] Dim FracVolSO2 As Single ' Fração Volumétrica de SO2 nos Fumos [%] Dim FracVolCO2 As Single ' Fração Volumétrica de CO2 nos Fumos [%] Dim FracVolH2O As Single ' Fração Volumétrica de H2O nos Fumos [%] Dim FracVolN2 As Single ' Fração Volumétrica de N2 nos Fumos [%] Dim FracVolO2 As Single ' Fração Volumétrica de O2 nos Fumos [%] ' ' Variáveis auxiliares. ' Dim i, j As Integer Dim Aux1, Aux2 As Single Dim Forno, Dia As String ' ' Início da festa. ' Application.ScreenUpdating = False ' ' Inicia Carregamento dos Dados. ' Sheets("Combustion").Select ' ' Carrega Composição do GCO. ' Nitrogenio_GCO = [B6] / 100 Hidrogenio_GCO = [C6] / 100 Metano_GCO = [D6] / 100 Etano_GCO = [E6] / 100 Propano_GCO = [F6] / 100 CO_GCO = [G6] / 100 CO2_GCO = [H6] / 100 Butano_GCO = [B11] / 100 iButano_GCO = [C11] / 100 Benzeno_GCO = [D11] / 100 Etileno_GCO = [E11] / 100 H2S_GCO = [H11] / 100 Aux1 = Nitrogenio_GCO + Hidrogenio_GCO + Metano_GCO + Etano_GCO + _ Propano_GCO + CO_GCO + CO2_GCO + Butano_GCO + iButano_GCO + _ Benzeno_GCO + Etileno_GCO + H2S_GCO If Aux1 > 1.01 Or Aux1 < 0.99 Then MsgBox "Problems in the Composition of the Coke Oven Gas!", 0, "Alert!" ' ' Carrega Composição do GN. ' Nitrogenio_GN = [B7] / 100 Metano_GN = [D7] / 100 Etano_GN = [E7] / 100 Propano_GN = [F7] / 100 CO2_GN = [H7] / 100 Butano_GN = [B12] / 100 iButano_GN = [C12] / 100 Pentano_GN = [F12] / 100 iPentano_GN = [G12] / 100 Aux1 = Nitrogenio_GN + Metano_GN + Etano_GN + Propano_GN + _ CO2_GN + Butano_GN + iButano_GN + Pentano_GN + _ iPentano_GN If Aux1 > 1.01 Or Aux1 < 0.99 Then MsgBox "Problems in the Composition of the Natural Gas!", 0, "Alert!" ' ' Carrega Dados de Processo. ' VazaoGas = [D15] VazaoAr = [D16] GCO = [D17] / 100 UmidadeAr = [D18] TAmb = [D19] TFumosSaida = [D20] GN = (1 - GCO) ' ' Cálculo dos parâmetros da combustão. ' ' Número de moles de oxigênio, carbono, enxôfre e água. ' NO = GCO * CO_GCO / 2 + _ GCO * Hidrogenio_GCO / 2 + _ 1.5 * GCO * H2S_GCO + _ 2 * (GCO * Metano_GCO + GN * Metano_GN) + _ 3.5 * (GCO * Etano_GCO + GN * Etano_GN) + _ 5 * (GCO * Propano_GCO + GN * Propano_GN) + _ 6.5 * (GCO * (Butano_GCO + iButano_GCO) + GN * (Butano_GN + iButano_GN)) + _ 8 * GN * (Pentano_GN + iPentano_GN) + _ 3 * GCO * Etileno_GCO + _ 7.5 * GCO * Benzeno_GCO NC = GCO * CO_GCO / 2 + _ GCO * Metano_GCO + GN * Metano_GN + _ 2 * (GCO * (Etano_GCO + Etileno_GCO) + GN * Etano_GN) + _ 3 * (GCO * Propano_GCO + GN * Propano_GN) + _ 4 * (GCO * (Butano_GCO + iButano_GCO) + GN * (Butano_GN + iButano_GN)) + _ 5 * GN * (Pentano_GN + iPentano_GN) + _ 6 * GCO * Benzeno_GCO NS = GCO * H2S_GCO NG = NC + NS NU = GCO * (Hidrogenio_GCO + H2S_GCO) + _ 2 * (GCO * (Metano_GCO + Etileno_GCO) + GN * Metano_GN) + _ 3 * (GCO * (Etano_GCO + Benzeno_GCO) + GN * Etano_GN) + _ 4 * (GCO * Propano_GCO + GN * Propano_GN) + _ 5 * (GCO * (Butano_GCO + iButano_GCO) + GN * (Butano_GN + iButano_GN)) + _ 6 * GN * (Pentano_GN + iPentano_GN) ' ' Correções nas vazões dos gases. ' FracaoUmidadeGas = 1 / (760 / (Exp(20.5674 - 5197.43 / (TAmb + 273)) - 1)) VazaoGasSeco = VazaoGas / (1 + FracaoUmidadeGas) NitrogenioGas = VazaoGasSeco * (GCO * Nitrogenio_GCO + GN * Nitrogenio_GN) FracaoUmidadeAr = UmidadeAr / (100 * (760 / (Exp(20.5674 - 5197.43 / (TAmb + 273))) - 1)) ' ' Cálculo dos parâmetros reais da combustão. ' RelArCombIdeal = NO / 0.21 ArSecoTotalReal = VazaoAr / (1 + FracaoUmidadeAr) ArSecoExcReal = ArSecoTotalReal - RelArCombIdeal * VazaoGasSeco ' ' Atualmente o programa não prevê combustão incompleta. No futuro essa ' condição poderá ser implementada, por exemplo, assumindo-se que o ' excesso de combustível será simplesmente eliminado, "roubando" calor ' do forno, ou sofrendo craqueamento (geração de fumaça preta). ' If ArSecoExcReal < 0 Then MsgBox "Incomplete combustion, wrong results!", 0, "Achtung!" ArSecoExcReal = 0 End If OxTotalReal = ArSecoTotalReal * 0.21 OxArExcessoReal = ArSecoExcReal * 0.21 CO2Periodo = VazaoGasSeco * NC SO2Periodo = VazaoGasSeco * NS UmidadeCombustaoPeriodo = VazaoGasSeco * NU UmidadeGas = VazaoGasSeco * FracaoUmidadeGas UmidadeArUmido = FracaoUmidadeAr * ArSecoTotalReal UmidadeTotal = UmidadeCombustaoPeriodo + UmidadeGas + UmidadeArUmido OxArExcessoNominal = 0.21 * VolumeArExcesso NitrogenioAr = 0.79 * ArSecoTotalReal VolumeTotal = SO2Periodo + CO2Periodo + UmidadeTotal + NitrogenioAr + NitrogenioGas + OxArExcessoReal FracVolSO2 = SO2Periodo / VolumeTotal * 100 FracVolCO2 = CO2Periodo / VolumeTotal * 100 FracVolH2O = UmidadeTotal / VolumeTotal * 100 FracVolN2 = (NitrogenioAr + NitrogenioGas) / VolumeTotal * 100 FracVolO2 = OxArExcessoReal / VolumeTotal * 100 [B24] = CO2Periodo [C24] = UmidadeTotal [D24] = NitrogenioAr + NitrogenioGas [E24] = OxArExcessoReal [F24] = SO2Periodo [G24] = VolumeTotal [B25] = FracVolCO2 [C25] = FracVolH2O [D25] = FracVolN2 [E25] = FracVolO2 [F25] = FracVolSO2 [G25] = FracVolCO2 + FracVolH2O + FracVolN2 + FracVolO2 + FracVolSO2 ' ' Cálculo do PCI dos combustíveis. ' PCI = (30.19 * GCO * CO_GCO + _ 25.82 * GCO * Hidrogenio_GCO + _ 55.27 * GCO * H2S_GCO + _ 85.57 * (GCO * Metano_GCO + GN * Metano_GN) + _ 152.36 * (GCO * Etano_GCO + GN * Etano_GN) + _ 218.09 * (GCO * Propano_GCO + GN * Propano_GN) + _ 283.92 * (GCO * Butano_GCO + GN * Butano_GN) + _ 283.17 * (GCO * iButano_GCO + GN * iButano_GN) + _ 349.43 * GN * Pentano_GN + _ 347.94 * GN * iPentano_GN + _ 141.16 * GCO * Etileno_GCO + _ 338.23 * GCO * Benzeno_GCO) * 100 CalorCombustao = PCI * VazaoGasSeco CalorFumos = (((CO2Periodo + SO2Periodo) * 0.406 + UmidadeTotal * 0.373 + OxArExcessoReal * 0.302 + _ NitrogenioAr * 0.302) + ((CO2Periodo + SO2Periodo) * 0.00009 + UmidadeTotal * 0.00005 + _ OxArExcessoReal * 0.000022 + NitrogenioAr * 0.000022) * _ (TFumosSaida + TAmb)) * (TFumosSaida - TAmb) ' ' Saída dos parâmetros do combustível resultante. ' [J17] = (GCO * Nitrogenio_GCO + GN * Nitrogenio_GN) * 100 [J18] = (GCO * CO2_GCO + GN * CO2_GN) * 100 [J19] = GCO * CO_GCO * 100 [J20] = GCO * Hidrogenio_GCO * 100 [J21] = (GCO * Metano_GCO + GN * Metano_GN) * 100 [J22] = (GCO * Etano_GCO + GN * Etano_GN) * 100 [J23] = (GCO * Propano_GCO + GN * Propano_GN) * 100 [J24] = (GCO * Butano_GCO + GN * Butano_GN) * 100 [J25] = (GCO * iButano_GCO + GN * iButano_GN) * 100 [J26] = GN * Pentano_GN * 100 [J27] = GN * iPentano_GN * 100 [J28] = GCO * Etileno_GCO * 100 [J29] = GCO * Benzeno_GCO * 100 [J30] = GCO * H2S_GCO * 100 [K19] = [J19] * 30.19 [K20] = [J20] * 25.82 [K21] = [J21] * 85.57 [K22] = [J22] * 152.36 [K23] = [J23] * 218.09 [K24] = [J24] * 283.92 [K25] = [J25] * 283.17 [K26] = [J26] * 349.43 [K27] = [J27] * 347.94 [K28] = [J28] * 141.16 [K29] = [J29] * 338.23 [K30] = [J30] * 55.27 [L19] = [K19] * 100 / PCI [L20] = [K20] * 100 / PCI [L21] = [K21] * 100 / PCI [L22] = [K22] * 100 / PCI [L23] = [K23] * 100 / PCI [L24] = [K24] * 100 / PCI [L25] = [K25] * 100 / PCI [L26] = [K26] * 100 / PCI [L27] = [K27] * 100 / PCI [L28] = [K28] * 100 / PCI [L29] = [K29] * 100 / PCI [L30] = [K30] * 100 / PCI ' ' Saída dos parâmetros de combustão. ' [D28] = PCI [D29] = RelArCombIdeal [D30] = CalorCombustao / 1000 [D31] = CalorFumos / 1000 End Sub
***** End of Program Listing ******
Return to the Software Menu.
Last Update: 23 March 2007 | ||
© Antonio Augusto Gorni |