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
@@ -2,7 +2,16 @@
2
2
  * @defgroup liquid_load_charge_material_heat_required_calculator Liquid Load Charge Material Heat Required Calculator
3
3
  * @ingroup heat_loss_calculators
4
4
  * @brief Calculates total heat required for a liquid load/charge material.
5
- * @details The following formulas describe the calculation of total heat required for a liquid load/charge material, including sensible heat, latent heat, vaporization, reaction heat, 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 liquid load/charge material,
6
+ * including sensible heat, latent heat, vaporization, reaction heat, and additional heat. Each step is documented
7
+ * with its own formula and symbol table.
8
+ *
9
+ * The calculation follows a top-down approach:
10
+ * 1. **Total Heat Required** - Sum of liquid heating/vaporization, reaction heat, and additional heat
11
+ * 2. **Liquid Heating** - Heat required to raise temperature of liquid (varies based on vaporization)
12
+ * - Below vaporizing temp: Sensible heat only
13
+ * - Above vaporizing temp: Sensible heat to vaporizing + latent heat + sensible heat of vapor and remaining liquid
14
+ * 3. **Heat of Reaction** - Endothermic reaction heat if applicable
6
15
  *
7
16
  * @heading{Total Heat Required}
8
17
  * @copydoc liquid_load_charge_material_total_heat_required_cpp_formula
@@ -2,7 +2,15 @@
2
2
  * @defgroup opening_heat_loss_calculator Opening Heat Loss Calculator
3
3
  * @ingroup heat_loss_calculators
4
4
  * @brief Calculates heat losses from process heating equipment openings to the ambient.
5
- * @details This calculator estimates radiative heat loss through circular and rectangular openings in process heating equipment. It uses empirical polynomial approximations for the radiative view factor, based on the geometry of the opening and wall thickness. The calculator is suitable for modeling heat loss from doors, ports, and other openings, and is based on standard heat transfer references and ASHRAE research.
5
+ * @details This calculator estimates radiative heat loss through circular and rectangular openings in process heating
6
+ * equipment. It uses empirical polynomial approximations for the radiative view factor, based on the geometry of the
7
+ * opening and wall thickness. The calculator is suitable for modeling heat loss from doors, ports, and other openings,
8
+ * and is based on standard heat transfer references and ASHRAE research.
9
+ *
10
+ * The calculation follows a top-down approach:
11
+ * 1. **Total Opening Heat Loss** - Calculate radiative heat loss through opening based on Stefan-Boltzmann law
12
+ * 2. **View Factor** - Determine geometric view factor using empirical polynomial correlations
13
+ * 3. **Polynomial Coefficients** - Apply appropriate polynomial based on opening geometry and thickness ratio
6
14
  *
7
15
  * @heading{Total Opening Heat Loss}
8
16
  * @copydoc opening_total_heat_loss_formula
@@ -16,7 +24,8 @@
16
24
  * @heading{Symbols}
17
25
  * @copydoc opening_heat_loss_symbols
18
26
  *
19
- * @see Kays & Crawford, "Convective Heat and Mass Transfer"; Incropera & DeWitt, "Fundamentals of Heat and Mass Transfer"; Glicksman (ASHRAE Transactions, 1972); Perrys Chemical Engineers Handbook
27
+ * @see Kays & Crawford, "Convective Heat and Mass Transfer"; Incropera & DeWitt, "Fundamentals of Heat and Mass Transfer"; Glicksman (ASHRAE Transactions, 1972); Perry's Chemical Engineers' Handbook
28
+ * @see physics::us::kStefanBoltzmann for the Stefan-Boltzmann constant
20
29
  */
21
30
 
22
31
  /**
@@ -2,16 +2,30 @@
2
2
  * @defgroup slag_other_material_heat_loss_calculator Slag/Other Material Heat Loss Calculator
3
3
  * @ingroup heat_loss_calculators
4
4
  * @brief Calculates heat losses from slag and other waste materials in process heating equipment.
5
- * @details This calculator estimates the heat required to heat slag or other combustion byproducts in a furnace. It uses the discharged weight, specific heat, initial and final temperatures, and a correction factor. Assumes majority of slag is silicon and specific heat does not change with temperature. Glass structures in slag may significantly affect results. The calculation is relevant for electrotechnologies and does not account for melting or phase change. Relevant formulas are documented below.
5
+ * @details This calculator estimates the heat required to heat slag or other combustion byproducts in a furnace.
6
+ * It uses the discharged weight, specific heat, initial and final temperatures, and a correction factor. Assumes
7
+ * majority of slag is silicon and specific heat does not change with temperature. Glass structures in slag may
8
+ * significantly affect results. The calculation is relevant for electrotechnologies and does not account for
9
+ * melting or phase change.
6
10
  *
7
- * @heading{Heat Loss}
11
+ * The calculation follows a top-down approach:
12
+ * 1. **Total Heat Loss** - Calculate sensible heat absorbed by slag/waste material
13
+ *
14
+ * Relevant formulas are documented below.
15
+ *
16
+ * @heading{Total Heat Loss}
8
17
  * @copydoc slag_other_material_heat_loss_formula
9
18
  */
10
19
 
11
20
  /**
12
21
  * @defgroup slag_other_material_heat_loss_formula Slag/Other Material Heat Loss Formula
13
22
  * @ingroup slag_other_material_heat_loss_calculator
23
+ * @brief Total heat loss due to slag or other waste material heating.
24
+ * @details The heat loss is the sensible heat required to raise the temperature of the waste material from its
25
+ * inlet temperature to the outlet temperature, adjusted by a correction factor.
26
+ *
14
27
  * @formula{slag-other-material-heat-loss; Q = m \cdot c_p \cdot (T_\text{outlet} - T_\text{inlet}) \cdot f_\text{corr}}
28
+ *
15
29
  * @subheading{Symbols}
16
30
  * @symtable
17
31
  * @symrow{Q; Heat loss; \btu}
@@ -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 Stepwise algorithm for calculating process heat properties and available heat for solid/liquid flue gas materials.
6
- * @details
7
- * This page documents the engineering algorithms for solid and liquid fuel flue gas analysis, including:
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
- * - **Total Heat Loss & Available Heat:** Calculates the total heat loss and available heat from combustion by accounting for fuel/air composition, enthalpy of reactants and products, stoichiometry, flue gas constituents, and all major loss mechanisms (sensible, latent, unburned carbon, and ash).
10
- * - **Excess Air Determination:** Provides an iterative method to estimate the fraction of excess air supplied to the combustion process based on measured flue gas oxygen and fuel composition.
11
- * - **Flue Gas Oxygen Calculation:** Computes the expected oxygen content in the flue gas for a given excess air level and fuel composition, using stoichiometric and mass balance relationships.
12
- * - **Fuel Heating Value:** Calculates the higher heating value of a solid or liquid fuel as a weighted sum of elemental contributions (carbon, hydrogen, sulphur).
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 stepwise formulas, symbol tables, and engineering context for practical application in combustion system analysis, energy auditing, and process optimization.
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,231 +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 implemented in total heat loss of solid/liquid flue gas, including normalization, enthalpy calculations, stoichiometry, flue gas component analysis, and available heat computation. Each step is annotated with formulas and symbol tables for clarity.
34
- * @subheading{Step 1: Normalize Fuel Composition}
35
- * Normalize all fuel composition inputs to fractions:
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
- * @see solid_liquid_flue_gas_material_data_database
150
- */
151
-
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
265
+ */
266
+
152
267
  /**
153
- * @defgroup solid_liquid_flue_gas_excess_air_calc Solid/Liquid Flue Gas: Excess Air Calculation
268
+ * @defgroup solid_liquid_flue_gas_excess_air_calc Excess Air Calculation
154
269
  * @ingroup solid_liquid_flue_gas_material_calculator
155
- * @brief Algorithm for calculating excess air from flue gas O2 for solid/liquid fuels.
156
- * @details Implements an iterative algorithm to estimate excess air given measured flue gas O2 and fuel composition.
157
- *
158
- * @subheading{Step 1: Normalize Fuel Composition}
159
- * Normalize all fuel composition inputs to fractions:
160
- * @formula{slfgm-norm-fuel-ea; x_i = \frac{X_i}{\sum_j X_j}}
161
- * @symtable
162
- * @symrow{x_i; Normalized fraction of constituent i; \unitless}
163
- * @symrow{X_i; Percent of constituent i in fuel; \percent}
164
- * @endsymtable
165
- *
166
- * @subheading{Step 2: Initial Estimate of Excess Air}
167
- * Compute initial excess air estimate from flue gas O2:
168
- * @formula{slfgm-ea-initial; EA_0 = \frac{a \cdot O_2}{b - (c \cdot O_2)}}
169
- * where @math{a}, @math{b}, @math{c} are empirical constants.
170
- * @symtable
171
- * @symrow{EA_0; Initial excess air estimate; \unitless}
172
- * @symrow{O_2; Flue gas oxygen percent; \percent}
173
- * @endsymtable
174
- *
175
- * @subheading{Step 3: Iterative Refinement}
176
- * Iteratively refine excess air estimate:
177
- * @formula{slfgm-ea-iter; EA_{n+1} = EA_n \pm (EA_n \cdot 0.01)}
178
- * until calculated O2 matches measured O2 within tolerance.
179
- * @symtable
180
- * @symrow{EA_n; Excess air at iteration n; \unitless}
181
- * @endsymtable
182
- *
183
- * @note Uses calculateFlueGasO2 for O2 calculation in each iteration.
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
184
284
  */
185
285
 
186
286
  /**
187
- * @defgroup solid_liquid_flue_gas_o2_calc Solid/Liquid Flue Gas: Flue Gas O2 Calculation
287
+ * @defgroup solid_liquid_flue_gas_o2_calc Flue Gas O2 Calculation
188
288
  * @ingroup solid_liquid_flue_gas_material_calculator
189
- * @brief Algorithm for calculating flue gas O2 fraction from excess air and fuel composition.
190
- * @details Computes stoichiometric air, combustion air, and flue gas constituents to determine O2 fraction in flue gas.
191
- *
192
- * @subheading{Step 1: Normalize Fuel Composition}
193
- * Normalize all fuel composition inputs to fractions:
194
- * @formula{slfgm-norm-fuel-o2; x_i = \frac{X_i}{\sum_j X_j}}
195
- * @symtable
196
- * @symrow{x_i; Normalized fraction of constituent i; \unitless}
197
- * @symrow{X_i; Percent of constituent i in fuel; \percent}
198
- * @endsymtable
199
- *
200
- * @subheading{Step 2: Stoichiometric Air and Combustion Calculations}
201
- * Calculate stoichiometric O2 and N2 required:
202
- * @formula{slfgm-stoich-o2; 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}}
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
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
230
302
  */
231
303
 
232
304
  /**
233
- * @defgroup solid_liquid_flue_gas_hv_calc Solid/Liquid Flue Gas: Heating Value Calculation
305
+ * @defgroup solid_liquid_flue_gas_hv_calc Heating Value Calculation
234
306
  * @ingroup solid_liquid_flue_gas_material_calculator
235
- * @brief Algorithm for calculating heating value of solid/liquid fuel based on composition.
236
- * @details Computes the heating value as a weighted sum of elemental contributions.
237
- *
238
- * @subheading{Step 1: Normalize Fuel Composition}
239
- * Normalize all fuel composition inputs to fractions:
240
- * @formula{slfgm-norm-fuel-hv; x_i = \frac{X_i}{\sum_j X_j}}
241
- * @symtable
242
- * @symrow{x_i; Normalized fraction of constituent i; \unitless}
243
- * @symrow{X_i; Percent of constituent i in fuel; \percent}
244
- * @endsymtable
245
- *
246
- * @subheading{Step 2: Weighted Heating Value}
247
- * Calculate heating value as weighted sum:
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
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
254
330
  */