measur-tools-suite 1.0.14-rc.30 → 1.0.14-rc.32

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.
Files changed (23) hide show
  1. package/bin/client.js +1 -1
  2. package/bin/client.wasm +0 -0
  3. package/bin/package.json +1 -1
  4. package/docs/dox-content/calculators/atmosphere_heat_loss_calculator.dox +15 -6
  5. package/docs/dox-content/calculators/auxiliary_power_used_calculator.dox +16 -4
  6. package/docs/dox-content/calculators/energy_input_electric_arc_furnace_calculator.dox +35 -15
  7. package/docs/dox-content/calculators/energy_input_exhaust_gas_heat_loss_calculator.dox +83 -35
  8. package/docs/dox-content/calculators/exhaust_gas_heat_loss_electric_arc_furnace_calculator.dox +61 -29
  9. package/docs/dox-content/calculators/fixture_heat_loss_calculator.dox +13 -2
  10. package/docs/dox-content/calculators/gas_cooling_heat_loss_calculator.dox +18 -9
  11. package/docs/dox-content/calculators/gas_flue_gas_calculator.dox +294 -134
  12. package/docs/dox-content/calculators/gas_load_charge_material_heat_required_calculator.dox +9 -1
  13. package/docs/dox-content/calculators/leakage_heat_loss_calculator.dox +98 -17
  14. package/docs/dox-content/calculators/liquid_cooling_heat_loss_calculator.dox +17 -8
  15. package/docs/dox-content/calculators/liquid_load_charge_material_heat_required_calculator.dox +10 -1
  16. package/docs/dox-content/calculators/opening_heat_loss_calculator.dox +11 -2
  17. package/docs/dox-content/calculators/slag_other_material_heat_loss_calculator.dox +16 -2
  18. package/docs/dox-content/calculators/solid_liquid_flue_gas_calculator.dox +295 -219
  19. package/docs/dox-content/calculators/solid_load_charge_material_heat_required_calculator.dox +18 -4
  20. package/docs/dox-content/calculators/wall_heat_loss_calculator.dox +24 -5
  21. package/docs/dox-content/calculators/water_cooling_heat_loss_calculator.dox +26 -7
  22. package/docs/dox-content/physics/constants.dox +70 -0
  23. package/package.json +1 -1
@@ -1,140 +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 Stepwise algorithm for calculating process heat properties and available heat for flue gas materials.
5
- * @details This document presents the algorithm implemented in processHeatProperties (see gas_flue_gas_material.cpp), with each step annotated, formulae provided, and all symbols defined. The calculation covers excess air, flue gas O2, constituent Cp, generated product weights/volumes, enthalpy, and available heat. All variables use snake_case.
6
- *
7
- * @heading{Algorithm Steps}
8
- * @subheading{Step 1: Excess Air and Flue Gas O2}
9
- * If excess air fraction (EA) is provided calculate @math{O_2}:
10
- * @formula{gas-flue-gas-material-excess-air-cpp; O_2 = f_{O_2}(EA)}
11
- * Else calculate excess air (EA) given @math{O_2}:
12
- * @formula{gas-flue-gas-material-excess-air-cpp-2; EA = f_{EA}(O_2)}
13
- * @symtable
14
- * @symrow{EA; Excess air percent; \percent}
15
- * @symrow{f_{O_2}(EA); @ref gas_composition_estimate_excess_air_from_o2_cpp_formula; \unitless}
16
- * @symrow{O_2; Flue gas oxygen percentage; \percent}
17
- * @symrow{f_{EA}(O_2); @ref gas_composition_o2_percentage_from_excess_air_cpp_formula; \unitless}
18
- * @endsymtable
19
- *
20
- * @subheading{Step 2: Temperature Conversion}
21
- * Convert input temperatures to absolute (Rankine) for specific heat calculations:
22
- * @formula{gas-flue-gas-material-temp-conv-cpp; T_{abs} = T_{F} + 460}
23
- * @symtable
24
- * @symrow{T_{abs}; Absolute temperature; \degreeRankine}
25
- * @symrow{T_{F}; Temperature in Fahrenheit; \degreeFahrenheit}
26
- * @endsymtable
27
- *
28
- *
29
- * @subheading{Step 3: Constituent Specific Heats (Cp)}
30
- * For each major constituent, calculate Cp at both initial and final temperature:
31
- * @formula{gas-flue-gas-material-cp-o2-cpp; Cp_{O_2}(T) = 11.515 - \frac{172.0}{\sqrt{T}} + \frac{1530.0}{T}}
32
- * @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}}
33
- * @formula{gas-flue-gas-material-cp-h2o-cpp; Cp_{H_2O}(T) = 19.86 - \frac{597.0}{\sqrt{T}} + \frac{7500.0}{T}}
34
- * @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}}
35
- * where @math{T} is either the initial or final absolute temperature (Rankine).\n
36
- * @formula{gas-flue-gas-avg-cp; \overline{Cp} = \frac{Cp(T_{initial}) + Cp(T_{final})}{2}}
37
- * @symtable
38
- * @symrow{Cp_{i}(T); Specific heat of constituent @math{i} at temperature @math{T}; \btu\per\pound\degreeFahrenheit}
39
- * @symrow{T_{initial}, T_{final}; Initial and final absolute temperature (Rankine); \degreeRankine}
40
- * @symrow{\overline{Cp}; Average specific heat over temperature range; \btu\per\pound\degreeFahrenheit}
41
- * @endsymtable
42
- *
43
- * @subheading{Step 4: Mean Cp for Combustion Air}
44
- * Weighted average for O2, N2, H2O at initial and final temperatures.
45
- * Linear Cp coefficients for combustion air:
46
- * @formula{gas-flue-gas-material-cp-linear-cpp; Cp_{mean} = a + b \cdot T}
47
- * @symtable
48
- * @symrow{Cp_{mean}; Mean specific heat; \btu\per\pound\degreeFahrenheit}
49
- * @symrow{a, b; Linear coefficients; \unitless}
50
- * @symrow{T; Temperature; \degreeFahrenheit}
51
- * @endsymtable
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
54
+ * @see gas_constants for molecular weights, specific heat formulas, and stoichiometric constants
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
140
300
  */
@@ -2,7 +2,15 @@
2
2
  * @defgroup gas_load_charge_material_heat_required_calculator Gas Load Charge Material Heat Required Calculator
3
3
  * @ingroup heat_loss_calculators
4
4
  * @brief Calculates total heat required for a gas load/charge material.
5
- * @details The following formulas describe the calculation of total heat required for a gas load/charge material, including sensible heat for gas and vapor, heat of reaction, and additional heat. Each step is documented with its own formula and symbol table.
5
+ * @details The following formulas describe the calculation of total heat required for a gas load/charge material,
6
+ * including sensible heat for gas and vapor, heat of reaction, and additional heat. Each step is documented with
7
+ * its own formula and symbol table.
8
+ *
9
+ * The calculation follows a top-down approach:
10
+ * 1. **Total Heat Required** - Sum of sensible heat for gas, vapor, reaction heat, and additional heat
11
+ * 2. **Sensible Heat for Gas** - Heat required to raise temperature of non-vapor portion
12
+ * 3. **Sensible Heat for Vapor** - Heat required to raise temperature of vapor portion
13
+ * 4. **Heat of Reaction** - Endothermic reaction heat if applicable
6
14
  *
7
15
  * @heading{Total Heat Required}
8
16
  * @copydoc gas_load_charge_material_total_heat_required_cpp_formula
@@ -2,36 +2,117 @@
2
2
  * @defgroup leakage_heat_loss_calculator Leakage Heat Loss Calculator
3
3
  * @ingroup heat_loss_calculators
4
4
  * @brief Calculates heat losses from hot gas leakage in process heating equipment.
5
- * @details This calculator estimates the heat loss due to hot gases escaping from a furnace through openings other than the flue, under positive pressure conditions. The calculation uses furnace draft pressure, opening area, gas and ambient temperatures, a coefficient of discharge, specific gravity, and a correction factor. The method is based on standard industrial practice and is suitable for furnaces operating at positive pressure. Relevant formulas and symbol definitions are documented below.
5
+ * @details This calculator estimates the heat loss due to hot gases escaping from a furnace through openings
6
+ * other than the flue, under positive pressure conditions. The calculation uses furnace draft pressure, opening area,
7
+ * gas and ambient temperatures, a coefficient of discharge, specific gravity, and a correction factor. The method is
8
+ * based on standard industrial practice and is suitable for furnaces operating at positive pressure.
6
9
  *
7
- * @heading{Leakage Heat Loss}
10
+ * The calculation follows a top-down approach:
11
+ * 1. **Total Heat Loss** - Calculate heat carried away by leaking gases
12
+ * 2. **Standard Cubic Feet per Hour (SCFH)** - Convert actual flow to standard conditions
13
+ * 3. **Cubic Feet per Hour (CFH)** - Calculate leakage flow rate from pressure and opening area
14
+ * 4. **Specific Heat** - Compute temperature-dependent specific heat of gas
15
+ *
16
+ * Relevant formulas and symbol definitions are documented below.
17
+ *
18
+ * @heading{Total Leakage Heat Loss}
8
19
  * @copydoc leakage_heat_loss_formula
20
+ *
21
+ * @heading{Standard Cubic Feet per Hour}
22
+ * @copydoc leakage_scfh_formula
23
+ *
24
+ * @heading{Cubic Feet per Hour}
25
+ * @copydoc leakage_cfh_formula
26
+ *
27
+ * @heading{Specific Heat Calculations}
28
+ * @copydoc leakage_specific_heat_formulas
9
29
  */
10
30
 
11
31
  /**
12
32
  * @defgroup leakage_heat_loss_formula Leakage Heat Loss Formula
13
33
  * @ingroup leakage_heat_loss_calculator
14
- * @formula{leakage-heat-loss; Q = c_{psv} \cdot \text{SCFH} \cdot (T_{\text{leak}} - T_{\text{amb}})}
34
+ * @brief Total heat loss due to hot gas leakage.
35
+ * @details The heat loss is calculated by multiplying the specific heat at average temperature, the leakage flow rate
36
+ * at standard conditions, and the temperature difference between leaking gas and ambient.
37
+ *
38
+ * @formula{leakage-heat-loss; Q = c_{psv} \cdot \text{SCFH} \cdot (T_{\text{leak}} - T_{\text{amb}})}
39
+ *
40
+ * @subheading{Symbols}
41
+ * @symtable
42
+ * @symrow{Q; Heat loss; \btu\per\hour}
43
+ * @symrow{c_{psv}; Specific heat of gas at average temperature; \btu\per\cubicFoot\degreeFahrenheit}
44
+ * @symrow{\text{SCFH}; Standard cubic feet per hour of leakage; \cubicFoot\per\hour}
45
+ * @symrow{T_{\text{leak}}; Temperature of leaking gases; \degreeFahrenheit}
46
+ * @symrow{T_{\text{amb}}; Ambient temperature; \degreeFahrenheit}
47
+ * @endsymtable
48
+ */
49
+
50
+ /**
51
+ * @defgroup leakage_scfh_formula Standard Cubic Feet per Hour Formula
52
+ * @ingroup leakage_heat_loss_calculator
53
+ * @brief Conversion of actual flow rate to standard conditions.
54
+ * @details The standard cubic feet per hour is calculated by adjusting the actual volumetric flow rate for
55
+ * temperature to obtain flow at standard conditions (60°F, 1 atm).
56
+ *
57
+ * @formula{leakage-scfh; \text{SCFH} = \text{CFH} \cdot \sqrt{\frac{520}{460 + T_{\text{leak}}}}}
58
+ *
59
+ * @subheading{Symbols}
60
+ * @symtable
61
+ * @symrow{\text{SCFH}; Standard cubic feet per hour of leakage; \cubicFoot\per\hour}
62
+ * @symrow{\text{CFH}; Volumetric flow rate of leakage; \cubicFoot\per\hour}
63
+ * @symrow{520; Standard gas temperature - see @ref physics::us::kStandardGasTemperatureR; \degreeRankine}
64
+ * @symrow{460; Fahrenheit to Rankine offset - see @ref physics::conversions::kFahrenheitToRankineOffset; \degreeRankine}
65
+ * @symrow{T_{\text{leak}}; Temperature of leaking gases; \degreeFahrenheit}
66
+ * @endsymtable
67
+ */
68
+
69
+ /**
70
+ * @defgroup leakage_cfh_formula Cubic Feet per Hour Formula
71
+ * @ingroup leakage_heat_loss_calculator
72
+ * @brief Leakage flow rate from opening area and pressure.
73
+ * @details The volumetric flow rate is calculated from the opening area, furnace draft pressure, specific gravity of gas,
74
+ * coefficient of discharge, and correction factor using standard orifice flow equations.
75
+ *
76
+ * @formula{leakage-cfh; \text{CFH} = 1655 \cdot C_{d} \cdot f_{\text{corr}} \cdot (A \cdot 144) \cdot \sqrt{\frac{P}{SG}}}
77
+ *
78
+ * @subheading{Symbols}
79
+ * @symtable
80
+ * @symrow{\text{CFH}; Volumetric flow rate of leakage; \cubicFoot\per\hour}
81
+ * @symrow{1655; Flow constant for orifice equation; \unitless}
82
+ * @symrow{C_{d}; Coefficient of discharge or flow coefficient; \unitless}
83
+ * @symrow{f_{\text{corr}}; Correction factor; \unitless}
84
+ * @symrow{A; Opening area; \foot\squared}
85
+ * @symrow{144; Conversion factor (square feet to square inches); \inch\squared\per\foot\squared}
86
+ * @symrow{P; Furnace draft pressure; \inchWaterColumn}
87
+ * @symrow{SG; Specific gravity of gas; \unitless}
88
+ * @endsymtable
89
+ *
90
+ * @note The coefficient of discharge depends on the angle of convergence in degrees. (Source: Eclipse Combustion Engineering Guide, 1986, Chapter 1, Page #6) [PDF link](https://www.mathscinotes.com/wp-content/uploads/2014/12/Eclipse-Engineering-Guide.pdf)
91
+ */
92
+
93
+ /**
94
+ * @defgroup leakage_specific_heat_formulas Specific Heat Calculations
95
+ * @ingroup leakage_heat_loss_calculator
96
+ * @brief Temperature-dependent specific heat formulas.
97
+ * @details The specific heat of the gas varies with temperature and is calculated using polynomial correlations.
98
+ * The specific heat per standard volume is derived from the mass-based specific heat.
99
+ *
100
+ * @subheading{Specific Heat per Standard Volume}
15
101
  * @formula{leakage-cpsv; c_{psv} = 0.0793 \cdot c_{pm}}
102
+ *
103
+ * @subheading{Mass-Based Specific Heat}
16
104
  * @formula{leakage-cpm; c_{pm} = 0.2371 - 9 \times 10^{-6} \cdot T_{\text{midpoint}} + 7 \times 10^{-8} \cdot T_{\text{midpoint}}^2 - 3 \times 10^{-11} \cdot T_{\text{midpoint}}^3}
105
+ *
106
+ * @subheading{Midpoint Temperature}
17
107
  * @formula{leakage-midpoint; T_{\text{midpoint}} = \frac{T_{\text{leak}} + T_{\text{amb}}}{2}}
18
- * @formula{leakage-scfh; \text{SCFH} = \text{CFH} \cdot \sqrt{\frac{520}{460 + T_{\text{leak}}}}}
19
- * @formula{leakage-cfh; \text{CFH} = 1655 \cdot C_{d} \cdot f_{\text{corr}} \cdot (A \cdot 144) \cdot \sqrt{\frac{P}{SG}}}
20
- * @subheading{Where:}
108
+ *
109
+ * @subheading{Symbols}
21
110
  * @symtable
22
- * @symrow{Q; Heat loss; \btu\per\hour}
23
111
  * @symrow{c_{psv}; Specific heat of gas at average temperature; \btu\per\cubicFoot\degreeFahrenheit}
24
112
  * @symrow{c_{pm}; Specific heat of gas at midpoint temperature; \btu\per\pound\degreeFahrenheit}
25
113
  * @symrow{T_{\text{midpoint}}; Midpoint temperature; \degreeFahrenheit}
26
- * @symrow{T_{\text{amb}}; Ambient temperature; \degreeFahrenheit}
27
114
  * @symrow{T_{\text{leak}}; Temperature of leaking gases; \degreeFahrenheit}
28
- * @symrow{\text{SCFH}; Standard cubic feet per hour of leakage; \cubicFoot\per\hour}
29
- * @symrow{SG; Specific gravity of gas; \unitless}
30
- * @symrow{P; Furnace draft pressure; \inchWaterColumn}
31
- * @symrow{A; Opening area; \foot\squared}
32
- * @symrow{f_{\text{corr}}; Correction factor; \unitless}
33
- * @symrow{C_{d}; Coefficient of discharge or flow coefficient; \unitless}
34
- * @symrow{\text{CFH}; Volumetric flow rate of leakage; \cubicFoot\per\hour}
115
+ * @symrow{T_{\text{amb}}; Ambient temperature; \degreeFahrenheit}
116
+ * @symrow{0.0793; Conversion factor from mass-based to volume-based specific heat; \unitless}
35
117
  * @endsymtable
36
- * @note The coefficient of discharge depends on the angle of convergence in degrees. (Source: Eclipse Combustion Engineering Guide, 1986, Chapter 1, Page #6) [PDF link](https://www.mathscinotes.com/wp-content/uploads/2014/12/Eclipse-Engineering-Guide.pdf)
37
- */
118
+ */
@@ -2,31 +2,40 @@
2
2
  * @defgroup liquid_cooling_heat_loss_calculator Liquid Cooling Heat Loss Calculator
3
3
  * @ingroup heat_loss_calculators
4
4
  * @brief Calculates heat loss due to liquid cooling in process heating equipment.
5
- * @details This calculator estimates the heat removed by liquid cooling systems, using flow rate, liquid density, inlet and outlet temperatures, specific heat, and a correction factor. The algorithm is suitable for modeling cooling losses in industrial furnaces, ovens, and similar systems, for liquids other than water.
5
+ * @details This calculator estimates the heat removed by liquid cooling systems, using flow rate, liquid density,
6
+ * inlet and outlet temperatures, specific heat, and a correction factor. The algorithm is suitable for modeling
7
+ * cooling losses in industrial furnaces, ovens, and similar systems, for liquids other than water.
8
+ *
9
+ * The calculation follows a top-down approach:
10
+ * 1. **Total Heat Loss** - Calculate heat removed by liquid based on flow rate, density, specific heat, and temperature rise
11
+ *
6
12
  * @note If the cooling liquid is water, use the @ref water_cooling_heat_loss_calculator instead for more accurate water property calculations.
7
13
  *
8
14
  * @heading{Total Liquid Cooling Heat Loss}
9
15
  * @copydoc liquid_cooling_heat_loss_formula
10
16
  *
11
- *
12
17
  * @note For heat losses due to gas cooling see @ref gas_cooling_heat_loss_calculator.
13
- *
14
- * @see Perry’s Chemical Engineers’ Handbook; NIST Engineering Statistics
18
+ * @see Perry's Chemical Engineers' Handbook; NIST Engineering Statistics
19
+ * @see physics::conversions::kMinutesPerHour for time conversion
15
20
  */
16
21
 
17
22
  /**
18
23
  * @defgroup liquid_cooling_heat_loss_formula Liquid Cooling Heat Loss Formula
19
24
  * @ingroup liquid_cooling_heat_loss_calculator
25
+ * @brief Total heat loss due to liquid cooling.
26
+ * @details The heat loss is calculated by multiplying the liquid flow rate, density, specific heat, temperature rise,
27
+ * and correction factor. The factor of 60 converts from gallons per minute to gallons per hour.
28
+ *
20
29
  * @formula{liquid-cooling-heat-loss; Q_\text{cool} = FR \cdot 60 \cdot \rho_{l,lb/ft^3} \cdot SH \cdot \Delta T \cdot CF}
30
+ *
21
31
  * @subheading{Symbols}
22
32
  * @symtable
23
33
  * @symrow{Q_\text{cool}; Liquid cooling heat loss; \btu\per\hour}
24
34
  * @symrow{FR; Liquid flow rate; \gallon\per\minute}
25
- * @symrow{60; Minutes per hour (GPM to GPH conversion); \unitless}
26
- * @symrow{\rho_{l,lb/ft^3}; Liquid density; \pound\per\cubic\foot}
27
- * @symrow{SH; Specific heat of liquid; \btu\per\pound\per\degreeFahrenheit}
35
+ * @symrow{60; Minutes per hour (GPM to GPH conversion) - see @ref physics::conversions::kMinutesPerHour; \unitless}
36
+ * @symrow{\rho_{l,lb/ft^3}; Liquid density; \pound\per\cubicFoot}
37
+ * @symrow{SH; Specific heat of liquid; \btu\per\pound\degreeFahrenheit}
28
38
  * @symrow{\Delta T; Temperature rise (outlet - inlet); \degreeFahrenheit}
29
39
  * @symrow{CF; Correction factor; \unitless}
30
40
  * @endsymtable
31
- * @details The formula multiplies flow rate (GPM), minutes per hour, liquid density, specific heat, temperature rise, and correction factor to obtain total heat loss.
32
41
  */