MEASUR-Tools-Suite v1.0.11
The MEASUR Tools Suite is a collection of industrial efficiency calculations written in C++ and with bindings for compilation to WebAssembly.
Loading...
Searching...
No Matches
Modules | Files | Namespaces | Classes | Functions
Gas Flue Gas Material Calculator

Detailed Description

This calculator estimates the available heat and heat losses for gas fuel combustion by analyzing flue gas composition, excess air, constituent properties, and enthalpy of products. The algorithm accounts for stoichiometry, temperature-dependent specific heats, and moisture effects to determine the percentage of fuel energy available for useful work after exhaust losses.

The calculation follows a top-down approach:

  1. Available Heat - Calculate percentage of fuel energy available after exhaust losses
  2. Enthalpy and Heat Content - Determine heat content of each flue gas constituent
  3. Fuel and Product Aggregation - Sum fuel heating value and generated product weights/volumes
  4. Constituent Specific Heats - Calculate temperature-dependent specific heat for each gas
  5. Excess Air and Flue Gas O2 - Determine excess air from O2 measurement or vice versa
  6. Temperature Conversion - Convert temperatures to absolute scale for thermodynamic calculations

Each step is documented with formulas and complete symbol tables.

Available Heat Calculation


Calculate percentage of fuel energy available after exhaust losses.

The available heat represents the fraction of input fuel energy that remains for useful work after accounting for sensible and latent heat losses in the flue gas. It includes contributions from fuel sensible heat, preheated air, and moisture, minus the enthalpy carried away by flue gas constituents.

\begin{equation}\label{eq:gas-flue-gas-material-available-heat-cpp} Q_{avail} = \frac{100 \cdot (Q_{sens} + H_{fuel} + Q_{preheat,air} + Q_{preheat,moisture}) - (H_{H_2O} + H_{CO_2} + H_{N_2} + H_{O_2})}{100 \cdot H_{fuel}}\end{equation}

Symbols
\(Q_{avail}\)Available heat percentage \([\unit{ \percent}]\)
\(Q_{sens}\)Sensible heat of fuel \([\unit{ \btu\per\hour}]\)
\(H_{fuel}\)Heating value of fuel \([\unit{ \btu\per\cubicFoot}]\)
\(Q_{preheat,air}\)Sensible heat of preheated combustion air \([\unit{ \btu\per\hour}]\)
\(Q_{preheat,moisture}\)Sensible heat of moisture in combustion air \([\unit{ \btu\per\hour}]\)
\(H_{H_2O}\)Heat content of water vapor in flue gas \([\unit{ \btu\per\hour}]\)
\(H_{CO_2}\)Heat content of CO2 in flue gas \([\unit{ \btu\per\hour}]\)
\(H_{N_2}\)Heat content of N2 in flue gas \([\unit{ \btu\per\hour}]\)
\(H_{O_2}\)Heat content of O2 in flue gas \([\unit{ \btu\per\hour}]\)
\(100\)Percentage conversion factor \([\unit{ \unitless}]\)

Sensible Heat of Fuel


Calculate sensible heat contribution from fuel temperature above ambient.

When fuel enters at a temperature above ambient, it contributes additional sensible heat to the system. This heat is calculated using the flue gas specific heat and temperature difference.

\begin{equation}\label{eq:gas-flue-gas-material-sensible-heat-cpp} Q_{sens} = Cp_{fg} \cdot (T_{fuel} - T_{amb})\end{equation}

Symbols
\(Q_{sens}\)Sensible heat of fuel \([\unit{ \btu\per\hour}]\)
\(Cp_{fg}\)Specific heat of flue gas \([\unit{ \btu\per\pound\degreeFahrenheit}]\)
\(T_{fuel}\)Fuel temperature \([\unit{ \degreeFahrenheit}]\)
\(T_{amb}\)Ambient temperature \([\unit{ \degreeFahrenheit}]\)

Enthalpy and Heat Content


Calculate heat content of each flue gas constituent.

For each constituent in the flue gas, calculate the enthalpy or heat content based on temperature and mass flow. Water vapor requires special treatment due to latent heat of condensation.

Water Vapor Enthalpy

\begin{equation}\label{eq:gas-flue-gas-material-enthalpy-h2o-cpp} H_{H_2O} = (h_{sat} + Cp_{H_2O} \cdot (T_{fg} - T_{sat})) \cdot 100 \cdot W_{H_2O}\end{equation}

Dry Gas Heat Content

\begin{equation}\label{eq:gas-flue-gas-material-heat-content-co2-cpp} H_{CO_2} = Cp_{CO_2} \cdot \Delta T_{fg,amb} \cdot 100 \cdot W_{CO_2}\end{equation}

\begin{equation}\label{eq:gas-flue-gas-material-heat-content-n2-cpp} H_{N_2} = Cp_{N_2} \cdot \Delta T_{fg,amb} \cdot 100 \cdot W_{N_2}\end{equation}

\begin{equation}\label{eq:gas-flue-gas-material-heat-content-o2-cpp} H_{O_2} = Cp_{O_2} \cdot \Delta T_{fg,amb} \cdot 100 \cdot W_{O_2}\end{equation}

Symbols
\(H_{i}\)Heat content of constituent i \([\unit{ \btu\per\hour}]\)
\(h_{sat}\)Enthalpy at saturation - see Calculate Enthalpy At Saturation Formula \([\unit{ \btu\per\pound}]\)
\(T_{sat}\)Saturation temperature - see Calculate Saturation Temperature Formula \([\unit{ \degreeFahrenheit}]\)
\(Cp_{i}\)Specific heat of constituent i \([\unit{ \btu\per\pound\degreeFahrenheit}]\)
\(T_{fg}\)Flue gas temperature \([\unit{ \degreeFahrenheit}]\)
\(T_{amb}\)Ambient temperature \([\unit{ \degreeFahrenheit}]\)
\(\Delta T_{fg,amb}\)Flue gas temperature rise above ambient (T_{fg} - T_{amb}) \([\unit{ \degreeFahrenheit}]\)
\(W_{i}\)Generated weight of constituent i \([\unit{ \pound\per\MMBtu}]\)
\(100\)Conversion factor \([\unit{ \unitless}]\)

Partial Pressure of Water Vapor


Calculate mole fraction of water vapor in flue gas.

The partial pressure (mole fraction) of water vapor is needed to determine saturation temperature and enthalpy for latent heat calculations.

\begin{equation}\label{eq:gas-flue-gas-material-partial-pressure-h2o-cpp} P_{H_2O} = \frac{V_{H_2O}}{V_{CO_2} + V_{H_2O} + V_{O_2} + V_{N_2}}\end{equation}

Symbols
\(P_{H_2O}\)Partial pressure (mole fraction) of water vapor \([\unit{ \unitless}]\)
\(V_{H_2O}\)Generated volume of water vapor \([\unit{ \cubicFoot\per\MMBtu}]\)
\(V_{CO_2}\)Generated volume of CO2 \([\unit{ \cubicFoot\per\MMBtu}]\)
\(V_{O_2}\)Generated volume of O2 \([\unit{ \cubicFoot\per\MMBtu}]\)
\(V_{N_2}\)Generated volume of N2 \([\unit{ \cubicFoot\per\MMBtu}]\)

Stoichiometric Air and Moisture Correction


Calculate stoichiometric air required and moisture correction.

Stoichiometric air is the theoretical minimum air required for complete combustion. The moisture correction accounts for water vapor in the combustion air.

Stoichiometric Air

\begin{equation}\label{eq:gas-flue-gas-material-stoich-air-cpp} Air_{stoich} = W_{O_2} \cdot \left(1 + \frac{1 - f_{O_2}}{f_{O_2}}\right)\end{equation}

Moisture Correction

\begin{equation}\label{eq:gas-flue-gas-material-moisture-corr-cpp} Moisture_{corr} = (M_{perc} - 0.009) \cdot Air_{stoich} \cdot 0.0763\end{equation}

Symbols
\(Air_{stoich}\)Stoichiometric air required \([\unit{ \pound\per\MMBtu}]\)
\(W_{O_2}\)Generated weight of O2 \([\unit{ \pound\per\MMBtu}]\)
\(f_{O_2}\)Oxygen mass fraction in air \([\unit{ \unitless}]\)
\(Moisture_{corr}\)Moisture correction for combustion air \([\unit{ \pound\per\MMBtu}]\)
\(M_{perc}\)Combustion air moisture percent \([\unit{ \percent}]\)
\(0.009\)Reference moisture content \([\unit{ \unitless}]\)
\(0.0763\)Moisture correction factor \([\unit{ \unitless}]\)

Generated Volumes and Unit Conversion


Convert generated weights to volumes using density factors.

Convert mass of combustion products to volumetric flow rates for partial pressure calculations. Conversion factors are based on standard conditions.

\begin{equation}\label{eq:gas-flue-gas-material-co2-gen-vol-cpp} V_{CO_2} = W_{CO_2} \cdot 0.022722\end{equation}

\begin{equation}\label{eq:gas-flue-gas-material-h2o-gen-vol-cpp} V_{H_2O} = W_{H_2O} \cdot 0.055506\end{equation}

Symbols
\(V_{i}\)Generated volume of constituent i \([\unit{ \cubicFoot\per\MMBtu}]\)
\(W_{i}\)Generated weight of constituent i \([\unit{ \pound\per\MMBtu}]\)
\(0.022722\)CO2 weight-to-volume conversion factor \([\unit{ \cubicFoot\per\pound}]\)
\(0.055506\)H2O weight-to-volume conversion factor \([\unit{ \cubicFoot\per\pound}]\)

Fuel and Product Aggregation


Sum fuel heating value and generated product weights.

Aggregate contributions from each fuel constituent to determine total fuel properties and combustion products. The generated weights account for stoichiometry and excess air.

\begin{equation}\label{eq:gas-flue-gas-material-co2-gen-wt-cpp} W_{CO_2} = \sum_i x_i \cdot w_{CO_2,i}\end{equation}

\begin{equation}\label{eq:gas-flue-gas-material-h2o-gen-wt-cpp} W_{H_2O} = \sum_i x_i \cdot w_{H_2O,i} + \text{combustion air moisture}\end{equation}

\begin{equation}\label{eq:gas-flue-gas-material-o2-gen-wt-cpp} W_{O_2} = \text{from excess air}\end{equation}

\begin{equation}\label{eq:gas-flue-gas-material-n2-gen-wt-cpp} W_{N_2} = \text{from air fraction}\end{equation}

Symbols
\(W_{i}\)Generated weight of constituent i \([\unit{ \pound\per\MMBtu}]\)
\(x_i\)Volume fraction of fuel constituent i \([\unit{ \unitless}]\)
\(w_{i,j}\)Weight of product j generated per unit of fuel constituent i \([\unit{ \pound\per\cubicFoot}]\)

Mean Cp for Combustion Air


Calculate weighted average specific heat for combustion air.

The mean specific heat of combustion air is approximated using a linear correlation with temperature. This accounts for the temperature-dependent properties of O2, N2, and H2O in the air.

\begin{equation}\label{eq:gas-flue-gas-material-cp-linear-cpp} Cp_{mean} = a + b \cdot T\end{equation}

Symbols
\(Cp_{mean}\)Mean specific heat of combustion air \([\unit{ \btu\per\pound\degreeFahrenheit}]\)
\(a\)Linear coefficient (intercept) \([\unit{ \btu\per\pound\degreeFahrenheit}]\)
\(b\)Linear coefficient (slope) \([\unit{ \btu\per\pound\degreeFahrenheit\squared}]\)
\(T\)Temperature \([\unit{ \degreeFahrenheit}]\)

Constituent Specific Heats


Calculate temperature-dependent specific heat for each gas constituent.

For each major constituent in the flue gas, calculate specific heat at both initial and final temperature using empirical correlations. The average specific heat over the temperature range is used for enthalpy calculations. See Gas Constants for the specific heat formulas and coefficients.

Oxygen

\begin{equation}\label{eq:gas-flue-gas-material-cp-o2-cpp} Cp_{O_2}(T) = 11.515 - \frac{172.0}{\sqrt{T}} + \frac{1530.0}{T}\end{equation}

Nitrogen

\begin{equation}\label{eq:gas-flue-gas-material-cp-n2-cpp} Cp_{N_2}(T) = 9.47 - \frac{3470.0}{T} + \frac{1.07 \times 10^6}{T^2}\end{equation}

Water Vapor

\begin{equation}\label{eq:gas-flue-gas-material-cp-h2o-cpp} Cp_{H_2O}(T) = 19.86 - \frac{597.0}{\sqrt{T}} + \frac{7500.0}{T}\end{equation}

Carbon Dioxide

\begin{equation}\label{eq:gas-flue-gas-material-cp-co2-cpp} Cp_{CO_2}(T) = \frac{16.2 - \frac{6530.0}{T} + \frac{1.41 \times 10^6}{T^2}}{44.0}\end{equation}

Average Specific Heat

\begin{equation}\label{eq:gas-flue-gas-avg-cp} \overline{Cp} = \frac{Cp(T_{initial}) + Cp(T_{final})}{2}\end{equation}

Symbols
\(Cp_{i}(T)\)Specific heat of constituent i at temperature T \([\unit{ \btu\per\pound\degreeFahrenheit}]\)
\(T\)Absolute temperature \([\unit{ \degreeRankine}]\)
\(T_{initial}\)Initial absolute temperature \([\unit{ \degreeRankine}]\)
\(T_{final}\)Final absolute temperature \([\unit{ \degreeRankine}]\)
\(\overline{Cp}\)Average specific heat over temperature range \([\unit{ \btu\per\pound\degreeFahrenheit}]\)

Temperature Conversion


Convert temperatures to absolute scale for thermodynamic calculations.

All thermodynamic properties require absolute temperature. Convert Fahrenheit to Rankine by adding the offset constant. See physics::conversions::kFahrenheitToRankineOffset for the conversion constant.

\begin{equation}\label{eq:gas-flue-gas-material-temp-conv-cpp} T_{abs} = T_{F} + 460\end{equation}

Symbols
\(T_{abs}\)Absolute temperature \([\unit{ \degreeRankine}]\)
\(T_{F}\)Temperature in Fahrenheit \([\unit{ \degreeFahrenheit}]\)
\(460\)Fahrenheit to Rankine offset - see physics::conversions::kFahrenheitToRankineOffset \([\unit{ \degreeRankine}]\)

Excess Air and Flue Gas O2


Calculate excess air from O2 measurement or O2 from excess air.

The relationship between excess air and flue gas oxygen content allows determination of one from the other. See Gas Composition for detailed formulas.

O2 from Excess Air

\begin{equation}\label{eq:gas-flue-gas-material-excess-air-cpp} O_2 = f_{O_2}(EA)\end{equation}

Excess Air from O2

\begin{equation}\label{eq:gas-flue-gas-material-excess-air-cpp-2} EA = f_{EA}(O_2)\end{equation}

Symbols
\(EA\)Excess air percent \([\unit{ \percent}]\)
\(O_2\)Flue gas oxygen percentage \([\unit{ \percent}]\)
\(f_{O_2}(EA)\)Function to estimate O2 from excess air - see O2 Percentage From Excess Air Formula \([\unit{ \unitless}]\)
\(f_{EA}(O_2)\)Function to estimate excess air from O2 - see Estimate Excess Air From O2 Formula \([\unit{ \unitless}]\)
See also
Gas Flue Gas Material Database
Gas Constants for molecular weights, specific heat formulas, and stoichiometric constants

Modules

 Available Heat Calculation
 Calculate percentage of fuel energy available after exhaust losses.
 
 Sensible Heat of Fuel
 Calculate sensible heat contribution from fuel temperature above ambient.
 
 Enthalpy and Heat Content
 Calculate heat content of each flue gas constituent.
 
 Partial Pressure of Water Vapor
 Calculate mole fraction of water vapor in flue gas.
 
 Stoichiometric Air and Moisture Correction
 Calculate stoichiometric air required and moisture correction.
 
 Generated Volumes and Unit Conversion
 Convert generated weights to volumes using density factors.
 
 Fuel and Product Aggregation
 Sum fuel heating value and generated product weights.
 
 Mean Cp for Combustion Air
 Calculate weighted average specific heat for combustion air.
 
 Constituent Specific Heats
 Calculate temperature-dependent specific heat for each gas constituent.
 
 Temperature Conversion
 Convert temperatures to absolute scale for thermodynamic calculations.
 
 Excess Air and Flue Gas O2
 Calculate excess air from O2 measurement or O2 from excess air.
 

Files

file  gas_flue_gas_material.h
 

Namespaces

namespace  gas_flue_gas_material
 Contains functions for flue gas material calculations.
 

Classes

struct  gas_flue_gas_material::ProcessHeatProperties
 Calculates the total heat loss for flue gas using the provided parameters. More...
 

Functions

ProcessHeatProperties gas_flue_gas_material::processHeatProperties (const GasComposition compositions, const double flue_gas_temp, const double flue_gas_o2, const double comb_air_temp, const double fuel_temp, const double ambient_air_temp=60, const double comb_air_moisture=0, const double excess_air=0)
 Calculates process heat properties for the fuel gas mixture and operating conditions.
 
double gas_flue_gas_material::totalHeatLoss (double flue_gas_temperature, double excess_air_percentage, double combustion_air_temperature, const GasComposition &compositions, double fuel_temperature)
 Calculates the total heat loss for flue gas using the provided parameters.
 

Function Documentation

◆ processHeatProperties()

ProcessHeatProperties gas_flue_gas_material::processHeatProperties ( const GasComposition  compositions,
const double  flue_gas_temp,
const double  flue_gas_o2,
const double  comb_air_temp,
const double  fuel_temp,
const double  ambient_air_temp = 60,
const double  comb_air_moisture = 0,
const double  excess_air = 0 
)
Parameters
[in]compositionsInstance of GasComposition representing the fuel gas mixture and its constituent properties
[in]flue_gas_tempFlue gas temperature \([\unit{\degreeFahrenheit}]\)
[in]flue_gas_o2Oxygen percentage in flue gas \([\unit{\percent}]\)
[in]comb_air_tempCombustion air temperature \([\unit{\degreeFahrenheit}]\)
[in]fuel_tempFuel temperature \([\unit{\degreeFahrenheit}]\)
[in]ambient_air_tempAmbient air temperature \([\unit{\degreeFahrenheit}]\) (default: 60)
[in]comb_air_moistureCombustion air moisture \([\unit{\percent}]\) (default: 0)
[in]excess_airExcess air percentage \([\unit{\percent}]\) (default: 0)
Returns
ProcessHeatProperties struct with calculated properties

◆ totalHeatLoss()

double gas_flue_gas_material::totalHeatLoss ( double  flue_gas_temperature,
double  excess_air_percentage,
double  combustion_air_temperature,
const GasComposition compositions,
double  fuel_temperature 
)
Parameters
[in]flue_gas_temperatureFurnace Flue Gas Temperature \([\unit{\degreeFahrenheit}]\)
[in]excess_air_percentagePercent Excess Air (e.g. 9 for 9%) \([\unit{\percent}]\)
[in]combustion_air_temperatureCombustion Air Temperature \([\unit{\degreeFahrenheit}]\)
[in]compositionsInstance of GasComposition representing the fuel gas mixture and its constituent properties
[in]fuel_temperatureTemperature of fuel \([\unit{\degreeFahrenheit}]\)
Returns
Total heat loss \([\unit{\btu\per\hour}]\)