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 |