measur-tools-suite 1.0.14-beta.214 → 1.0.14-beta.221
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/client.wasm +0 -0
- package/bin/package.json +1 -1
- package/docs/dox-content/calculators/atmosphere_heat_loss_calculator.dox +2 -15
- package/docs/dox-content/calculators/gas_flue_gas_calculator.dox +293 -134
- package/docs/dox-content/calculators/solid_liquid_flue_gas_calculator.dox +294 -223
- package/docs/dox-content/calculators/wall_heat_loss_calculator.dox +3 -17
- package/docs/dox-content/database-docs/gas_type_data_database.dox +28 -0
- package/docs/dox-content/database-docs/wall_type_data_database.dox +30 -0
- package/package.json +1 -1
package/bin/client.wasm
CHANGED
|
Binary file
|
package/bin/package.json
CHANGED
|
@@ -16,7 +16,8 @@
|
|
|
16
16
|
* @copydoc atmosphere_heat_loss_formula
|
|
17
17
|
*
|
|
18
18
|
* @heading{Specific Heat Values}
|
|
19
|
-
* @copydoc
|
|
19
|
+
* @copydoc gas_type_data
|
|
20
|
+
* see gas_type_data
|
|
20
21
|
*/
|
|
21
22
|
|
|
22
23
|
/**
|
|
@@ -38,18 +39,4 @@
|
|
|
38
39
|
* @symrow{T_\text{in}; Inlet temperature of gas; \degreeFahrenheit}
|
|
39
40
|
* @symrow{f_\text{corr}; Correction factor; \unitless}
|
|
40
41
|
* @endsymtable
|
|
41
|
-
*/
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* @defgroup atmosphere_specific_heat_values Atmosphere Specific Heat Values
|
|
45
|
-
* @ingroup atmosphere_heat_loss_calculator
|
|
46
|
-
* Reference temperature: @qty{60; \degreeFahrenheit}
|
|
47
|
-
* | Gas Type | Specific Heat @unitb{\btu\per\standardCubicFeet\degreeFahrenheit} |
|
|
48
|
-
* | --------------- | ----------------------------------------------------------------- |
|
|
49
|
-
* | Nitrogen | 0.0185 |
|
|
50
|
-
* | Hydrogen | 0.0182 |
|
|
51
|
-
* | Exothermic Gas | 0.0185 |
|
|
52
|
-
* | Endothermic Gas | 0.0185 |
|
|
53
|
-
* | Air | 0.0184 |
|
|
54
|
-
* | Water Vapor | 0.0212 |
|
|
55
42
|
*/
|
|
@@ -1,141 +1,300 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @defgroup gas_flue_gas_material_calculator Gas Flue Gas Material Calculator
|
|
3
3
|
* @ingroup heat_loss_calculators
|
|
4
|
-
* @brief
|
|
5
|
-
* @details This
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
* @
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
* @
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
* @subheading{Step 5: Fuel and Product Aggregation}
|
|
54
|
-
* Aggregate fuel heating value and generated weights:
|
|
55
|
-
* @formula{gas-flue-gas-material-co2-gen-wt-cpp; W_{CO_2} = \sum_i x_i \cdot w_{CO_2,i}}
|
|
56
|
-
* @formula{gas-flue-gas-material-h2o-gen-wt-cpp; W_{H_2O} = \sum_i x_i \cdot w_{H_2O,i} + \text{combustion air moisture}}
|
|
57
|
-
* @formula{gas-flue-gas-material-o2-gen-wt-cpp; W_{O_2} = \text{from excess air}}
|
|
58
|
-
* @formula{gas-flue-gas-material-n2-gen-wt-cpp; W_{N_2} = \text{from air fraction}}
|
|
59
|
-
* @symtable
|
|
60
|
-
* @symrow{W_{i}; Generated weight of constituent i; \pound\per\MMBtu}
|
|
61
|
-
* @symrow{x_i; Volume fraction of fuel constituent i; \unitless}
|
|
62
|
-
* @symrow{w_{i}; Weight generated per constituent i; \pound\per\cubicFoot}
|
|
63
|
-
* @endsymtable
|
|
64
|
-
*
|
|
65
|
-
* @subheading{Step 6: Generated Volumes and Unit Conversion}
|
|
66
|
-
* Convert generated weights to volumes:
|
|
67
|
-
* @formula{gas-flue-gas-material-co2-gen-vol-cpp; V_{CO_2} = W_{CO_2} \cdot 0.022722}
|
|
68
|
-
* @formula{gas-flue-gas-material-h2o-gen-vol-cpp; V_{H_2O} = W_{H_2O} \cdot 0.055506}
|
|
69
|
-
* @symtable
|
|
70
|
-
* @symrow{V_{i}; Generated volume of constituent i; \cubicFoot\per\MMBtu}
|
|
71
|
-
* @endsymtable
|
|
72
|
-
*
|
|
73
|
-
* @subheading{Step 7: Stoichiometric Air and Moisture Correction}
|
|
74
|
-
* Calculate stoichiometric air required:
|
|
75
|
-
* @formula{gas-flue-gas-material-stoich-air-cpp; Air_{stoich} = W_{O_2} \cdot \left(1 + \frac{1 - f_{O_2}}{f_{O_2}}\right)}
|
|
76
|
-
* Combustion air moisture correction:
|
|
77
|
-
* @formula{gas-flue-gas-material-moisture-corr-cpp; Moisture_{corr} = (M_{perc} - 0.009) \cdot Air_{stoich} \cdot 0.0763}
|
|
78
|
-
* @symtable
|
|
79
|
-
* @symrow{Air_{stoich}; Stoichiometric air; \pound\per\MMBtu}
|
|
80
|
-
* @symrow{M_{perc}; Combustion air moisture percent; \percent}
|
|
81
|
-
* @endsymtable
|
|
82
|
-
*
|
|
83
|
-
* @subheading{Step 8: Partial Pressure of Water Vapor}
|
|
84
|
-
* @formula{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}}}
|
|
85
|
-
* @symtable
|
|
86
|
-
* @symrow{P_{H_2O}; Partial pressure of water vapor; \unitless}
|
|
87
|
-
* @endsymtable
|
|
88
|
-
*
|
|
89
|
-
* @subheading{Step 9: Enthalpy and Heat Content}
|
|
90
|
-
* For each constituent:
|
|
91
|
-
* @formula{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}}
|
|
92
|
-
* @formula{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}}
|
|
93
|
-
* @formula{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}}
|
|
94
|
-
* @formula{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}}
|
|
95
|
-
* @symtable
|
|
96
|
-
* @symrow{H_{i}; Heat content of constituent i; \btu\per\hour}
|
|
97
|
-
* @symrow{h_{sat}; Enthalpy at saturation (see @ref gas_composition_calculate_enthalpy_at_saturation_cpp_formula); \btu\per\pound}
|
|
98
|
-
* @symrow{T_{sat}; Saturation temperature (see @ref gas_composition_calculate_saturation_temperature_cpp_formula); \degreeFahrenheit}
|
|
99
|
-
* @symrow{\Delta T_{fg,amb}; Flue gas temperature rise above ambient (@math{T_{fg} - T_{amb}}); \degreeFahrenheit}
|
|
100
|
-
* @endsymtable
|
|
101
|
-
*
|
|
102
|
-
*
|
|
103
|
-
*
|
|
104
|
-
* @subheading{Step 10: Preheated Combustion Air and Moisture Effects}
|
|
105
|
-
* Heat in preheated combustion air:
|
|
106
|
-
* @formula{gas-flue-gas-material-preheat-air-cpp; Q_{preheat,air} = Air_{stoich} \cdot (1 + EA) \cdot ((T_{mean}) \cdot b + a) \cdot (T_{comb} - T_{amb})}
|
|
107
|
-
* Heat content of air moisture:
|
|
108
|
-
* @formula{gas-flue-gas-material-preheat-moisture-cpp; Q_{preheat,moisture} = Moisture_{corr} \cdot Cp_{H_2O} \cdot (T_{fg} - T_{comb})}
|
|
109
|
-
* @symtable
|
|
110
|
-
* @symrow{Q_{preheat,air}; Heat in preheated combustion air; \btu\per\hour}
|
|
111
|
-
* @symrow{Q_{preheat,moisture}; Heat content of air moisture; \btu\per\hour}
|
|
112
|
-
* @symrow{T_{comb}; Combustion air temperature; \degreeFahrenheit}
|
|
113
|
-
* @endsymtable
|
|
114
|
-
*
|
|
115
|
-
* @subheading{Step 11: Total Generated Products and Weighted Cp}
|
|
116
|
-
* Total generated products:
|
|
117
|
-
* @formula{gas-flue-gas-material-total-gen-cpp; W_{prod} = W_{CO_2} + W_{H_2O} + W_{O_2} + W_{N_2}}
|
|
118
|
-
* Weighted average specific heat:
|
|
119
|
-
* @formula{gas-flue-gas-material-weighted-cp-cpp; Cp_{fg} = \frac{W_{CO_2} \cdot Cp_{CO_2} + W_{H_2O} \cdot Cp_{H_2O} + W_{O_2} \cdot Cp_{O_2} + W_{N_2} \cdot Cp_{N_2}}{W_{prod}}}
|
|
120
|
-
* @symtable
|
|
121
|
-
* @symrow{Cp_{fg}; Specific heat of flue gas; \btu\per\pound\degreeFahrenheit}
|
|
122
|
-
* @symrow{W_{prod}; Total generated product weight; \pound\per\MMBtu}
|
|
123
|
-
* @endsymtable
|
|
124
|
-
*
|
|
125
|
-
* @subheading{Step 12: Sensible Heat of Fuel}
|
|
126
|
-
* @formula{gas-flue-gas-material-sensible-heat-cpp; Q_{sens} = Cp_{fg} \cdot (T_{fuel} - T_{amb})}
|
|
127
|
-
* @symtable
|
|
128
|
-
* @symrow{Q_{sens}; Sensible heat of fuel; \btu\per\hour}
|
|
129
|
-
* @symrow{T_{fuel}; Fuel temperature; \degreeFahrenheit}
|
|
130
|
-
* @endsymtable
|
|
131
|
-
*
|
|
132
|
-
* @subheading{Step 13: Available Heat Calculation}
|
|
133
|
-
* @formula{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}}}
|
|
134
|
-
* @symtable
|
|
135
|
-
* @symrow{Q_{avail}; Available heat; \btu\per\hour}
|
|
136
|
-
* @symrow{H_{fuel}; Heating value of fuel; \btu\per\cubicFoot}
|
|
137
|
-
* @endsymtable
|
|
4
|
+
* @brief Calculates process heat properties and available heat for gas fuel flue gas materials.
|
|
5
|
+
* @details This calculator estimates the available heat and heat losses for gas fuel combustion by analyzing flue gas
|
|
6
|
+
* composition, excess air, constituent properties, and enthalpy of products. The algorithm accounts for stoichiometry,
|
|
7
|
+
* temperature-dependent specific heats, and moisture effects to determine the percentage of fuel energy available for
|
|
8
|
+
* useful work after exhaust losses.
|
|
9
|
+
*
|
|
10
|
+
* The calculation follows a top-down approach:
|
|
11
|
+
* 1. **Available Heat** - Calculate percentage of fuel energy available after exhaust losses
|
|
12
|
+
* 2. **Enthalpy and Heat Content** - Determine heat content of each flue gas constituent
|
|
13
|
+
* 3. **Fuel and Product Aggregation** - Sum fuel heating value and generated product weights/volumes
|
|
14
|
+
* 4. **Constituent Specific Heats** - Calculate temperature-dependent specific heat for each gas
|
|
15
|
+
* 5. **Excess Air and Flue Gas O2** - Determine excess air from O2 measurement or vice versa
|
|
16
|
+
* 6. **Temperature Conversion** - Convert temperatures to absolute scale for thermodynamic calculations
|
|
17
|
+
*
|
|
18
|
+
* Each step is documented with formulas and complete symbol tables.
|
|
19
|
+
*
|
|
20
|
+
* @heading{Available Heat Calculation}
|
|
21
|
+
* @copydoc gas_flue_gas_material_available_heat_formula
|
|
22
|
+
*
|
|
23
|
+
* @heading{Sensible Heat of Fuel}
|
|
24
|
+
* @copydoc gas_flue_gas_material_sensible_heat_formula
|
|
25
|
+
*
|
|
26
|
+
* @heading{Enthalpy and Heat Content}
|
|
27
|
+
* @copydoc gas_flue_gas_material_enthalpy_formula
|
|
28
|
+
*
|
|
29
|
+
* @heading{Partial Pressure of Water Vapor}
|
|
30
|
+
* @copydoc gas_flue_gas_material_partial_pressure_formula
|
|
31
|
+
*
|
|
32
|
+
* @heading{Stoichiometric Air and Moisture Correction}
|
|
33
|
+
* @copydoc gas_flue_gas_material_stoichiometric_air_formula
|
|
34
|
+
*
|
|
35
|
+
* @heading{Generated Volumes and Unit Conversion}
|
|
36
|
+
* @copydoc gas_flue_gas_material_generated_volumes_formula
|
|
37
|
+
*
|
|
38
|
+
* @heading{Fuel and Product Aggregation}
|
|
39
|
+
* @copydoc gas_flue_gas_material_aggregation_formula
|
|
40
|
+
*
|
|
41
|
+
* @heading{Mean Cp for Combustion Air}
|
|
42
|
+
* @copydoc gas_flue_gas_material_mean_cp_formula
|
|
43
|
+
*
|
|
44
|
+
* @heading{Constituent Specific Heats}
|
|
45
|
+
* @copydoc gas_flue_gas_material_specific_heats_formula
|
|
46
|
+
*
|
|
47
|
+
* @heading{Temperature Conversion}
|
|
48
|
+
* @copydoc gas_flue_gas_material_temperature_conversion_formula
|
|
49
|
+
*
|
|
50
|
+
* @heading{Excess Air and Flue Gas O2}
|
|
51
|
+
* @copydoc gas_flue_gas_material_excess_air_formula
|
|
138
52
|
*
|
|
139
53
|
* @see gas_flue_gas_material_data_database
|
|
140
54
|
* @see gas_constants for molecular weights, specific heat formulas, and stoichiometric constants
|
|
141
55
|
*/
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* @defgroup gas_flue_gas_material_available_heat_formula Available Heat Calculation
|
|
59
|
+
* @ingroup gas_flue_gas_material_calculator
|
|
60
|
+
* @brief Calculate percentage of fuel energy available after exhaust losses.
|
|
61
|
+
* @details The available heat represents the fraction of input fuel energy that remains for useful work after
|
|
62
|
+
* accounting for sensible and latent heat losses in the flue gas. It includes contributions from fuel sensible heat,
|
|
63
|
+
* preheated air, and moisture, minus the enthalpy carried away by flue gas constituents.
|
|
64
|
+
*
|
|
65
|
+
* @formula{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}}}
|
|
66
|
+
*
|
|
67
|
+
* @subheading{Symbols}
|
|
68
|
+
* @symtable
|
|
69
|
+
* @symrow{Q_{avail}; Available heat percentage; \percent}
|
|
70
|
+
* @symrow{Q_{sens}; Sensible heat of fuel; \btu\per\hour}
|
|
71
|
+
* @symrow{H_{fuel}; Heating value of fuel; \btu\per\cubicFoot}
|
|
72
|
+
* @symrow{Q_{preheat,air}; Sensible heat of preheated combustion air; \btu\per\hour}
|
|
73
|
+
* @symrow{Q_{preheat,moisture}; Sensible heat of moisture in combustion air; \btu\per\hour}
|
|
74
|
+
* @symrow{H_{H_2O}; Heat content of water vapor in flue gas; \btu\per\hour}
|
|
75
|
+
* @symrow{H_{CO_2}; Heat content of CO2 in flue gas; \btu\per\hour}
|
|
76
|
+
* @symrow{H_{N_2}; Heat content of N2 in flue gas; \btu\per\hour}
|
|
77
|
+
* @symrow{H_{O_2}; Heat content of O2 in flue gas; \btu\per\hour}
|
|
78
|
+
* @symrow{100; Percentage conversion factor; \unitless}
|
|
79
|
+
* @endsymtable
|
|
80
|
+
*/
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* @defgroup gas_flue_gas_material_sensible_heat_formula Sensible Heat of Fuel
|
|
84
|
+
* @ingroup gas_flue_gas_material_calculator
|
|
85
|
+
* @brief Calculate sensible heat contribution from fuel temperature above ambient.
|
|
86
|
+
* @details When fuel enters at a temperature above ambient, it contributes additional sensible heat to the system.
|
|
87
|
+
* This heat is calculated using the flue gas specific heat and temperature difference.
|
|
88
|
+
*
|
|
89
|
+
* @formula{gas-flue-gas-material-sensible-heat-cpp; Q_{sens} = Cp_{fg} \cdot (T_{fuel} - T_{amb})}
|
|
90
|
+
*
|
|
91
|
+
* @subheading{Symbols}
|
|
92
|
+
* @symtable
|
|
93
|
+
* @symrow{Q_{sens}; Sensible heat of fuel; \btu\per\hour}
|
|
94
|
+
* @symrow{Cp_{fg}; Specific heat of flue gas; \btu\per\pound\degreeFahrenheit}
|
|
95
|
+
* @symrow{T_{fuel}; Fuel temperature; \degreeFahrenheit}
|
|
96
|
+
* @symrow{T_{amb}; Ambient temperature; \degreeFahrenheit}
|
|
97
|
+
* @endsymtable
|
|
98
|
+
*/
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* @defgroup gas_flue_gas_material_enthalpy_formula Enthalpy and Heat Content
|
|
102
|
+
* @ingroup gas_flue_gas_material_calculator
|
|
103
|
+
* @brief Calculate heat content of each flue gas constituent.
|
|
104
|
+
* @details For each constituent in the flue gas, calculate the enthalpy or heat content based on temperature and
|
|
105
|
+
* mass flow. Water vapor requires special treatment due to latent heat of condensation.
|
|
106
|
+
*
|
|
107
|
+
* @subheading{Water Vapor Enthalpy}
|
|
108
|
+
* @formula{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}}
|
|
109
|
+
*
|
|
110
|
+
* @subheading{Dry Gas Heat Content}
|
|
111
|
+
* @formula{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}}
|
|
112
|
+
* @formula{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}}
|
|
113
|
+
* @formula{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}}
|
|
114
|
+
*
|
|
115
|
+
* @subheading{Symbols}
|
|
116
|
+
* @symtable
|
|
117
|
+
* @symrow{H_{i}; Heat content of constituent i; \btu\per\hour}
|
|
118
|
+
* @symrow{h_{sat}; Enthalpy at saturation - see @ref gas_composition_calculate_enthalpy_at_saturation_cpp_formula; \btu\per\pound}
|
|
119
|
+
* @symrow{T_{sat}; Saturation temperature - see @ref gas_composition_calculate_saturation_temperature_cpp_formula; \degreeFahrenheit}
|
|
120
|
+
* @symrow{Cp_{i}; Specific heat of constituent i; \btu\per\pound\degreeFahrenheit}
|
|
121
|
+
* @symrow{T_{fg}; Flue gas temperature; \degreeFahrenheit}
|
|
122
|
+
* @symrow{T_{amb}; Ambient temperature; \degreeFahrenheit}
|
|
123
|
+
* @symrow{\Delta T_{fg,amb}; Flue gas temperature rise above ambient (T_{fg} - T_{amb}); \degreeFahrenheit}
|
|
124
|
+
* @symrow{W_{i}; Generated weight of constituent i; \pound\per\MMBtu}
|
|
125
|
+
* @symrow{100; Conversion factor; \unitless}
|
|
126
|
+
* @endsymtable
|
|
127
|
+
*/
|
|
128
|
+
|
|
129
|
+
/**
|
|
130
|
+
* @defgroup gas_flue_gas_material_partial_pressure_formula Partial Pressure of Water Vapor
|
|
131
|
+
* @ingroup gas_flue_gas_material_calculator
|
|
132
|
+
* @brief Calculate mole fraction of water vapor in flue gas.
|
|
133
|
+
* @details The partial pressure (mole fraction) of water vapor is needed to determine saturation temperature and
|
|
134
|
+
* enthalpy for latent heat calculations.
|
|
135
|
+
*
|
|
136
|
+
* @formula{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}}}
|
|
137
|
+
*
|
|
138
|
+
* @subheading{Symbols}
|
|
139
|
+
* @symtable
|
|
140
|
+
* @symrow{P_{H_2O}; Partial pressure (mole fraction) of water vapor; \unitless}
|
|
141
|
+
* @symrow{V_{H_2O}; Generated volume of water vapor; \cubicFoot\per\MMBtu}
|
|
142
|
+
* @symrow{V_{CO_2}; Generated volume of CO2; \cubicFoot\per\MMBtu}
|
|
143
|
+
* @symrow{V_{O_2}; Generated volume of O2; \cubicFoot\per\MMBtu}
|
|
144
|
+
* @symrow{V_{N_2}; Generated volume of N2; \cubicFoot\per\MMBtu}
|
|
145
|
+
* @endsymtable
|
|
146
|
+
*/
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* @defgroup gas_flue_gas_material_stoichiometric_air_formula Stoichiometric Air and Moisture Correction
|
|
150
|
+
* @ingroup gas_flue_gas_material_calculator
|
|
151
|
+
* @brief Calculate stoichiometric air required and moisture correction.
|
|
152
|
+
* @details Stoichiometric air is the theoretical minimum air required for complete combustion. The moisture correction
|
|
153
|
+
* accounts for water vapor in the combustion air.
|
|
154
|
+
*
|
|
155
|
+
* @subheading{Stoichiometric Air}
|
|
156
|
+
* @formula{gas-flue-gas-material-stoich-air-cpp; Air_{stoich} = W_{O_2} \cdot \left(1 + \frac{1 - f_{O_2}}{f_{O_2}}\right)}
|
|
157
|
+
*
|
|
158
|
+
* @subheading{Moisture Correction}
|
|
159
|
+
* @formula{gas-flue-gas-material-moisture-corr-cpp; Moisture_{corr} = (M_{perc} - 0.009) \cdot Air_{stoich} \cdot 0.0763}
|
|
160
|
+
*
|
|
161
|
+
* @subheading{Symbols}
|
|
162
|
+
* @symtable
|
|
163
|
+
* @symrow{Air_{stoich}; Stoichiometric air required; \pound\per\MMBtu}
|
|
164
|
+
* @symrow{W_{O_2}; Generated weight of O2; \pound\per\MMBtu}
|
|
165
|
+
* @symrow{f_{O_2}; Oxygen mass fraction in air; \unitless}
|
|
166
|
+
* @symrow{Moisture_{corr}; Moisture correction for combustion air; \pound\per\MMBtu}
|
|
167
|
+
* @symrow{M_{perc}; Combustion air moisture percent; \percent}
|
|
168
|
+
* @symrow{0.009; Reference moisture content; \unitless}
|
|
169
|
+
* @symrow{0.0763; Moisture correction factor; \unitless}
|
|
170
|
+
* @endsymtable
|
|
171
|
+
*/
|
|
172
|
+
|
|
173
|
+
/**
|
|
174
|
+
* @defgroup gas_flue_gas_material_generated_volumes_formula Generated Volumes and Unit Conversion
|
|
175
|
+
* @ingroup gas_flue_gas_material_calculator
|
|
176
|
+
* @brief Convert generated weights to volumes using density factors.
|
|
177
|
+
* @details Convert mass of combustion products to volumetric flow rates for partial pressure calculations.
|
|
178
|
+
* Conversion factors are based on standard conditions.
|
|
179
|
+
*
|
|
180
|
+
* @formula{gas-flue-gas-material-co2-gen-vol-cpp; V_{CO_2} = W_{CO_2} \cdot 0.022722}
|
|
181
|
+
* @formula{gas-flue-gas-material-h2o-gen-vol-cpp; V_{H_2O} = W_{H_2O} \cdot 0.055506}
|
|
182
|
+
*
|
|
183
|
+
* @subheading{Symbols}
|
|
184
|
+
* @symtable
|
|
185
|
+
* @symrow{V_{i}; Generated volume of constituent i; \cubicFoot\per\MMBtu}
|
|
186
|
+
* @symrow{W_{i}; Generated weight of constituent i; \pound\per\MMBtu}
|
|
187
|
+
* @symrow{0.022722; CO2 weight-to-volume conversion factor; \cubicFoot\per\pound}
|
|
188
|
+
* @symrow{0.055506; H2O weight-to-volume conversion factor; \cubicFoot\per\pound}
|
|
189
|
+
* @endsymtable
|
|
190
|
+
*/
|
|
191
|
+
|
|
192
|
+
/**
|
|
193
|
+
* @defgroup gas_flue_gas_material_aggregation_formula Fuel and Product Aggregation
|
|
194
|
+
* @ingroup gas_flue_gas_material_calculator
|
|
195
|
+
* @brief Sum fuel heating value and generated product weights.
|
|
196
|
+
* @details Aggregate contributions from each fuel constituent to determine total fuel properties and combustion products.
|
|
197
|
+
* The generated weights account for stoichiometry and excess air.
|
|
198
|
+
*
|
|
199
|
+
* @formula{gas-flue-gas-material-co2-gen-wt-cpp; W_{CO_2} = \sum_i x_i \cdot w_{CO_2,i}}
|
|
200
|
+
* @formula{gas-flue-gas-material-h2o-gen-wt-cpp; W_{H_2O} = \sum_i x_i \cdot w_{H_2O,i} + \text{combustion air moisture}}
|
|
201
|
+
* @formula{gas-flue-gas-material-o2-gen-wt-cpp; W_{O_2} = \text{from excess air}}
|
|
202
|
+
* @formula{gas-flue-gas-material-n2-gen-wt-cpp; W_{N_2} = \text{from air fraction}}
|
|
203
|
+
*
|
|
204
|
+
* @subheading{Symbols}
|
|
205
|
+
* @symtable
|
|
206
|
+
* @symrow{W_{i}; Generated weight of constituent i; \pound\per\MMBtu}
|
|
207
|
+
* @symrow{x_i; Volume fraction of fuel constituent i; \unitless}
|
|
208
|
+
* @symrow{w_{i,j}; Weight of product j generated per unit of fuel constituent i; \pound\per\cubicFoot}
|
|
209
|
+
* @endsymtable
|
|
210
|
+
*/
|
|
211
|
+
|
|
212
|
+
/**
|
|
213
|
+
* @defgroup gas_flue_gas_material_mean_cp_formula Mean Cp for Combustion Air
|
|
214
|
+
* @ingroup gas_flue_gas_material_calculator
|
|
215
|
+
* @brief Calculate weighted average specific heat for combustion air.
|
|
216
|
+
* @details The mean specific heat of combustion air is approximated using a linear correlation with temperature.
|
|
217
|
+
* This accounts for the temperature-dependent properties of O2, N2, and H2O in the air.
|
|
218
|
+
*
|
|
219
|
+
* @formula{gas-flue-gas-material-cp-linear-cpp; Cp_{mean} = a + b \cdot T}
|
|
220
|
+
*
|
|
221
|
+
* @subheading{Symbols}
|
|
222
|
+
* @symtable
|
|
223
|
+
* @symrow{Cp_{mean}; Mean specific heat of combustion air; \btu\per\pound\degreeFahrenheit}
|
|
224
|
+
* @symrow{a; Linear coefficient (intercept); \btu\per\pound\degreeFahrenheit}
|
|
225
|
+
* @symrow{b; Linear coefficient (slope); \btu\per\pound\degreeFahrenheit\squared}
|
|
226
|
+
* @symrow{T; Temperature; \degreeFahrenheit}
|
|
227
|
+
* @endsymtable
|
|
228
|
+
*/
|
|
229
|
+
|
|
230
|
+
/**
|
|
231
|
+
* @defgroup gas_flue_gas_material_specific_heats_formula Constituent Specific Heats
|
|
232
|
+
* @ingroup gas_flue_gas_material_calculator
|
|
233
|
+
* @brief Calculate temperature-dependent specific heat for each gas constituent.
|
|
234
|
+
* @details For each major constituent in the flue gas, calculate specific heat at both initial and final temperature
|
|
235
|
+
* using empirical correlations. The average specific heat over the temperature range is used for enthalpy calculations.
|
|
236
|
+
* See @ref gas_constants for the specific heat formulas and coefficients.
|
|
237
|
+
*
|
|
238
|
+
* @subheading{Oxygen}
|
|
239
|
+
* @formula{gas-flue-gas-material-cp-o2-cpp; Cp_{O_2}(T) = 11.515 - \frac{172.0}{\sqrt{T}} + \frac{1530.0}{T}}
|
|
240
|
+
*
|
|
241
|
+
* @subheading{Nitrogen}
|
|
242
|
+
* @formula{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}}
|
|
243
|
+
*
|
|
244
|
+
* @subheading{Water Vapor}
|
|
245
|
+
* @formula{gas-flue-gas-material-cp-h2o-cpp; Cp_{H_2O}(T) = 19.86 - \frac{597.0}{\sqrt{T}} + \frac{7500.0}{T}}
|
|
246
|
+
*
|
|
247
|
+
* @subheading{Carbon Dioxide}
|
|
248
|
+
* @formula{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}}
|
|
249
|
+
*
|
|
250
|
+
* @subheading{Average Specific Heat}
|
|
251
|
+
* @formula{gas-flue-gas-avg-cp; \overline{Cp} = \frac{Cp(T_{initial}) + Cp(T_{final})}{2}}
|
|
252
|
+
*
|
|
253
|
+
* @subheading{Symbols}
|
|
254
|
+
* @symtable
|
|
255
|
+
* @symrow{Cp_{i}(T); Specific heat of constituent i at temperature T; \btu\per\pound\degreeFahrenheit}
|
|
256
|
+
* @symrow{T; Absolute temperature; \degreeRankine}
|
|
257
|
+
* @symrow{T_{initial}; Initial absolute temperature; \degreeRankine}
|
|
258
|
+
* @symrow{T_{final}; Final absolute temperature; \degreeRankine}
|
|
259
|
+
* @symrow{\overline{Cp}; Average specific heat over temperature range; \btu\per\pound\degreeFahrenheit}
|
|
260
|
+
* @endsymtable
|
|
261
|
+
*/
|
|
262
|
+
|
|
263
|
+
/**
|
|
264
|
+
* @defgroup gas_flue_gas_material_temperature_conversion_formula Temperature Conversion
|
|
265
|
+
* @ingroup gas_flue_gas_material_calculator
|
|
266
|
+
* @brief Convert temperatures to absolute scale for thermodynamic calculations.
|
|
267
|
+
* @details All thermodynamic properties require absolute temperature. Convert Fahrenheit to Rankine by adding the
|
|
268
|
+
* offset constant. See @ref physics::conversions::kFahrenheitToRankineOffset for the conversion constant.
|
|
269
|
+
*
|
|
270
|
+
* @formula{gas-flue-gas-material-temp-conv-cpp; T_{abs} = T_{F} + 460}
|
|
271
|
+
*
|
|
272
|
+
* @subheading{Symbols}
|
|
273
|
+
* @symtable
|
|
274
|
+
* @symrow{T_{abs}; Absolute temperature; \degreeRankine}
|
|
275
|
+
* @symrow{T_{F}; Temperature in Fahrenheit; \degreeFahrenheit}
|
|
276
|
+
* @symrow{460; Fahrenheit to Rankine offset - see @ref physics::conversions::kFahrenheitToRankineOffset; \degreeRankine}
|
|
277
|
+
* @endsymtable
|
|
278
|
+
*/
|
|
279
|
+
|
|
280
|
+
/**
|
|
281
|
+
* @defgroup gas_flue_gas_material_excess_air_formula Excess Air and Flue Gas O2
|
|
282
|
+
* @ingroup gas_flue_gas_material_calculator
|
|
283
|
+
* @brief Calculate excess air from O2 measurement or O2 from excess air.
|
|
284
|
+
* @details The relationship between excess air and flue gas oxygen content allows determination of one from the other.
|
|
285
|
+
* See @ref gas_composition for detailed formulas.
|
|
286
|
+
*
|
|
287
|
+
* @subheading{O2 from Excess Air}
|
|
288
|
+
* @formula{gas-flue-gas-material-excess-air-cpp; O_2 = f_{O_2}(EA)}
|
|
289
|
+
*
|
|
290
|
+
* @subheading{Excess Air from O2}
|
|
291
|
+
* @formula{gas-flue-gas-material-excess-air-cpp-2; EA = f_{EA}(O_2)}
|
|
292
|
+
*
|
|
293
|
+
* @subheading{Symbols}
|
|
294
|
+
* @symtable
|
|
295
|
+
* @symrow{EA; Excess air percent; \percent}
|
|
296
|
+
* @symrow{O_2; Flue gas oxygen percentage; \percent}
|
|
297
|
+
* @symrow{f_{O_2}(EA); Function to estimate O2 from excess air - see @ref gas_composition_o2_percentage_from_excess_air_cpp_formula; \unitless}
|
|
298
|
+
* @symrow{f_{EA}(O_2); Function to estimate excess air from O2 - see @ref gas_composition_estimate_excess_air_from_o2_cpp_formula; \unitless}
|
|
299
|
+
* @endsymtable
|
|
300
|
+
*/
|
|
@@ -1,17 +1,22 @@
|
|
|
1
|
-
|
|
2
1
|
/**
|
|
3
2
|
* @defgroup solid_liquid_flue_gas_material_calculator Solid/Liquid Flue Gas Material Calculator
|
|
4
3
|
* @ingroup heat_loss_calculators
|
|
5
|
-
* @brief
|
|
6
|
-
* @details
|
|
7
|
-
*
|
|
4
|
+
* @brief Calculates process heat properties and available heat for solid and liquid fuel flue gas materials.
|
|
5
|
+
* @details This calculator estimates the available heat and heat losses for solid and liquid fuel combustion by analyzing
|
|
6
|
+
* flue gas composition, excess air, stoichiometry, and enthalpy of reactants and products. The algorithm accounts for
|
|
7
|
+
* sensible, latent, unburned carbon, and ash losses to determine the percentage of fuel energy available for useful work.
|
|
8
8
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
9
|
+
* The calculation follows a top-down approach:
|
|
10
|
+
* 1. **Available Heat** - Calculate percentage of fuel energy available after all losses
|
|
11
|
+
* 2. **Input Heat** - Sum sensible heat of fuel, combustion air, heating value, and moisture heat
|
|
12
|
+
* 3. **Flue Gas Heat Loss** - Calculate sensible and latent heat in exhaust products
|
|
13
|
+
* 4. **Other Losses** - Account for moisture, unburned carbon, and ash losses
|
|
14
|
+
* 5. **Flue Gas Components** - Determine mass of each combustion product
|
|
15
|
+
* 6. **Stoichiometric Air** - Calculate theoretical air requirements from fuel composition
|
|
16
|
+
* 7. **Fuel Composition Normalization** - Convert fuel analysis percentages to fractions
|
|
13
17
|
*
|
|
14
|
-
* Each section presents
|
|
18
|
+
* Each section presents formulas with complete symbol tables and engineering context for practical application in
|
|
19
|
+
* combustion system analysis, energy auditing, and process optimization.
|
|
15
20
|
*
|
|
16
21
|
* @heading{Flue Gas Heat Loss Calculation}
|
|
17
22
|
* @copydoc solid_liquid_flue_gas_heat_loss_formula
|
|
@@ -24,236 +29,302 @@
|
|
|
24
29
|
*
|
|
25
30
|
* @heading{Heating Value Calculation}
|
|
26
31
|
* @copydoc solid_liquid_flue_gas_hv_calc
|
|
32
|
+
*
|
|
33
|
+
* @see solid_liquid_flue_gas_material_data_database
|
|
34
|
+
* @see gas_constants for molecular weights, specific heat formulas, and stoichiometric constants
|
|
27
35
|
*/
|
|
28
36
|
|
|
29
37
|
/**
|
|
30
38
|
* @defgroup solid_liquid_flue_gas_heat_loss_formula Total Solid/Liquid Flue Gas: Heat Loss
|
|
31
39
|
* @ingroup solid_liquid_flue_gas_material_calculator
|
|
32
40
|
* @brief Algorithm for calculating total heat loss and available heat for solid/liquid flue gas materials.
|
|
33
|
-
* @details This section documents the algorithm
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
* @formula{slfgm-norm-fuel; x_i = \frac{X_i}{\sum_j X_j}}
|
|
37
|
-
* where @math{X_i} is the percent of constituent @math{i} in the fuel.
|
|
38
|
-
* @symtable
|
|
39
|
-
* @symrow{x_i; Normalized fraction of constituent i; \unitless}
|
|
40
|
-
* @symrow{X_i; Percent of constituent i in fuel; \percent}
|
|
41
|
-
* @endsymtable
|
|
42
|
-
|
|
43
|
-
* @subheading{Step 2: Fuel and Combustion Air Enthalpy}
|
|
44
|
-
* Calculate the sensible enthalpy of both the fuel and the combustion air:
|
|
45
|
-
* @formula{slfgm-h-fuel; h_{fuel} = C_{pfuel} \cdot (1 - x_{moisture}) \cdot (T_{fuel} - T_{amb})}
|
|
46
|
-
* @formula{slfgm-cp-comb-air; C_{p,air} = a + b \cdot T_{comb}}
|
|
47
|
-
* @formula{slfgm-h-comb-air; h_{comb,air} = M_{comb,air} \cdot C_{p,air} \cdot (T_{comb} - T_{amb}) / \rho_{air}}
|
|
48
|
-
* @symtable
|
|
49
|
-
* @symrow{h_{fuel}; Sensible enthalpy of fuel; \btu\per\hour}
|
|
50
|
-
* @symrow{C_{pfuel}; Specific heat of fuel; \btu\per\pound\degreeFahrenheit}
|
|
51
|
-
* @symrow{x_{moisture}; Moisture fraction in fuel; \unitless}
|
|
52
|
-
* @symrow{T_{fuel}; Fuel temperature; \degreeFahrenheit}
|
|
53
|
-
* @symrow{T_{amb}; Ambient air temperature; \degreeFahrenheit}
|
|
54
|
-
* @symrow{C_{p,air}; Specific heat of combustion air; \btu\per\pound\degreeFahrenheit}
|
|
55
|
-
* @symrow{T_{comb}; Combustion air temperature; \degreeFahrenheit}
|
|
56
|
-
* @symrow{h_{comb,air}; Sensible enthalpy of combustion air; \btu\per\hour}
|
|
57
|
-
* @symrow{M_{comb,air}; Mass of combustion air; \pound}
|
|
58
|
-
* @symrow{\rho_{air}; Density of air; \pound\per\cubicFoot}
|
|
59
|
-
* @endsymtable
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
* @subheading{Step 3: Stoichiometric Air and Combustion Calculations}
|
|
63
|
-
* Calculate stoichiometric air required for combustion:
|
|
64
|
-
* @formula{slfgm-stoich-air; O2_{s,air} = x_C \cdot k_{C\to O_2} + x_H \cdot k_{H\to O_2} + x_S \cdot k_{S\to O_2} - x_{O_2}}
|
|
65
|
-
* @formula{slfgm-n2s-air; N2_{s,air} = O2_{s,air} \cdot k_{N_2/O_2}}
|
|
66
|
-
* @formula{slfgm-ms-air; M_{s,air} = O2_{s,air} + N2_{s,air}}
|
|
67
|
-
* @formula{slfgm-m-comb-air; M_{comb,air} = M_{s,air} \cdot (1 + EA)}
|
|
68
|
-
* @symtable
|
|
69
|
-
* @symrow{O2_{s,air}; Stoichiometric O2 required; \unitless}
|
|
70
|
-
* @symrow{N2_{s,air}; Stoichiometric N2 from air; \unitless}
|
|
71
|
-
* @symrow{M_{s,air}; Stoichiometric air; \unitless}
|
|
72
|
-
* @symrow{M_{comb,air}; Total combustion air; \unitless}
|
|
73
|
-
* @symrow{EA; Excess air fraction; \unitless}
|
|
74
|
-
* @endsymtable
|
|
75
|
-
*
|
|
76
|
-
* @subheading{Step 4: Flue Gas Components and Heating Value}
|
|
77
|
-
* Calculate mass of each flue gas component:
|
|
78
|
-
* @formula{slfgm-m-co2; m_{CO_2} = x_C \cdot k_{C\to CO_2}}
|
|
79
|
-
* @formula{slfgm-m-h2o; m_{H_2O} = x_H \cdot k_{H\to H_2O} + x_{moisture} + (M_{comb,air} \cdot M_{air,moisture}/100)}
|
|
80
|
-
* @formula{slfgm-m-so2; m_{SO_2} = x_S \cdot k_{S\to SO_2}}
|
|
81
|
-
* @formula{slfgm-m-o2; m_{O_2} = O2_{s,air} \cdot EA}
|
|
82
|
-
* @formula{slfgm-m-n2; m_{N_2} = N2_{s,air} \cdot (1 + EA)}
|
|
83
|
-
* Heating value:
|
|
84
|
-
* @formula{slfgm-hv; HV_{fuel} = x_C \cdot k_{HV,C} + x_H \cdot k_{HV,H} + x_S \cdot k_{HV,S}}
|
|
85
|
-
* @symtable
|
|
86
|
-
* @symrow{m_{i}; Mass of constituent i; \unitless}
|
|
87
|
-
* @symrow{HV_{fuel}; Heating value of fuel; \btu\per\pound}
|
|
88
|
-
* @endsymtable
|
|
89
|
-
*
|
|
90
|
-
* @subheading{Step 5: Partial Pressure of Water Vapor}
|
|
91
|
-
* @formula{slfgm-pp-h2o; p_{H_2O} = \frac{m_{H_2O}/0.047636}{m_{CO_2}/0.116367 + m_{H_2O}/0.047636 + m_{N_2}/0.074077 + m_{O_2}/0.084611 + m_{SO_2}/0.169381}}
|
|
92
|
-
* @symtable
|
|
93
|
-
* @symrow{p_{H_2O}; Partial pressure of water vapor; \unitless}
|
|
94
|
-
* @endsymtable
|
|
95
|
-
*
|
|
96
|
-
* @subheading{Step 6: Enthalpy of Saturated Steam}
|
|
97
|
-
* @formula{slfgm-h-sat; h_{sat} = 1096.7 \cdot (p_{H_2O} \cdot 29.926)^{0.013}}
|
|
98
|
-
* @symtable
|
|
99
|
-
* @symrow{h_{sat}; Enthalpy of saturated steam; \btu\per\pound}
|
|
100
|
-
* @symrow{p_{H_2O}; Partial pressure of water vapor; \unitless}
|
|
101
|
-
* @endsymtable
|
|
102
|
-
*
|
|
103
|
-
* @subheading{Step 7: Sensible Heat of Flue Gas Components}
|
|
104
|
-
* For each component:
|
|
105
|
-
* @formula{slfgm-h-sensible-co2; h_{CO_2} = m_{CO_2} \cdot \frac{Cp_{CO_2}}{MW_{CO_2}} \cdot (T_{fg} - T_{ref})}
|
|
106
|
-
* @formula{slfgm-h-sensible-h2o; h_{H_2O} = m_{H_2O,fuel} \cdot (h_{sat} + \frac{Cp_{H_2O}}{MW_{H_2O}} \cdot (T_{fg} - T_{ref})) + m_{H_2O,air} \cdot (\frac{Cp_{H_2O}}{MW_{H_2O}} \cdot (T_{fg} - T_{ref}))}
|
|
107
|
-
* @formula{slfgm-h-sensible-so2; h_{SO_2} = m_{SO_2} \cdot \frac{Cp_{SO_2}}{MW_{SO_2}} \cdot (T_{fg} - T_{ref})}
|
|
108
|
-
* @formula{slfgm-h-sensible-o2; h_{O_2} = m_{O_2} \cdot \frac{Cp_{O_2}}{MW_{O_2}} \cdot (T_{fg} - T_{ref})}
|
|
109
|
-
* @formula{slfgm-h-sensible-n2; h_{N_2} = m_{N_2} \cdot \frac{Cp_{N_2}}{MW_{N_2}} \cdot (T_{fg} - T_{ref})}
|
|
110
|
-
* Total sensible heat:
|
|
111
|
-
* @formula{slfgm-h-fg; h_{fg} = h_{H_2O} + h_{CO_2} + h_{N_2} + h_{O_2} + h_{SO_2}}
|
|
112
|
-
* @symtable
|
|
113
|
-
* @symrow{h_{i}; Sensible heat of constituent i; \btu\per\hour}
|
|
114
|
-
* @symrow{Cp_{i}; Specific heat of constituent i; \btu\per\pound\degreeFahrenheit}
|
|
115
|
-
* @symrow{MW_{i}; Molecular weight of constituent i; \pound\per\lbmol}
|
|
116
|
-
* @symrow{T_{fg}; Flue gas temperature; \degreeFahrenheit}
|
|
117
|
-
* @symrow{T_{ref}; Reference temperature (ambient); \degreeFahrenheit}
|
|
118
|
-
* @endsymtable
|
|
119
|
-
*
|
|
120
|
-
* @subheading{Step 8: Other Losses}
|
|
121
|
-
* Moisture, unburned carbon, and ash losses:
|
|
122
|
-
* @formula{slfgm-h-moisture; h_{moisture} = X_{moisture} \cdot (T_{fg} - T_{ref})}
|
|
123
|
-
* @formula{slfgm-h-carbon; h_{carbon} = 14093.0 \cdot X_{unburned,carbon} \cdot (X_{ash}/x_{fuel})}
|
|
124
|
-
* @formula{slfgm-h-ash; h_{ash} = (X_{ash}/x_{fuel}) \cdot 0.25 \cdot (1.8 \cdot T_{ash,discharge} + 32.0 - T_{ref})}
|
|
125
|
-
* @symtable
|
|
126
|
-
* @symrow{h_{moisture}; Heat loss due to moisture; \btu\per\hour}
|
|
127
|
-
* @symrow{h_{carbon}; Heat loss due to unburned carbon; \btu\per\hour}
|
|
128
|
-
* @symrow{h_{ash}; Heat loss due to ash; \btu\per\hour}
|
|
129
|
-
* @symrow{X_{moisture}; Moisture percent in fuel; \percent}
|
|
130
|
-
* @symrow{X_{unburned,carbon}; Unburned carbon in ash; \percent}
|
|
131
|
-
* @symrow{X_{ash}; Ash percent in fuel; \percent}
|
|
132
|
-
* @symrow{T_{ash,discharge}; Ash discharge temperature; \degreeFahrenheit}
|
|
133
|
-
* @endsymtable
|
|
134
|
-
*
|
|
135
|
-
* @subheading{Step 9: Input Heat}
|
|
136
|
-
* @formula{slfgm-h-in; h_{in} = h_{fuel} + h_{combustion,air} + HV_{fuel} + h_{moisture}}
|
|
137
|
-
* @symtable
|
|
138
|
-
* @symrow{h_{in}; Total input heat; \btu\per\hour}
|
|
139
|
-
* @symrow{h_{fuel}; Sensible heat in fuel; \btu\per\hour}
|
|
140
|
-
* @symrow{h_{combustion,air}; Sensible heat in combustion air; \btu\per\hour}
|
|
141
|
-
* @endsymtable
|
|
142
|
-
*
|
|
143
|
-
* @subheading{Step 10: Available Heat Calculation}
|
|
144
|
-
* @formula{slfgm-available-heat; Q_{avail} = \frac{h_{in} - h_{fg} - h_{ash} - h_{carbon}}{HV_{fuel}}}
|
|
145
|
-
* @symtable
|
|
146
|
-
* @symrow{Q_{avail}; Available heat fraction; \unitless}
|
|
147
|
-
* @endsymtable
|
|
41
|
+
* @details This section documents the complete algorithm for determining available heat from solid and liquid fuels.
|
|
42
|
+
* The calculation includes normalization of fuel composition, enthalpy calculations for fuel and air inputs,
|
|
43
|
+
* stoichiometric analysis, flue gas component analysis, and all major loss mechanisms.
|
|
148
44
|
*
|
|
149
|
-
* @
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
*
|
|
154
|
-
* @
|
|
155
|
-
*
|
|
156
|
-
* @
|
|
157
|
-
*
|
|
158
|
-
* @
|
|
159
|
-
*
|
|
160
|
-
*
|
|
161
|
-
*
|
|
162
|
-
*
|
|
163
|
-
*
|
|
164
|
-
*
|
|
165
|
-
*
|
|
166
|
-
* @subheading{
|
|
167
|
-
*
|
|
168
|
-
*
|
|
169
|
-
*
|
|
170
|
-
*
|
|
171
|
-
*
|
|
172
|
-
*
|
|
173
|
-
*
|
|
174
|
-
*
|
|
175
|
-
* @
|
|
176
|
-
*
|
|
177
|
-
*
|
|
178
|
-
*
|
|
179
|
-
*
|
|
180
|
-
*
|
|
181
|
-
*
|
|
182
|
-
*
|
|
183
|
-
* @
|
|
45
|
+
* @subheading{Available Heat Calculation}
|
|
46
|
+
* @brief Final available heat percentage after all losses.
|
|
47
|
+
* @details Available heat is the fraction of input fuel energy remaining for useful work after accounting for
|
|
48
|
+
* sensible heat in flue gas, ash losses, and unburned carbon losses.
|
|
49
|
+
*
|
|
50
|
+
* @formula{slfgm-available-heat; Q_{avail} = \frac{h_{in} - h_{fg} - h_{ash} - h_{carbon}}{HV_{fuel}}}
|
|
51
|
+
*
|
|
52
|
+
* @par Symbols
|
|
53
|
+
* @symtable
|
|
54
|
+
* @symrow{Q_{avail}; Available heat fraction; \unitless}
|
|
55
|
+
* @symrow{h_{in}; Total input heat; \btu\per\pound}
|
|
56
|
+
* @symrow{h_{fg}; Total sensible heat in flue gas; \btu\per\pound}
|
|
57
|
+
* @symrow{h_{ash}; Heat loss due to ash; \btu\per\pound}
|
|
58
|
+
* @symrow{h_{carbon}; Heat loss due to unburned carbon; \btu\per\pound}
|
|
59
|
+
* @symrow{HV_{fuel}; Heating value of fuel; \btu\per\pound}
|
|
60
|
+
* @endsymtable
|
|
61
|
+
*
|
|
62
|
+
* @subheading{Input Heat}
|
|
63
|
+
* @brief Total heat input from fuel, combustion air, and moisture.
|
|
64
|
+
* @details Input heat includes the heating value of the fuel plus sensible heat contributions from elevated
|
|
65
|
+
* fuel temperature, preheated combustion air, and fuel moisture.
|
|
66
|
+
*
|
|
67
|
+
* @formula{slfgm-h-in; h_{in} = h_{fuel} + h_{combustion,air} + HV_{fuel} + h_{moisture}}
|
|
68
|
+
*
|
|
69
|
+
* @par Symbols
|
|
70
|
+
* @symtable
|
|
71
|
+
* @symrow{h_{in}; Total input heat; \btu\per\pound}
|
|
72
|
+
* @symrow{h_{fuel}; Sensible heat in fuel; \btu\per\pound}
|
|
73
|
+
* @symrow{h_{combustion,air}; Sensible heat in combustion air; \btu\per\pound}
|
|
74
|
+
* @symrow{HV_{fuel}; Heating value of fuel; \btu\per\pound}
|
|
75
|
+
* @symrow{h_{moisture}; Heat required for fuel moisture; \btu\per\pound}
|
|
76
|
+
* @endsymtable
|
|
77
|
+
*
|
|
78
|
+
* @subheading{Sensible Heat of Flue Gas Components}
|
|
79
|
+
* @brief Calculate heat content of each flue gas constituent.
|
|
80
|
+
* @details For each component in the flue gas, calculate the sensible heat based on temperature rise and mass flow.
|
|
81
|
+
* Water vapor requires special treatment for latent heat of condensation.
|
|
82
|
+
*
|
|
83
|
+
* @formula{slfgm-h-sensible-co2; h_{CO_2} = m_{CO_2} \cdot \frac{Cp_{CO_2}}{MW_{CO_2}} \cdot (T_{fg} - T_{ref})}
|
|
84
|
+
* @formula{slfgm-h-sensible-h2o; h_{H_2O} = m_{H_2O,fuel} \cdot (h_{sat} + \frac{Cp_{H_2O}}{MW_{H_2O}} \cdot (T_{fg} - T_{ref})) + m_{H_2O,air} \cdot (\frac{Cp_{H_2O}}{MW_{H_2O}} \cdot (T_{fg} - T_{ref}))}
|
|
85
|
+
* @formula{slfgm-h-sensible-so2; h_{SO_2} = m_{SO_2} \cdot \frac{Cp_{SO_2}}{MW_{SO_2}} \cdot (T_{fg} - T_{ref})}
|
|
86
|
+
* @formula{slfgm-h-sensible-o2; h_{O_2} = m_{O_2} \cdot \frac{Cp_{O_2}}{MW_{O_2}} \cdot (T_{fg} - T_{ref})}
|
|
87
|
+
* @formula{slfgm-h-sensible-n2; h_{N_2} = m_{N_2} \cdot \frac{Cp_{N_2}}{MW_{N_2}} \cdot (T_{fg} - T_{ref})}
|
|
88
|
+
* @formula{slfgm-h-fg; h_{fg} = h_{H_2O} + h_{CO_2} + h_{N_2} + h_{O_2} + h_{SO_2}}
|
|
89
|
+
*
|
|
90
|
+
* @par Symbols
|
|
91
|
+
* @symtable
|
|
92
|
+
* @symrow{h_{i}; Sensible heat of constituent i; \btu\per\pound}
|
|
93
|
+
* @symrow{m_{i}; Mass of constituent i; \pound\per\pound\;fuel}
|
|
94
|
+
* @symrow{Cp_{i}; Specific heat of constituent i - see @ref gas_constants; \btu\per\pound\degreeFahrenheit}
|
|
95
|
+
* @symrow{MW_{i}; Molecular weight of constituent i - see @ref gas_constants; \pound\per\lbmol}
|
|
96
|
+
* @symrow{T_{fg}; Flue gas temperature; \degreeFahrenheit}
|
|
97
|
+
* @symrow{T_{ref}; Reference temperature (ambient); \degreeFahrenheit}
|
|
98
|
+
* @symrow{h_{sat}; Enthalpy of saturated steam; \btu\per\pound}
|
|
99
|
+
* @symrow{m_{H_2O,fuel}; Water from fuel moisture and combustion; \pound\per\pound\;fuel}
|
|
100
|
+
* @symrow{m_{H_2O,air}; Water from combustion air moisture; \pound\per\pound\;fuel}
|
|
101
|
+
* @symrow{h_{fg}; Total sensible heat in flue gas; \btu\per\pound}
|
|
102
|
+
* @endsymtable
|
|
103
|
+
*
|
|
104
|
+
* @subheading{Enthalpy of Saturated Steam}
|
|
105
|
+
* @brief Calculate enthalpy at saturation for latent heat effects.
|
|
106
|
+
* @details The enthalpy of saturated steam is needed to account for latent heat of condensation in the water vapor
|
|
107
|
+
* component of the flue gas.
|
|
108
|
+
*
|
|
109
|
+
* @formula{slfgm-h-sat; h_{sat} = 1096.7 \cdot (p_{H_2O} \cdot 29.926)^{0.013}}
|
|
110
|
+
*
|
|
111
|
+
* @par Symbols
|
|
112
|
+
* @symtable
|
|
113
|
+
* @symrow{h_{sat}; Enthalpy of saturated steam; \btu\per\pound}
|
|
114
|
+
* @symrow{p_{H_2O}; Partial pressure of water vapor; \unitless}
|
|
115
|
+
* @symrow{1096.7; Empirical correlation coefficient; \btu\per\pound}
|
|
116
|
+
* @symrow{29.926; Atmospheric pressure in inches of mercury; \inchMercury}
|
|
117
|
+
* @symrow{0.013; Empirical correlation exponent; \unitless}
|
|
118
|
+
* @endsymtable
|
|
119
|
+
*
|
|
120
|
+
* @subheading{Partial Pressure of Water Vapor}
|
|
121
|
+
* @brief Calculate mole fraction of water vapor in flue gas.
|
|
122
|
+
* @details The partial pressure of water vapor is needed to determine saturation conditions for latent heat calculations.
|
|
123
|
+
* It is calculated from the volumetric fractions of all constituents using specific gravity ratios.
|
|
124
|
+
*
|
|
125
|
+
* @formula{slfgm-pp-h2o; p_{H_2O} = \frac{m_{H_2O}/0.047636}{m_{CO_2}/0.116367 + m_{H_2O}/0.047636 + m_{N_2}/0.074077 + m_{O_2}/0.084611 + m_{SO_2}/0.169381}}
|
|
126
|
+
*
|
|
127
|
+
* @par Symbols
|
|
128
|
+
* @symtable
|
|
129
|
+
* @symrow{p_{H_2O}; Partial pressure (mole fraction) of water vapor; \unitless}
|
|
130
|
+
* @symrow{m_{i}; Mass of constituent i; \pound\per\pound\;fuel}
|
|
131
|
+
* @symrow{0.047636; H2O specific weight - see @ref gas_constants; \pound\per\cubicFoot}
|
|
132
|
+
* @symrow{0.116367; CO2 specific weight - see @ref gas_constants; \pound\per\cubicFoot}
|
|
133
|
+
* @symrow{0.074077; N2 specific weight - see @ref gas_constants; \pound\per\cubicFoot}
|
|
134
|
+
* @symrow{0.084611; O2 specific weight - see @ref gas_constants; \pound\per\cubicFoot}
|
|
135
|
+
* @symrow{0.169381; SO2 specific weight - see @ref gas_constants; \pound\per\cubicFoot}
|
|
136
|
+
* @endsymtable
|
|
137
|
+
*
|
|
138
|
+
* @subheading{Other Losses}
|
|
139
|
+
* @brief Account for moisture, unburned carbon, and ash losses.
|
|
140
|
+
* @details Additional heat losses occur due to moisture evaporation, incomplete combustion leaving unburned carbon
|
|
141
|
+
* in ash, and sensible heat carried away by hot ash.
|
|
142
|
+
*
|
|
143
|
+
* @formula{slfgm-h-moisture; h_{moisture} = X_{moisture} \cdot (T_{fg} - T_{ref})}
|
|
144
|
+
* @formula{slfgm-h-carbon; h_{carbon} = 14093.0 \cdot X_{unburned,carbon} \cdot (X_{ash}/x_{fuel})}
|
|
145
|
+
* @formula{slfgm-h-ash; h_{ash} = (X_{ash}/x_{fuel}) \cdot 0.25 \cdot (1.8 \cdot T_{ash,discharge} + 32.0 - T_{ref})}
|
|
146
|
+
*
|
|
147
|
+
* @par Symbols
|
|
148
|
+
* @symtable
|
|
149
|
+
* @symrow{h_{moisture}; Heat loss due to moisture evaporation; \btu\per\pound}
|
|
150
|
+
* @symrow{h_{carbon}; Heat loss due to unburned carbon; \btu\per\pound}
|
|
151
|
+
* @symrow{h_{ash}; Heat loss due to ash sensible heat; \btu\per\pound}
|
|
152
|
+
* @symrow{X_{moisture}; Moisture percent in fuel; \percent}
|
|
153
|
+
* @symrow{X_{unburned,carbon}; Unburned carbon in ash; \percent}
|
|
154
|
+
* @symrow{X_{ash}; Ash percent in fuel; \percent}
|
|
155
|
+
* @symrow{x_{fuel}; Dry fuel fraction; \unitless}
|
|
156
|
+
* @symrow{T_{fg}; Flue gas temperature; \degreeFahrenheit}
|
|
157
|
+
* @symrow{T_{ref}; Reference temperature (ambient); \degreeFahrenheit}
|
|
158
|
+
* @symrow{T_{ash,discharge}; Ash discharge temperature; \degreeFahrenheit}
|
|
159
|
+
* @symrow{14093.0; Heating value of carbon; \btu\per\pound}
|
|
160
|
+
* @symrow{0.25; Specific heat of ash; \btu\per\pound\degreeFahrenheit}
|
|
161
|
+
* @symrow{1.8; Fahrenheit to Celsius conversion factor; \unitless}
|
|
162
|
+
* @symrow{32.0; Fahrenheit to Celsius offset; \degreeFahrenheit}
|
|
163
|
+
* @endsymtable
|
|
164
|
+
*
|
|
165
|
+
* @subheading{Flue Gas Components and Heating Value}
|
|
166
|
+
* @brief Calculate mass of each flue gas component and fuel heating value.
|
|
167
|
+
* @details The mass of each combustion product is calculated from fuel composition and stoichiometry. The heating
|
|
168
|
+
* value is the sum of elemental contributions from carbon, hydrogen, and sulfur. See @ref gas_constants for
|
|
169
|
+
* stoichiometric constants.
|
|
170
|
+
*
|
|
171
|
+
* @formula{slfgm-m-co2; m_{CO_2} = x_C \cdot k_{C\to CO_2}}
|
|
172
|
+
* @formula{slfgm-m-h2o; m_{H_2O} = x_H \cdot k_{H\to H_2O} + x_{moisture} + (M_{comb,air} \cdot M_{air,moisture}/100)}
|
|
173
|
+
* @formula{slfgm-m-so2; m_{SO_2} = x_S \cdot k_{S\to SO_2}}
|
|
174
|
+
* @formula{slfgm-m-o2; m_{O_2} = O2_{s,air} \cdot EA}
|
|
175
|
+
* @formula{slfgm-m-n2; m_{N_2} = N2_{s,air} \cdot (1 + EA)}
|
|
176
|
+
* @formula{slfgm-hv; HV_{fuel} = x_C \cdot k_{HV,C} + x_H \cdot k_{HV,H} + x_S \cdot k_{HV,S}}
|
|
177
|
+
*
|
|
178
|
+
* @par Symbols
|
|
179
|
+
* @symtable
|
|
180
|
+
* @symrow{m_{i}; Mass of constituent i per unit fuel; \pound\per\pound\;fuel}
|
|
181
|
+
* @symrow{x_C; Carbon mass fraction in fuel; \unitless}
|
|
182
|
+
* @symrow{x_H; Hydrogen mass fraction in fuel; \unitless}
|
|
183
|
+
* @symrow{x_S; Sulfur mass fraction in fuel; \unitless}
|
|
184
|
+
* @symrow{x_{moisture}; Moisture mass fraction in fuel; \unitless}
|
|
185
|
+
* @symrow{k_{C\to CO_2}; Carbon to CO2 stoichiometric ratio - see @ref gas_constants; \pound\per\pound}
|
|
186
|
+
* @symrow{k_{H\to H_2O}; Hydrogen to H2O stoichiometric ratio - see @ref gas_constants; \pound\per\pound}
|
|
187
|
+
* @symrow{k_{S\to SO_2}; Sulfur to SO2 stoichiometric ratio - see @ref gas_constants; \pound\per\pound}
|
|
188
|
+
* @symrow{M_{comb,air}; Total combustion air; \pound\per\pound\;fuel}
|
|
189
|
+
* @symrow{M_{air,moisture}; Moisture percent in combustion air; \percent}
|
|
190
|
+
* @symrow{O2_{s,air}; Stoichiometric O2 required; \pound\per\pound\;fuel}
|
|
191
|
+
* @symrow{N2_{s,air}; Stoichiometric N2 from air; \pound\per\pound\;fuel}
|
|
192
|
+
* @symrow{EA; Excess air fraction; \unitless}
|
|
193
|
+
* @symrow{HV_{fuel}; Heating value of fuel; \btu\per\pound}
|
|
194
|
+
* @symrow{k_{HV,C}; Heating value of carbon; \btu\per\pound}
|
|
195
|
+
* @symrow{k_{HV,H}; Heating value of hydrogen; \btu\per\pound}
|
|
196
|
+
* @symrow{k_{HV,S}; Heating value of sulfur; \btu\per\pound}
|
|
197
|
+
* @symrow{100; Percentage conversion factor; \unitless}
|
|
198
|
+
* @endsymtable
|
|
199
|
+
*
|
|
200
|
+
* @subheading{Stoichiometric Air and Combustion Calculations}
|
|
201
|
+
* @brief Calculate theoretical air requirements from fuel composition.
|
|
202
|
+
* @details Stoichiometric air is the theoretical minimum air required for complete combustion. The calculation accounts
|
|
203
|
+
* for oxygen requirements of carbon, hydrogen, and sulfur, minus any oxygen present in the fuel. See @ref gas_constants
|
|
204
|
+
* for stoichiometric ratios.
|
|
205
|
+
*
|
|
206
|
+
* @formula{slfgm-stoich-air; O2_{s,air} = x_C \cdot k_{C\to O_2} + x_H \cdot k_{H\to O_2} + x_S \cdot k_{S\to O_2} - x_{O_2}}
|
|
207
|
+
* @formula{slfgm-n2s-air; N2_{s,air} = O2_{s,air} \cdot k_{N_2/O_2}}
|
|
208
|
+
* @formula{slfgm-ms-air; M_{s,air} = O2_{s,air} + N2_{s,air}}
|
|
209
|
+
* @formula{slfgm-m-comb-air; M_{comb,air} = M_{s,air} \cdot (1 + EA)}
|
|
210
|
+
*
|
|
211
|
+
* @par Symbols
|
|
212
|
+
* @symtable
|
|
213
|
+
* @symrow{O2_{s,air}; Stoichiometric O2 required; \pound\per\pound\;fuel}
|
|
214
|
+
* @symrow{N2_{s,air}; Stoichiometric N2 from air; \pound\per\pound\;fuel}
|
|
215
|
+
* @symrow{M_{s,air}; Stoichiometric air; \pound\per\pound\;fuel}
|
|
216
|
+
* @symrow{M_{comb,air}; Total combustion air; \pound\per\pound\;fuel}
|
|
217
|
+
* @symrow{x_C; Carbon mass fraction in fuel; \unitless}
|
|
218
|
+
* @symrow{x_H; Hydrogen mass fraction in fuel; \unitless}
|
|
219
|
+
* @symrow{x_S; Sulfur mass fraction in fuel; \unitless}
|
|
220
|
+
* @symrow{x_{O_2}; Oxygen mass fraction in fuel; \unitless}
|
|
221
|
+
* @symrow{k_{C\to O_2}; Carbon to O2 stoichiometric ratio - see @ref gas_constants; \pound\per\pound}
|
|
222
|
+
* @symrow{k_{H\to O_2}; Hydrogen to O2 stoichiometric ratio - see @ref gas_constants; \pound\per\pound}
|
|
223
|
+
* @symrow{k_{S\to O_2}; Sulfur to O2 stoichiometric ratio - see @ref gas_constants; \pound\per\pound}
|
|
224
|
+
* @symrow{k_{N_2/O_2}; N2 to O2 ratio in air - see @ref gas_constants; \pound\per\pound}
|
|
225
|
+
* @symrow{EA; Excess air fraction; \unitless}
|
|
226
|
+
* @endsymtable
|
|
227
|
+
*
|
|
228
|
+
* @subheading{Fuel and Combustion Air Enthalpy}
|
|
229
|
+
* @brief Calculate sensible enthalpy of fuel and combustion air inputs.
|
|
230
|
+
* @details When fuel or combustion air enters at temperatures above ambient, they contribute additional sensible heat
|
|
231
|
+
* to the system. The specific heat of combustion air varies with temperature.
|
|
232
|
+
*
|
|
233
|
+
* @formula{slfgm-h-fuel; h_{fuel} = C_{pfuel} \cdot (1 - x_{moisture}) \cdot (T_{fuel} - T_{amb})}
|
|
234
|
+
* @formula{slfgm-cp-comb-air; C_{p,air} = a + b \cdot T_{comb}}
|
|
235
|
+
* @formula{slfgm-h-comb-air; h_{comb,air} = M_{comb,air} \cdot C_{p,air} \cdot (T_{comb} - T_{amb}) / \rho_{air}}
|
|
236
|
+
*
|
|
237
|
+
* @par Symbols
|
|
238
|
+
* @symtable
|
|
239
|
+
* @symrow{h_{fuel}; Sensible enthalpy of fuel; \btu\per\pound}
|
|
240
|
+
* @symrow{C_{pfuel}; Specific heat of fuel; \btu\per\pound\degreeFahrenheit}
|
|
241
|
+
* @symrow{x_{moisture}; Moisture fraction in fuel; \unitless}
|
|
242
|
+
* @symrow{T_{fuel}; Fuel temperature; \degreeFahrenheit}
|
|
243
|
+
* @symrow{T_{amb}; Ambient air temperature; \degreeFahrenheit}
|
|
244
|
+
* @symrow{C_{p,air}; Specific heat of combustion air; \btu\per\pound\degreeFahrenheit}
|
|
245
|
+
* @symrow{a; Linear coefficient for air specific heat; \btu\per\pound\degreeFahrenheit}
|
|
246
|
+
* @symrow{b; Temperature coefficient for air specific heat; \btu\per\pound\degreeFahrenheit\squared}
|
|
247
|
+
* @symrow{T_{comb}; Combustion air temperature; \degreeFahrenheit}
|
|
248
|
+
* @symrow{h_{comb,air}; Sensible enthalpy of combustion air; \btu\per\pound}
|
|
249
|
+
* @symrow{M_{comb,air}; Mass of combustion air; \pound\per\pound\;fuel}
|
|
250
|
+
* @symrow{\rho_{air}; Density of air; \pound\per\cubicFoot}
|
|
251
|
+
* @endsymtable
|
|
252
|
+
*
|
|
253
|
+
* @subheading{Normalize Fuel Composition}
|
|
254
|
+
* @brief Convert fuel analysis percentages to mass fractions.
|
|
255
|
+
* @details Fuel composition is typically provided as percentages that may not sum to exactly 100%. Normalization
|
|
256
|
+
* ensures mass fractions sum to unity for stoichiometric calculations.
|
|
257
|
+
*
|
|
258
|
+
* @formula{slfgm-norm-fuel; x_i = \frac{X_i}{\sum_j X_j}}
|
|
259
|
+
*
|
|
260
|
+
* @par Symbols
|
|
261
|
+
* @symtable
|
|
262
|
+
* @symrow{x_i; Normalized mass fraction of constituent i; \unitless}
|
|
263
|
+
* @symrow{X_i; Percent of constituent i in fuel; \percent}
|
|
264
|
+
* @endsymtable
|
|
184
265
|
*/
|
|
185
266
|
|
|
186
267
|
/**
|
|
187
|
-
* @defgroup
|
|
268
|
+
* @defgroup solid_liquid_flue_gas_excess_air_calc Excess Air Calculation
|
|
188
269
|
* @ingroup solid_liquid_flue_gas_material_calculator
|
|
189
|
-
* @brief
|
|
190
|
-
* @details
|
|
191
|
-
*
|
|
192
|
-
*
|
|
193
|
-
*
|
|
194
|
-
*
|
|
195
|
-
*
|
|
196
|
-
*
|
|
197
|
-
*
|
|
198
|
-
*
|
|
199
|
-
*
|
|
200
|
-
* @
|
|
201
|
-
*
|
|
202
|
-
*
|
|
203
|
-
* @formula{slfgm-stoich-n2; N2_{s,air} = O2_{s,air} \cdot k_{N_2/O_2}}
|
|
204
|
-
* @formula{slfgm-ms-air-o2; M_{s,air} = O2_{s,air} + N2_{s,air}}
|
|
205
|
-
* @formula{slfgm-m-comb-air-o2; M_{comb,air} = M_{s,air} \cdot (1 + EA)}
|
|
206
|
-
* @symtable
|
|
207
|
-
* @symrow{O2_{s,air}; Stoichiometric O2 required; \unitless}
|
|
208
|
-
* @symrow{N2_{s,air}; Stoichiometric N2 from air; \unitless}
|
|
209
|
-
* @symrow{M_{s,air}; Stoichiometric air; \unitless}
|
|
210
|
-
* @symrow{M_{comb,air}; Total combustion air; \unitless}
|
|
211
|
-
* @symrow{EA; Excess air fraction; \unitless}
|
|
212
|
-
* @endsymtable
|
|
213
|
-
*
|
|
214
|
-
* @subheading{Step 3: Flue Gas Components}
|
|
215
|
-
* Calculate mass of each flue gas component:
|
|
216
|
-
* @formula{slfgm-m-co2-o2; m_{CO_2} = x_C \cdot k_{C\to CO_2}}
|
|
217
|
-
* @formula{slfgm-m-h2o-o2; m_{H_2O} = x_H \cdot k_{H\to H_2O} + x_{moisture} + (M_{comb,air} \cdot M_{air,moisture}/100)}
|
|
218
|
-
* @formula{slfgm-m-so2-o2; m_{SO_2} = x_S \cdot k_{S\to SO_2}}
|
|
219
|
-
* @formula{slfgm-m-o2-o2; m_{O_2} = O2_{s,air} \cdot EA}
|
|
220
|
-
* @formula{slfgm-m-n2-o2; m_{N_2} = N2_{s,air} \cdot (1 + EA)}
|
|
221
|
-
* @symtable
|
|
222
|
-
* @symrow{m_{i}; Mass of constituent i; \unitless}
|
|
223
|
-
* @endsymtable
|
|
224
|
-
*
|
|
225
|
-
* @subheading{Step 4: Calculate O2 Fraction in Flue Gas}
|
|
226
|
-
* @formula{slfgm-o2-frac; O2_{fg} = \frac{m_{O_2}}{m_{CO_2} + m_{H_2O} + m_{N_2} + m_{O_2} + m_{SO_2}}}
|
|
227
|
-
* @symtable
|
|
228
|
-
* @symrow{O2_{fg}; O2 fraction in flue gas; \unitless}
|
|
229
|
-
* @endsymtable
|
|
270
|
+
* @brief Iterative method to estimate excess air from measured flue gas oxygen.
|
|
271
|
+
* @details Given the measured O2 percentage in the flue gas and fuel composition, this algorithm iteratively
|
|
272
|
+
* estimates the fraction of excess air supplied to the combustion process. The calculation uses stoichiometric
|
|
273
|
+
* relationships and mass balance.
|
|
274
|
+
*
|
|
275
|
+
* @subheading{Iterative Procedure}
|
|
276
|
+
* The excess air is estimated by iterating on the relationship between O2 content and excess air until convergence.
|
|
277
|
+
* See the source code implementation for the detailed iterative algorithm.
|
|
278
|
+
*
|
|
279
|
+
* @par Symbols
|
|
280
|
+
* @symtable
|
|
281
|
+
* @symrow{EA; Excess air fraction; \unitless}
|
|
282
|
+
* @symrow{O_2; Measured flue gas oxygen percentage; \percent}
|
|
283
|
+
* @endsymtable
|
|
230
284
|
*/
|
|
231
285
|
|
|
232
286
|
/**
|
|
233
|
-
* @defgroup
|
|
287
|
+
* @defgroup solid_liquid_flue_gas_o2_calc Flue Gas O2 Calculation
|
|
234
288
|
* @ingroup solid_liquid_flue_gas_material_calculator
|
|
235
|
-
* @brief
|
|
236
|
-
* @details
|
|
237
|
-
*
|
|
238
|
-
*
|
|
239
|
-
*
|
|
240
|
-
*
|
|
241
|
-
*
|
|
242
|
-
*
|
|
243
|
-
*
|
|
244
|
-
*
|
|
245
|
-
*
|
|
246
|
-
* @
|
|
247
|
-
*
|
|
248
|
-
* @formula{slfgm-hv-calc; HV_{fuel} = x_C \cdot k_{HV,C} + x_H \cdot k_{HV,H} + x_S \cdot k_{HV,S}}
|
|
249
|
-
* @symtable
|
|
250
|
-
* @symrow{HV_{fuel}; Heating value of fuel; \btu\per\pound}
|
|
251
|
-
* @symrow{x_C, x_H, x_S; Normalized fractions of C, H, S; \unitless}
|
|
252
|
-
* @symrow{k_{HV,C}, k_{HV,H}, k_{HV,S}; Heating value constants; \btu\per\pound}
|
|
253
|
-
* @endsymtable
|
|
289
|
+
* @brief Compute expected oxygen content in flue gas for a given excess air level.
|
|
290
|
+
* @details Given the excess air fraction and fuel composition, this algorithm calculates the expected O2 percentage
|
|
291
|
+
* in the flue gas using stoichiometric and mass balance relationships.
|
|
292
|
+
*
|
|
293
|
+
* @subheading{O2 Percentage}
|
|
294
|
+
* The O2 content is calculated from the mass of excess oxygen divided by the total flue gas mass, converted to
|
|
295
|
+
* volumetric percentage.
|
|
296
|
+
*
|
|
297
|
+
* @par Symbols
|
|
298
|
+
* @symtable
|
|
299
|
+
* @symrow{O_2; Flue gas oxygen percentage; \percent}
|
|
300
|
+
* @symrow{EA; Excess air fraction; \unitless}
|
|
301
|
+
* @endsymtable
|
|
254
302
|
*/
|
|
255
303
|
|
|
256
304
|
/**
|
|
257
|
-
* @
|
|
258
|
-
* @
|
|
305
|
+
* @defgroup solid_liquid_flue_gas_hv_calc Heating Value Calculation
|
|
306
|
+
* @ingroup solid_liquid_flue_gas_material_calculator
|
|
307
|
+
* @brief Calculate higher heating value of solid or liquid fuel.
|
|
308
|
+
* @details The higher heating value (HHV) is calculated as a weighted sum of elemental contributions from carbon,
|
|
309
|
+
* hydrogen, and sulfur in the fuel. The weights must be normalized fractions.
|
|
310
|
+
*
|
|
311
|
+
* @subheading{Normalization}
|
|
312
|
+
* First, normalize the fuel composition fractions:
|
|
313
|
+
* @formula{slfgm-norm-fuel-2; x_i = \frac{X_i}{\sum_j X_j}}
|
|
314
|
+
*
|
|
315
|
+
* @subheading{Weighted Heating Value}
|
|
316
|
+
* Calculate heating value as weighted sum:
|
|
317
|
+
* @formula{slfgm-hv-calc; HV_{fuel} = x_C \cdot k_{HV,C} + x_H \cdot k_{HV,H} + x_S \cdot k_{HV,S}}
|
|
318
|
+
*
|
|
319
|
+
* @par Symbols
|
|
320
|
+
* @symtable
|
|
321
|
+
* @symrow{HV_{fuel}; Heating value of fuel; \btu\per\pound}
|
|
322
|
+
* @symrow{x_C; Normalized carbon fraction; \unitless}
|
|
323
|
+
* @symrow{x_H; Normalized hydrogen fraction; \unitless}
|
|
324
|
+
* @symrow{x_S; Normalized sulfur fraction; \unitless}
|
|
325
|
+
* @symrow{X_i; Percent of constituent i in fuel; \percent}
|
|
326
|
+
* @symrow{k_{HV,C}; Heating value constant for carbon; \btu\per\pound}
|
|
327
|
+
* @symrow{k_{HV,H}; Heating value constant for hydrogen; \btu\per\pound}
|
|
328
|
+
* @symrow{k_{HV,S}; Heating value constant for sulfur; \btu\per\pound}
|
|
329
|
+
* @endsymtable
|
|
259
330
|
*/
|
|
@@ -24,7 +24,8 @@
|
|
|
24
24
|
* @copydoc wall_radiative_heat_loss_formula
|
|
25
25
|
*
|
|
26
26
|
* @heading{Shape Factors}
|
|
27
|
-
* @copydoc
|
|
27
|
+
* @copydoc wall_type_data_database
|
|
28
|
+
* @see wall_type_data_database
|
|
28
29
|
*/
|
|
29
30
|
|
|
30
31
|
/**
|
|
@@ -100,19 +101,4 @@
|
|
|
100
101
|
* @symrow{T_s; Surface temperature; \degreeRankine}
|
|
101
102
|
* @symrow{T_a; Ambient temperature; \degreeRankine}
|
|
102
103
|
* @endsymtable
|
|
103
|
-
*/
|
|
104
|
-
|
|
105
|
-
/**
|
|
106
|
-
* @defgroup wall_shape_factors Wall Shape Factors
|
|
107
|
-
* @ingroup wall_heat_loss_calculator
|
|
108
|
-
* | Wall Type | Shape Factor @unitb{\unitless} |
|
|
109
|
-
* |-----------------------------------------------|--------------------------------|
|
|
110
|
-
* | Horizontal cylinders | 1.016 |
|
|
111
|
-
* | Longer vertical cylinders | 1.235 |
|
|
112
|
-
* | Vertical plates | 1.394 |
|
|
113
|
-
* | Horizontal plate facing up, warmer than air | 1.79 |
|
|
114
|
-
* | Horizontal plate facing down, warmer than air | 0.89 |
|
|
115
|
-
* | Horizontal plate facing up, cooler than air | 0.89 |
|
|
116
|
-
* | Horizontal plate facing down, cooler than air | 1.79 |
|
|
117
|
-
* Source: @cite astmC680
|
|
118
|
-
*/
|
|
104
|
+
*/
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @defgroup gas_type_data_database Gas Type Database
|
|
3
|
+
* @ingroup databases
|
|
4
|
+
* @brief Contains default data for atmospheric gas types used in atmosphere heat loss calculations.
|
|
5
|
+
* @details This database provides default values for the specific heat of common atmospheric gases at a reference temperature of @qty{60;\degreeFahrenheit}. The data is used in atmosphere heat loss calculations for process heating systems.
|
|
6
|
+
*
|
|
7
|
+
* @heading{Default Gas Type Data}
|
|
8
|
+
* @copydoc gas_type_data
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* @defgroup gas_type_data Default Gas Type Data
|
|
13
|
+
* @ingroup gas_type_data_database
|
|
14
|
+
* The following table lists the default gas types and their specific heat values:
|
|
15
|
+
*
|
|
16
|
+
* | Gas Description | Specific Heat @unitb{\btu\per\standardCubicFeet\degreeFahrenheit} |
|
|
17
|
+
* |---------------------|-------------------------------------------------------------------|
|
|
18
|
+
* | Nitrogen | 0.0185 |
|
|
19
|
+
* | Hydrogen | 0.0182 |
|
|
20
|
+
* | Exothermic Gas | 0.0185 |
|
|
21
|
+
* | Endothermic Gas | 0.0185 |
|
|
22
|
+
* | Air | 0.0184 |
|
|
23
|
+
* | Water Vapor | 0.0212 |
|
|
24
|
+
*
|
|
25
|
+
* @note Values are at a reference temperature of @qty{60;\degreeFahrenheit} and may vary with pressure and temperature.
|
|
26
|
+
*
|
|
27
|
+
* @see atmosphere_heat_loss_calculator
|
|
28
|
+
*/
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @defgroup wall_type_data_database Wall Type Database
|
|
3
|
+
* @ingroup databases
|
|
4
|
+
* @brief Contains default data for wall types used in wall heat loss calculations.
|
|
5
|
+
* @details This database provides default values for shape factors associated with various wall types. The data is used in wall heat loss calculations for process heating systems.
|
|
6
|
+
*
|
|
7
|
+
* @heading{Default Wall Type Data}
|
|
8
|
+
* @copydoc wall_type_data
|
|
9
|
+
* Source: @cite astmC680
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* @defgroup wall_type_data Default Wall Type Data
|
|
14
|
+
* @ingroup wall_type_data_database
|
|
15
|
+
* The following table lists the default wall types and their shape factor values:
|
|
16
|
+
*
|
|
17
|
+
* | Wall Description | Shape Factor @unitb{\unitless} |
|
|
18
|
+
* |------------------------------------------------------|--------------------------------|
|
|
19
|
+
* | Horizontal cylinders | 1.016 |
|
|
20
|
+
* | Longer vertical cylinders | 1.235 |
|
|
21
|
+
* | Vertical plates | 1.394 |
|
|
22
|
+
* | Horizontal plate facing up, warmer than air | 1.79 |
|
|
23
|
+
* | Horizontal plate facing down, warmer than air | 0.89 |
|
|
24
|
+
* | Horizontal plate facing up, cooler than air | 0.89 |
|
|
25
|
+
* | Horizontal plate facing down, cooler than air | 1.79 |
|
|
26
|
+
*
|
|
27
|
+
* @note Shape factors are used to account for the effect of surface orientation on convective heat transfer.
|
|
28
|
+
*
|
|
29
|
+
* @see wall_heat_loss_calculator
|
|
30
|
+
*/
|