Gas Combustion Calculations


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