measur-tools-suite 1.0.14-beta.253 → 1.0.14-beta.258
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/dependencies/mathjax-config.js +2 -0
- package/docs/dox-content/calculators/processHeat/air_heating_using_exhaust_calculator.dox +124 -0
- package/docs/dox-content/calculators/processHeat/losses/energy_input_exhaust_gas_heat_loss_calculator.dox +25 -3
- package/docs/dox-content/calculators/processHeat/losses/solid_liquid_flue_gas_calculator.dox +13 -13
- package/package.json +1 -1
package/bin/client.wasm
CHANGED
|
Binary file
|
package/bin/package.json
CHANGED
|
@@ -48,6 +48,7 @@ window.MathJax = {
|
|
|
48
48
|
ready() {
|
|
49
49
|
MathJax.startup.defaultReady();
|
|
50
50
|
MathJax.tex2mml(String.raw`
|
|
51
|
+
\DeclareSIUnit{\poundFuel}{lb_{fuel}}
|
|
51
52
|
\DeclareSIUnit{\abs}{abs}
|
|
52
53
|
\DeclareSIUnit{\dollar}{$}
|
|
53
54
|
\DeclareSIUnit{\britishThermalUnit}{Btu}
|
|
@@ -95,6 +96,7 @@ window.MathJax = {
|
|
|
95
96
|
\DeclareSIUnit{\lbmol}{lbmol}
|
|
96
97
|
\DeclareSIUnit{\year}{yr}
|
|
97
98
|
\DeclareSIUnit{\ton}{ton}
|
|
99
|
+
\DeclareSIUnit{\inchMercury}{inHg}
|
|
98
100
|
`);
|
|
99
101
|
}
|
|
100
102
|
},
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @defgroup air_heating_using_exhaust_calculator Air Heating Using Exhaust Calculator
|
|
3
|
+
* @ingroup process_heat_calculators
|
|
4
|
+
* @brief Calculates energy savings from using exhaust gas (waste heat) to preheat combustion air for process heating systems.
|
|
5
|
+
* @details This calculator estimates the benefit of using waste heat from exhaust gas to preheat incoming combustion air through a heat exchanger. The calculation uses fuel properties, flue gas temperature, excess air, firing rate, airflow, and heat exchanger efficiency. The method is based on standard industrial practice for waste heat recovery in process heating systems.
|
|
6
|
+
*
|
|
7
|
+
* The calculation follows a top-down approach:
|
|
8
|
+
* 1. **Heat Capacity of Flue Gas** - Calculate the heat capacity of exhaust flue gas based on fuel properties and combustion parameters
|
|
9
|
+
* 2. **Heat Capacity of Air** - Determine the heat capacity of incoming air to be preheated
|
|
10
|
+
* 3. **Heat Recovered by Cold Air** - Calculate the actual heat transferred from exhaust to cold air through the heat exchanger
|
|
11
|
+
* 4. **Outlet Exhaust Temperature** - Compute the exhaust gas temperature after heat recovery
|
|
12
|
+
* 5. **Annual Energy Savings** - Determine the total energy savings over the operating period
|
|
13
|
+
*
|
|
14
|
+
* Relevant formulas and symbol definitions are documented below.
|
|
15
|
+
*
|
|
16
|
+
* @heading{Heat Capacity of Flue Gas}
|
|
17
|
+
* @copydoc air_heating_using_exhaust_heat_capacity_flue_formula
|
|
18
|
+
*
|
|
19
|
+
* @heading{Heat Capacity of Air}
|
|
20
|
+
* @copydoc air_heating_using_exhaust_heat_capacity_air_formula
|
|
21
|
+
*
|
|
22
|
+
* @heading{Heat Recovered by Cold Air}
|
|
23
|
+
* @copydoc air_heating_using_exhaust_heat_recovered_formula
|
|
24
|
+
*
|
|
25
|
+
* @heading{Outlet Exhaust Temperature}
|
|
26
|
+
* @copydoc air_heating_using_exhaust_outlet_temperature_formula
|
|
27
|
+
*
|
|
28
|
+
* @heading{Annual Energy Savings}
|
|
29
|
+
* @copydoc air_heating_using_exhaust_energy_savings_formula
|
|
30
|
+
*/
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* @defgroup air_heating_using_exhaust_heat_capacity_flue_formula Heat Capacity of Flue Gas Formula
|
|
34
|
+
* @ingroup air_heating_using_exhaust_calculator
|
|
35
|
+
* @brief Heat capacity of exhaust flue gas based on fuel properties and combustion parameters.
|
|
36
|
+
* @details The heat capacity of flue gas is calculated based on the firing rate, stoichiometric air requirement, excess air, flue gas temperature, and fuel heating value. An empirical factor of 0.021 is applied to account for the specific heat properties of typical flue gas compositions.
|
|
37
|
+
*
|
|
38
|
+
* @formula{air-heating-exhaust-heat-capacity-flue; C_{flue} = \frac{Q_{fire} \cdot 10^6 \cdot \left(\frac{(1 + EA) \cdot A_{stoich}}{32} + 1\right) \cdot T_{flue}}{HV_{fuel} \cdot 1000} \cdot 0.021}
|
|
39
|
+
*
|
|
40
|
+
* @subheading{Symbols}
|
|
41
|
+
* @symtable
|
|
42
|
+
* @symrow{C_{flue}; Heat capacity of flue gas; \btu\per\degreeFahrenheit}
|
|
43
|
+
* @symrow{Q_{fire}; Firing rate; \mega\btu\per\hour}
|
|
44
|
+
* @symrow{EA; Excess air fraction; \unitless}
|
|
45
|
+
* @symrow{A_{stoich}; Stoichiometric air requirement (gas); \cubicFoot\per\cubicFoot}
|
|
46
|
+
* @symrow{A_{stoich}; Stoichiometric air requirement (solid/liquid); \cubicFoot\per\pound}
|
|
47
|
+
* @symrow{T_{flue}; Flue gas temperature; \degreeFahrenheit}
|
|
48
|
+
* @symrow{HV_{fuel}; Fuel heating value (gas); \btu\per\cubicFoot}
|
|
49
|
+
* @symrow{HV_{fuel}; Fuel heating value (solid/liquid); \btu\per\pound}
|
|
50
|
+
* @symrow{0.021; Empirical factor for flue gas heat capacity; \unitless}
|
|
51
|
+
* @symrow{32; Empirical divisor for stoichiometric air calculation; \unitless}
|
|
52
|
+
* @endsymtable
|
|
53
|
+
*/
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* @defgroup air_heating_using_exhaust_heat_capacity_air_formula Heat Capacity of Air Formula
|
|
57
|
+
* @ingroup air_heating_using_exhaust_calculator
|
|
58
|
+
* @brief Heat capacity of incoming air to be preheated.
|
|
59
|
+
* @details The heat capacity of air is calculated from the volumetric airflow rate converted to an hourly basis. An empirical factor of 0.0186 is applied to account for the specific heat of air at typical combustion conditions.
|
|
60
|
+
*
|
|
61
|
+
* @formula{air-heating-exhaust-heat-capacity-air; C_{air} = 0.0186 \cdot \dot{V}_{air} \cdot 60}
|
|
62
|
+
*
|
|
63
|
+
* @subheading{Symbols}
|
|
64
|
+
* @symtable
|
|
65
|
+
* @symrow{C_{air}; Heat capacity of air; \btu\per\degreeFahrenheit}
|
|
66
|
+
* @symrow{\dot{V}_{air}; Air flow rate; \standardCubicFeet\per\minute}
|
|
67
|
+
* @symrow{0.0186; Empirical factor for air heat capacity; \unitless}
|
|
68
|
+
* @symrow{60; Conversion factor from minutes to hours - see @ref physics::conversions::kMinutesPerHour; \minute\per\hour}
|
|
69
|
+
* @endsymtable
|
|
70
|
+
*/
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* @defgroup air_heating_using_exhaust_heat_recovered_formula Heat Recovered by Cold Air Formula
|
|
74
|
+
* @ingroup air_heating_using_exhaust_calculator
|
|
75
|
+
* @brief Heat transferred from exhaust to cold air through the heat exchanger.
|
|
76
|
+
* @details The heat recovered is determined by the limiting heat capacity (minimum of air or flue gas), the heat exchanger efficiency, and the temperature difference between the flue gas and inlet air. The limiting capacity ensures the calculation respects thermodynamic constraints.
|
|
77
|
+
*
|
|
78
|
+
* @formula{air-heating-exhaust-heat-recovered; Q_{recovered} = \eta_{hx} \cdot \min(C_{air}, C_{flue}) \cdot (T_{flue} - T_{inlet})}
|
|
79
|
+
*
|
|
80
|
+
* @subheading{Symbols}
|
|
81
|
+
* @symtable
|
|
82
|
+
* @symrow{Q_{recovered}; Heat recovered by cold air; \btu\per\hour}
|
|
83
|
+
* @symrow{\eta_{hx}; Heat exchanger efficiency; \unitless}
|
|
84
|
+
* @symrow{C_{air}; Heat capacity of air; \btu\per\degreeFahrenheit}
|
|
85
|
+
* @symrow{C_{flue}; Heat capacity of flue gas; \btu\per\degreeFahrenheit}
|
|
86
|
+
* @symrow{T_{flue}; Flue gas temperature; \degreeFahrenheit}
|
|
87
|
+
* @symrow{T_{inlet}; Inlet air temperature; \degreeFahrenheit}
|
|
88
|
+
* @endsymtable
|
|
89
|
+
*/
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* @defgroup air_heating_using_exhaust_outlet_temperature_formula Outlet Exhaust Temperature Formula
|
|
93
|
+
* @ingroup air_heating_using_exhaust_calculator
|
|
94
|
+
* @brief Exhaust gas temperature after heat recovery.
|
|
95
|
+
* @details The outlet exhaust temperature is calculated by subtracting the temperature drop in the flue gas from the inlet flue gas temperature. The temperature drop is the ratio of heat recovered to the heat capacity of the flue gas.
|
|
96
|
+
*
|
|
97
|
+
* @formula{air-heating-exhaust-outlet-temperature; T_{outlet} = T_{flue} - \frac{Q_{recovered}}{C_{flue}}}
|
|
98
|
+
*
|
|
99
|
+
* @subheading{Symbols}
|
|
100
|
+
* @symtable
|
|
101
|
+
* @symrow{T_{outlet}; Outlet exhaust temperature; \degreeFahrenheit}
|
|
102
|
+
* @symrow{T_{flue}; Flue gas temperature; \degreeFahrenheit}
|
|
103
|
+
* @symrow{Q_{recovered}; Heat recovered by cold air; \btu\per\hour}
|
|
104
|
+
* @symrow{C_{flue}; Heat capacity of flue gas; \btu\per\degreeFahrenheit}
|
|
105
|
+
* @endsymtable
|
|
106
|
+
*/
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* @defgroup air_heating_using_exhaust_energy_savings_formula Annual Energy Savings Formula
|
|
110
|
+
* @ingroup air_heating_using_exhaust_calculator
|
|
111
|
+
* @brief Total energy savings over the operating period.
|
|
112
|
+
* @details The annual energy savings is calculated by multiplying the operating hours by the heat recovered, then dividing by the heater efficiency and converting from Btu to MMBtu. The heater efficiency accounts for the fact that the recovered heat reduces the fuel input needed by the heating system.
|
|
113
|
+
*
|
|
114
|
+
* @formula{air-heating-exhaust-energy-savings; E_{savings} = \frac{t_{op} \cdot Q_{recovered}}{\eta_{heater} \cdot 10^6}}
|
|
115
|
+
*
|
|
116
|
+
* @subheading{Symbols}
|
|
117
|
+
* @symtable
|
|
118
|
+
* @symrow{E_{savings}; Annual energy savings; \mega\btu\per\year}
|
|
119
|
+
* @symrow{t_{op}; Annual operating hours; \hour\per\year}
|
|
120
|
+
* @symrow{Q_{recovered}; Heat recovered by cold air; \btu\per\hour}
|
|
121
|
+
* @symrow{\eta_{heater}; Heater efficiency; \unitless}
|
|
122
|
+
* @symrow{10^6; Conversion factor from Btu to MMBtu - see @ref physics::conversions::kMMBtuToBtu; \btu\per\mega\btu}
|
|
123
|
+
* @endsymtable
|
|
124
|
+
*/
|
|
@@ -21,6 +21,9 @@
|
|
|
21
21
|
* @heading{Available Heat}
|
|
22
22
|
* @copydoc energy_input_exhaust_gas_available_heat_cpp_formula
|
|
23
23
|
*
|
|
24
|
+
* @heading{Base Heat}
|
|
25
|
+
* @copydoc energy_input_exhaust_gas_base_heat_cpp_formula
|
|
26
|
+
*
|
|
24
27
|
* @heading{Air Correction}
|
|
25
28
|
* @copydoc energy_input_exhaust_gas_air_correction_cpp_formula
|
|
26
29
|
*
|
|
@@ -78,19 +81,38 @@
|
|
|
78
81
|
* @details The available heat represents the fraction of input energy that remains available for useful work
|
|
79
82
|
* after accounting for exhaust gas temperature, excess air, and combustion air preheat.
|
|
80
83
|
*
|
|
81
|
-
* @formula{energy-input-exhaust-gas-available-heat-cpp; AH =
|
|
84
|
+
* @formula{energy-input-exhaust-gas-available-heat-cpp; AH = BH + AC + CAC}
|
|
82
85
|
*
|
|
83
86
|
* @subheading{Symbols}
|
|
84
87
|
* @symtable
|
|
85
88
|
* @symrow{AH; Available heat percent; \percent}
|
|
89
|
+
* @symrow{BH; Base heat percentage; \percent}
|
|
90
|
+
* @symrow{AC; Air correction; \percent}
|
|
91
|
+
* @symrow{CAC; Combustion air correction; \percent}
|
|
92
|
+
* @endsymtable
|
|
93
|
+
*/
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* @defgroup energy_input_exhaust_gas_base_heat_cpp_formula Base Heat Formula
|
|
98
|
+
* @ingroup energy_input_exhaust_gas_heat_loss_calculator
|
|
99
|
+
* @brief Base available heat before corrections.
|
|
100
|
+
* @details The base heat formula calculates the starting percentage of input heat available for useful work, before accounting for losses due to excess air and combustion air preheat.
|
|
101
|
+
* It is determined by subtracting the exhaust temperature loss from a model-specific base value (95%).
|
|
102
|
+
* This step isolates the effect of exhaust gas temperature on available heat, prior to applying air corrections.
|
|
103
|
+
*
|
|
104
|
+
* @formula{energy-input-exhaust-gas-base-heat-cpp; BH = 95 - 0.025 \cdot T_{exh}}
|
|
105
|
+
*
|
|
106
|
+
* @subheading{Symbols}
|
|
107
|
+
* @symtable
|
|
108
|
+
* @symrow{BH; Base heat percentage; \percent}
|
|
86
109
|
* @symrow{95; Base available heat at zero exhaust temperature; \percent}
|
|
87
110
|
* @symrow{0.025; Exhaust temperature loss coefficient; \percent\per\degreeFahrenheit}
|
|
88
111
|
* @symrow{T_{exh}; Exhaust gas temperature; \degreeFahrenheit}
|
|
89
|
-
* @symrow{AC; Air correction; \percent}
|
|
90
|
-
* @symrow{CAC; Combustion air correction; \percent}
|
|
91
112
|
* @endsymtable
|
|
92
113
|
*/
|
|
93
114
|
|
|
115
|
+
|
|
94
116
|
/**
|
|
95
117
|
* @defgroup energy_input_exhaust_gas_air_correction_cpp_formula Air Correction Formula
|
|
96
118
|
* @ingroup energy_input_exhaust_gas_heat_loss_calculator
|
package/docs/dox-content/calculators/processHeat/losses/solid_liquid_flue_gas_calculator.dox
CHANGED
|
@@ -90,14 +90,14 @@
|
|
|
90
90
|
* @par Symbols
|
|
91
91
|
* @symtable
|
|
92
92
|
* @symrow{h_{i}; Sensible heat of constituent i; \btu\per\pound}
|
|
93
|
-
* @symrow{m_{i}; Mass of constituent i; \pound\per\
|
|
93
|
+
* @symrow{m_{i}; Mass of constituent i; \pound\per\poundFuel}
|
|
94
94
|
* @symrow{Cp_{i}; Specific heat of constituent i - see @ref gas_constants; \btu\per\pound\degreeFahrenheit}
|
|
95
95
|
* @symrow{MW_{i}; Molecular weight of constituent i - see @ref gas_constants; \pound\per\lbmol}
|
|
96
96
|
* @symrow{T_{fg}; Flue gas temperature; \degreeFahrenheit}
|
|
97
97
|
* @symrow{T_{ref}; Reference temperature (ambient); \degreeFahrenheit}
|
|
98
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\
|
|
100
|
-
* @symrow{m_{H_2O,air}; Water from combustion air moisture; \pound\per\
|
|
99
|
+
* @symrow{m_{H_2O,fuel}; Water from fuel moisture and combustion; \pound\per\poundFuel}
|
|
100
|
+
* @symrow{m_{H_2O,air}; Water from combustion air moisture; \pound\per\poundFuel}
|
|
101
101
|
* @symrow{h_{fg}; Total sensible heat in flue gas; \btu\per\pound}
|
|
102
102
|
* @endsymtable
|
|
103
103
|
*
|
|
@@ -127,7 +127,7 @@
|
|
|
127
127
|
* @par Symbols
|
|
128
128
|
* @symtable
|
|
129
129
|
* @symrow{p_{H_2O}; Partial pressure (mole fraction) of water vapor; \unitless}
|
|
130
|
-
* @symrow{m_{i}; Mass of constituent i; \pound\per\
|
|
130
|
+
* @symrow{m_{i}; Mass of constituent i; \pound\per\poundFuel}
|
|
131
131
|
* @symrow{0.047636; H2O specific weight - see @ref gas_constants; \pound\per\cubicFoot}
|
|
132
132
|
* @symrow{0.116367; CO2 specific weight - see @ref gas_constants; \pound\per\cubicFoot}
|
|
133
133
|
* @symrow{0.074077; N2 specific weight - see @ref gas_constants; \pound\per\cubicFoot}
|
|
@@ -177,7 +177,7 @@
|
|
|
177
177
|
*
|
|
178
178
|
* @par Symbols
|
|
179
179
|
* @symtable
|
|
180
|
-
* @symrow{m_{i}; Mass of constituent i per unit fuel; \pound\per\
|
|
180
|
+
* @symrow{m_{i}; Mass of constituent i per unit fuel; \pound\per\poundFuel}
|
|
181
181
|
* @symrow{x_C; Carbon mass fraction in fuel; \unitless}
|
|
182
182
|
* @symrow{x_H; Hydrogen mass fraction in fuel; \unitless}
|
|
183
183
|
* @symrow{x_S; Sulfur mass fraction in fuel; \unitless}
|
|
@@ -185,10 +185,10 @@
|
|
|
185
185
|
* @symrow{k_{C\to CO_2}; Carbon to CO2 stoichiometric ratio - see @ref gas_constants; \pound\per\pound}
|
|
186
186
|
* @symrow{k_{H\to H_2O}; Hydrogen to H2O stoichiometric ratio - see @ref gas_constants; \pound\per\pound}
|
|
187
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\
|
|
188
|
+
* @symrow{M_{comb,air}; Total combustion air; \pound\per\poundFuel}
|
|
189
189
|
* @symrow{M_{air,moisture}; Moisture percent in combustion air; \percent}
|
|
190
|
-
* @symrow{O2_{s,air}; Stoichiometric O2 required; \pound\per\
|
|
191
|
-
* @symrow{N2_{s,air}; Stoichiometric N2 from air; \pound\per\
|
|
190
|
+
* @symrow{O2_{s,air}; Stoichiometric O2 required; \pound\per\poundFuel}
|
|
191
|
+
* @symrow{N2_{s,air}; Stoichiometric N2 from air; \pound\per\poundFuel}
|
|
192
192
|
* @symrow{EA; Excess air fraction; \unitless}
|
|
193
193
|
* @symrow{HV_{fuel}; Heating value of fuel; \btu\per\pound}
|
|
194
194
|
* @symrow{k_{HV,C}; Heating value of carbon; \btu\per\pound}
|
|
@@ -210,10 +210,10 @@
|
|
|
210
210
|
*
|
|
211
211
|
* @par Symbols
|
|
212
212
|
* @symtable
|
|
213
|
-
* @symrow{O2_{s,air}; Stoichiometric O2 required; \pound\per\
|
|
214
|
-
* @symrow{N2_{s,air}; Stoichiometric N2 from air; \pound\per\
|
|
215
|
-
* @symrow{M_{s,air}; Stoichiometric air; \pound\per\
|
|
216
|
-
* @symrow{M_{comb,air}; Total combustion air; \pound\per\
|
|
213
|
+
* @symrow{O2_{s,air}; Stoichiometric O2 required; \pound\per\poundFuel}
|
|
214
|
+
* @symrow{N2_{s,air}; Stoichiometric N2 from air; \pound\per\poundFuel}
|
|
215
|
+
* @symrow{M_{s,air}; Stoichiometric air; \pound\per\poundFuel}
|
|
216
|
+
* @symrow{M_{comb,air}; Total combustion air; \pound\per\poundFuel}
|
|
217
217
|
* @symrow{x_C; Carbon mass fraction in fuel; \unitless}
|
|
218
218
|
* @symrow{x_H; Hydrogen mass fraction in fuel; \unitless}
|
|
219
219
|
* @symrow{x_S; Sulfur mass fraction in fuel; \unitless}
|
|
@@ -246,7 +246,7 @@
|
|
|
246
246
|
* @symrow{b; Temperature coefficient for air specific heat; \btu\per\pound\degreeFahrenheit\squared}
|
|
247
247
|
* @symrow{T_{comb}; Combustion air temperature; \degreeFahrenheit}
|
|
248
248
|
* @symrow{h_{comb,air}; Sensible enthalpy of combustion air; \btu\per\pound}
|
|
249
|
-
* @symrow{M_{comb,air}; Mass of combustion air; \pound\per\
|
|
249
|
+
* @symrow{M_{comb,air}; Mass of combustion air; \pound\per\poundFuel}
|
|
250
250
|
* @symrow{\rho_{air}; Density of air; \pound\per\cubicFoot}
|
|
251
251
|
* @endsymtable
|
|
252
252
|
*
|