measur-tools-suite 1.0.14-rc.38 → 1.0.14-rc.40
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.js +1 -1
- package/bin/client.wasm +0 -0
- package/bin/package.json +1 -1
- package/docs/assets/water-heating-diagram.png +0 -0
- package/docs/dependencies/mathjax-config.js +5 -0
- package/docs/dox-content/calculators/processHeat/water_heating_using_exhaust_calculator.dox +115 -0
- package/docs/dox-content/calculators/steam/water_heating_using_flue_calculator.dox +235 -0
- package/docs/dox-content/calculators/steam/water_heating_using_steam_calculator.dox +187 -0
- package/package.json +1 -1
package/bin/client.wasm
CHANGED
|
Binary file
|
package/bin/package.json
CHANGED
|
Binary file
|
|
@@ -48,6 +48,8 @@ window.MathJax = {
|
|
|
48
48
|
ready() {
|
|
49
49
|
MathJax.startup.defaultReady();
|
|
50
50
|
MathJax.tex2mml(String.raw`
|
|
51
|
+
\DeclareSIUnit{\abs}{abs}
|
|
52
|
+
\DeclareSIUnit{\dollar}{$}
|
|
51
53
|
\DeclareSIUnit{\britishThermalUnit}{Btu}
|
|
52
54
|
\DeclareSIUnit{\btu}{Btu}
|
|
53
55
|
\DeclareSIUnit{\MMBtu}{MMBtu}
|
|
@@ -85,11 +87,14 @@ window.MathJax = {
|
|
|
85
87
|
\DeclareSIUnit{\standardCubicFeet}{scf}
|
|
86
88
|
\DeclareSIUnit{\scf}{scf}
|
|
87
89
|
\DeclareSIUnit{\cubicFoot}{ft^3}
|
|
90
|
+
\DeclareSIUnit{\normalCubicMeter}{Nm^3}
|
|
91
|
+
\DeclareSIUnit{\NmCubed}{Nm^3}
|
|
88
92
|
\DeclareSIUnit{\inchWaterColumn}{in\,WC}
|
|
89
93
|
\DeclareSIUnit{\kilowatt}{kW}
|
|
90
94
|
\DeclareSIUnit{\atm}{atm}
|
|
91
95
|
\DeclareSIUnit{\lbmol}{lbmol}
|
|
92
96
|
\DeclareSIUnit{\year}{yr}
|
|
97
|
+
\DeclareSIUnit{\ton}{ton}
|
|
93
98
|
`);
|
|
94
99
|
}
|
|
95
100
|
},
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @defgroup water_heating_using_exhaust_calculator Water Heating Using Exhaust Calculator
|
|
3
|
+
* @ingroup process_heat_calculators
|
|
4
|
+
* @brief Calculates energy savings from using exhaust gas (waste heat) to provide energy for an absorption chiller in place of a compressor.
|
|
5
|
+
* @details This calculator estimates the benefit of using waste heat from exhaust gas for water heating and chiller operation. The calculation uses available heat fraction, heat input, heat exchanger efficiency, chiller temperatures, and performance coefficients. The method is based on standard industrial practice for waste heat recovery in process heating and cooling systems.
|
|
6
|
+
*
|
|
7
|
+
* The calculation follows a top-down approach:
|
|
8
|
+
* 1. **Recovered Heat** - Calculate heat recovered from exhaust gas through the heat exchanger
|
|
9
|
+
* 2. **Hot Water Flow** - Determine hot water flow rate based on temperature difference
|
|
10
|
+
* 3. **Tons of Refrigeration** - Calculate refrigeration capacity using chiller COP
|
|
11
|
+
* 4. **Chiller Capacity** - Compute effective chiller capacity accounting for efficiency
|
|
12
|
+
* 5. **Electrical Energy** - Determine equivalent electrical energy saved from compressor operation
|
|
13
|
+
*
|
|
14
|
+
* Relevant formulas and symbol definitions are documented below.
|
|
15
|
+
*
|
|
16
|
+
* @heading{Recovered Heat}
|
|
17
|
+
* @copydoc water_heating_using_exhaust_recovered_heat_formula
|
|
18
|
+
*
|
|
19
|
+
* @heading{Hot Water Flow}
|
|
20
|
+
* @copydoc water_heating_using_exhaust_hot_water_flow_formula
|
|
21
|
+
*
|
|
22
|
+
* @heading{Tons of Refrigeration}
|
|
23
|
+
* @copydoc water_heating_using_exhaust_tons_refrigeration_formula
|
|
24
|
+
*
|
|
25
|
+
* @heading{Chiller Capacity}
|
|
26
|
+
* @copydoc water_heating_using_exhaust_chiller_capacity_formula
|
|
27
|
+
*
|
|
28
|
+
* @heading{Electrical Energy}
|
|
29
|
+
* @copydoc water_heating_using_exhaust_electrical_energy_formula
|
|
30
|
+
*/
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* @defgroup water_heating_using_exhaust_recovered_heat_formula Recovered Heat Formula
|
|
34
|
+
* @ingroup water_heating_using_exhaust_calculator
|
|
35
|
+
* @brief Heat recovered from exhaust gas through the heat exchanger.
|
|
36
|
+
* @details The recovered heat is calculated by multiplying the unavailable heat (waste heat) by the heat input and heat exchanger efficiency. The unavailable heat is the complement of the available heat fraction.
|
|
37
|
+
*
|
|
38
|
+
* @formula{water-heating-exhaust-recovered-heat; Q_{rec} = (1 - AH) \cdot Q_{in} \cdot \eta_{hx}}
|
|
39
|
+
*
|
|
40
|
+
* @subheading{Symbols}
|
|
41
|
+
* @symtable
|
|
42
|
+
* @symrow{Q_{rec}; Recovered heat; \btu\per\hour}
|
|
43
|
+
* @symrow{AH; Available heat fraction; \unitless}
|
|
44
|
+
* @symrow{Q_{in}; Heat input; \btu\per\hour}
|
|
45
|
+
* @symrow{\eta_{hx}; Heat exchanger efficiency; \unitless}
|
|
46
|
+
* @endsymtable
|
|
47
|
+
*/
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* @defgroup water_heating_using_exhaust_hot_water_flow_formula Hot Water Flow Formula
|
|
51
|
+
* @ingroup water_heating_using_exhaust_calculator
|
|
52
|
+
* @brief Hot water flow rate based on recovered heat and temperature difference.
|
|
53
|
+
* @details The hot water flow rate is calculated by dividing the recovered heat by the product of temperature difference and water density. Water density is @ref physics::us::kWaterDensity (8.335 lb/gal).
|
|
54
|
+
*
|
|
55
|
+
* @formula{water-heating-exhaust-hot-water-flow; \dot{m}_{water} = \frac{Q_{rec}}{\Delta T \cdot \rho_{water}}}
|
|
56
|
+
*
|
|
57
|
+
* @subheading{Symbols}
|
|
58
|
+
* @symtable
|
|
59
|
+
* @symrow{\dot{m}_{water}; Hot water flow rate; \gallon\per\hour}
|
|
60
|
+
* @symrow{Q_{rec}; Recovered heat; \btu\per\hour}
|
|
61
|
+
* @symrow{\Delta T; Temperature difference (chiller inlet - chiller outlet); \degreeFahrenheit}
|
|
62
|
+
* @symrow{\rho_{water}; Water density - see @ref physics::us::kWaterDensity; \pound\per\gallon}
|
|
63
|
+
* @endsymtable
|
|
64
|
+
*/
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* @defgroup water_heating_using_exhaust_tons_refrigeration_formula Tons of Refrigeration Formula
|
|
68
|
+
* @ingroup water_heating_using_exhaust_calculator
|
|
69
|
+
* @brief Refrigeration capacity using chiller coefficient of performance.
|
|
70
|
+
* @details The tons of refrigeration is calculated by multiplying the recovered heat by the chiller COP and dividing by the BTU per ton conversion factor. The conversion factor is @ref physics::conversions::kBtuPerTonRefrigeration (12,000 Btu/hr per Ton).
|
|
71
|
+
*
|
|
72
|
+
* @formula{water-heating-exhaust-tons-refrigeration; TR = \frac{Q_{rec} \cdot COP_{chiller}}{CF_{ton}}}
|
|
73
|
+
*
|
|
74
|
+
* @subheading{Symbols}
|
|
75
|
+
* @symtable
|
|
76
|
+
* @symrow{TR; Tons of refrigeration; tons}
|
|
77
|
+
* @symrow{Q_{rec}; Recovered heat; \btu\per\hour}
|
|
78
|
+
* @symrow{COP_{chiller}; Coefficient of performance for chiller; \unitless}
|
|
79
|
+
* @symrow{CF_{ton}; Btu per ton conversion factor (12,000) - see @ref physics::conversions::kBtuPerTonRefrigeration; \btu\per\hour\per\ton}
|
|
80
|
+
* @endsymtable
|
|
81
|
+
*/
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* @defgroup water_heating_using_exhaust_chiller_capacity_formula Chiller Capacity Formula
|
|
85
|
+
* @ingroup water_heating_using_exhaust_calculator
|
|
86
|
+
* @brief Effective chiller capacity accounting for efficiency.
|
|
87
|
+
* @details The chiller capacity is calculated by multiplying the tons of refrigeration by the chiller efficiency. This represents the actual cooling capacity available after accounting for system inefficiencies.
|
|
88
|
+
*
|
|
89
|
+
* @formula{water-heating-exhaust-chiller-capacity; C_{chiller} = TR \cdot \eta_{chiller}}
|
|
90
|
+
*
|
|
91
|
+
* @subheading{Symbols}
|
|
92
|
+
* @symtable
|
|
93
|
+
* @symrow{C_{chiller}; Chiller capacity; tons}
|
|
94
|
+
* @symrow{TR; Tons of refrigeration; tons}
|
|
95
|
+
* @symrow{\eta_{chiller}; Chiller efficiency; \unitless}
|
|
96
|
+
* @endsymtable
|
|
97
|
+
*/
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* @defgroup water_heating_using_exhaust_electrical_energy_formula Electrical Energy Formula
|
|
101
|
+
* @ingroup water_heating_using_exhaust_calculator
|
|
102
|
+
* @brief Equivalent electrical energy saved from compressor operation.
|
|
103
|
+
* @details The electrical energy is calculated by multiplying the recovered heat, chiller COP, and chiller efficiency, then dividing by the compressor COP. This represents the electrical energy that would have been required to achieve the same cooling effect using a compressor-based system.
|
|
104
|
+
*
|
|
105
|
+
* @formula{water-heating-exhaust-electrical-energy; E_{elec} = \frac{Q_{rec} \cdot COP_{chiller} \cdot \eta_{chiller}}{COP_{comp}}}
|
|
106
|
+
*
|
|
107
|
+
* @subheading{Symbols}
|
|
108
|
+
* @symtable
|
|
109
|
+
* @symrow{E_{elec}; Electrical energy; \btu\per\hour}
|
|
110
|
+
* @symrow{Q_{rec}; Recovered heat; \btu\per\hour}
|
|
111
|
+
* @symrow{COP_{chiller}; Coefficient of performance for chiller; \unitless}
|
|
112
|
+
* @symrow{\eta_{chiller}; Chiller efficiency; \unitless}
|
|
113
|
+
* @symrow{COP_{comp}; Coefficient of performance for compressor; \unitless}
|
|
114
|
+
* @endsymtable
|
|
115
|
+
*/
|
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @defgroup water_heating_using_flue_calculator Water Heating Using Flue Calculator
|
|
3
|
+
* @ingroup steam_system_assessments
|
|
4
|
+
* @brief Calculates energy and cost savings from using flue gas (waste heat) to preheat boiler feedwater using a non-condensing heat exchanger.
|
|
5
|
+
* @details This calculator estimates the benefit of using waste heat from flue gas to preheat boiler feedwater through a heat exchanger. The calculation uses flue gas properties, steam system parameters, heat exchanger efficiency, and operating costs. The method is based on standard industrial practice for waste heat recovery in boiler systems utilizing the effectiveness-NTU heat exchanger method.
|
|
6
|
+
*
|
|
7
|
+
* The calculation follows a top-down approach:
|
|
8
|
+
* 1. **Flue Gas Properties** - Determine flue gas mass flow, specific heat, and available heat from combustion
|
|
9
|
+
* 2. **Steam and Feedwater Properties** - Calculate steam and feedwater enthalpies and mass flows
|
|
10
|
+
* 3. **Heat Capacity Calculations** - Compute heat capacities for flue gas and feedwater streams
|
|
11
|
+
* 4. **Recovered Heat** - Calculate heat recovered using minimum heat capacity and heat exchanger efficiency
|
|
12
|
+
* 5. **Exit Temperatures** - Determine exit temperatures for both flue gas and feedwater streams
|
|
13
|
+
* 6. **Annual Energy and Cost Savings** - Calculate annual energy savings and cost benefits
|
|
14
|
+
*
|
|
15
|
+
* Relevant formulas and symbol definitions are documented below.
|
|
16
|
+
*
|
|
17
|
+
* @heading{Flue Gas Mass Flow}
|
|
18
|
+
* @copydoc water_heating_using_flue_gas_mass_flow_formula
|
|
19
|
+
*
|
|
20
|
+
* @heading{Steam Mass Flow}
|
|
21
|
+
* @copydoc water_heating_using_flue_steam_mass_flow_formula
|
|
22
|
+
*
|
|
23
|
+
* @heading{Feedwater Mass Flow}
|
|
24
|
+
* @copydoc water_heating_using_flue_feedwater_mass_flow_formula
|
|
25
|
+
*
|
|
26
|
+
* @heading{Flue Gas Heat Capacity}
|
|
27
|
+
* @copydoc water_heating_using_flue_gas_heat_capacity_formula
|
|
28
|
+
*
|
|
29
|
+
* @heading{Feedwater Heat Capacity}
|
|
30
|
+
* @copydoc water_heating_using_flue_feedwater_heat_capacity_formula
|
|
31
|
+
*
|
|
32
|
+
* @heading{Minimum Heat Capacity}
|
|
33
|
+
* @copydoc water_heating_using_flue_min_heat_capacity_formula
|
|
34
|
+
*
|
|
35
|
+
* @heading{Recovered Heat}
|
|
36
|
+
* @copydoc water_heating_using_flue_recovered_heat_formula
|
|
37
|
+
*
|
|
38
|
+
* @heading{Flue Gas Exit Temperature}
|
|
39
|
+
* @copydoc water_heating_using_flue_gas_exit_temp_formula
|
|
40
|
+
*
|
|
41
|
+
* @heading{Feedwater Exit Temperature}
|
|
42
|
+
* @copydoc water_heating_using_flue_feedwater_exit_temp_formula
|
|
43
|
+
*
|
|
44
|
+
* @heading{Annual Energy Savings}
|
|
45
|
+
* @copydoc water_heating_using_flue_annual_energy_savings_formula
|
|
46
|
+
*
|
|
47
|
+
* @heading{Annual Cost Savings}
|
|
48
|
+
* @copydoc water_heating_using_flue_annual_cost_savings_formula
|
|
49
|
+
*/
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* @defgroup water_heating_using_flue_gas_mass_flow_formula Flue Gas Mass Flow Formula
|
|
53
|
+
* @ingroup water_heating_using_flue_calculator
|
|
54
|
+
* @brief Flue gas mass flow rate based on boiler rating and fuel properties.
|
|
55
|
+
* @details The flue gas mass flow rate is calculated using the total generated flue gas (from gas composition and combustion analysis), boiler rating, and fuel higher heating value. The density conversion factor @ref physics::conversions::kLbPerFt3ToKgPerM3 (16.018463 kg/m³ per lb/ft³) is applied.
|
|
56
|
+
*
|
|
57
|
+
* @formula{water-heating-flue-gas-mass-flow; \dot{m}_{flue} = \rho_{conv} \cdot Q_{gen} \cdot R_{boiler} \cdot \frac{10^{6}}{HHV_{fuel}}}
|
|
58
|
+
*
|
|
59
|
+
* @subheading{Symbols}
|
|
60
|
+
* @symtable
|
|
61
|
+
* @symrow{\dot{m}_{flue}; Flue gas mass flow rate; \kilogram\per\hour}
|
|
62
|
+
* @symrow{\rho_{conv}; Density conversion factor - see @ref physics::conversions::kLbPerFt3ToKgPerM3; \kilogram\per\meter\cubed\per\pound\per\foot\cubed}
|
|
63
|
+
* @symrow{Q_{gen}; Total generated flue gas from combustion; \pound\per\foot\cubed}
|
|
64
|
+
* @symrow{R_{boiler}; Boiler rating; \giga\joule\per\hour}
|
|
65
|
+
* @symrow{HHV_{fuel}; Fuel higher heating value; \kilo\joule\per\normalCubicMeter}
|
|
66
|
+
* @endsymtable
|
|
67
|
+
*/
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* @defgroup water_heating_using_flue_steam_mass_flow_formula Steam Mass Flow Formula
|
|
71
|
+
* @ingroup water_heating_using_flue_calculator
|
|
72
|
+
* @brief Steam mass flow rate based on boiler rating and enthalpy difference.
|
|
73
|
+
* @details The steam mass flow rate is calculated using the boiler rating, available heat fraction, blowdown percentage, and the enthalpy difference between steam and feedwater. Available heat accounts for losses in the combustion process.
|
|
74
|
+
*
|
|
75
|
+
* @formula{water-heating-flue-steam-mass-flow; \dot{m}_{steam} = \frac{R_{boiler} \cdot 10^{6} \cdot AH \cdot (1 - BD)}{h_{steam} - h_{fw}}}
|
|
76
|
+
*
|
|
77
|
+
* @subheading{Symbols}
|
|
78
|
+
* @symtable
|
|
79
|
+
* @symrow{\dot{m}_{steam}; Steam mass flow rate; \kilogram\per\hour}
|
|
80
|
+
* @symrow{R_{boiler}; Boiler rating; \giga\joule\per\hour}
|
|
81
|
+
* @symrow{AH; Available heat fraction; \unitless}
|
|
82
|
+
* @symrow{BD; Blowdown percentage (fraction); \unitless}
|
|
83
|
+
* @symrow{h_{steam}; Steam specific enthalpy; \kilo\joule\per\kilogram}
|
|
84
|
+
* @symrow{h_{fw}; Feedwater specific enthalpy; \kilo\joule\per\kilogram}
|
|
85
|
+
* @endsymtable
|
|
86
|
+
*/
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* @defgroup water_heating_using_flue_feedwater_mass_flow_formula Feedwater Mass Flow Formula
|
|
90
|
+
* @ingroup water_heating_using_flue_calculator
|
|
91
|
+
* @brief Feedwater mass flow rate accounting for steam production and blowdown.
|
|
92
|
+
* @details The feedwater mass flow rate is calculated by adding the blowdown fraction to the steam mass flow. Blowdown is the water deliberately discharged from the boiler to control dissolved solids concentration.
|
|
93
|
+
*
|
|
94
|
+
* @formula{water-heating-flue-feedwater-mass-flow; \dot{m}_{fw} = \dot{m}_{steam} \cdot (1 + BD)}
|
|
95
|
+
*
|
|
96
|
+
* @subheading{Symbols}
|
|
97
|
+
* @symtable
|
|
98
|
+
* @symrow{\dot{m}_{fw}; Feedwater mass flow rate; \kilogram\per\hour}
|
|
99
|
+
* @symrow{\dot{m}_{steam}; Steam mass flow rate; \kilogram\per\hour}
|
|
100
|
+
* @symrow{BD; Blowdown percentage (fraction); \unitless}
|
|
101
|
+
* @endsymtable
|
|
102
|
+
*/
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* @defgroup water_heating_using_flue_gas_heat_capacity_formula Flue Gas Heat Capacity Formula
|
|
106
|
+
* @ingroup water_heating_using_flue_calculator
|
|
107
|
+
* @brief Heat capacity rate of the flue gas stream.
|
|
108
|
+
* @details The flue gas heat capacity rate is the product of the mass flow rate and specific heat. This represents the thermal capacity of the flue gas stream to transfer heat.
|
|
109
|
+
*
|
|
110
|
+
* @formula{water-heating-flue-gas-heat-capacity; \dot{C}_{flue} = C_{p,flue} \cdot \dot{m}_{flue}}
|
|
111
|
+
*
|
|
112
|
+
* @subheading{Symbols}
|
|
113
|
+
* @symtable
|
|
114
|
+
* @symrow{\dot{C}_{flue}; Flue gas heat capacity rate; \kilo\joule\per\hour\kelvin}
|
|
115
|
+
* @symrow{C_{p,flue}; Flue gas specific heat; \kilo\joule\per\kilogram\kelvin}
|
|
116
|
+
* @symrow{\dot{m}_{flue}; Flue gas mass flow rate; \kilogram\per\hour}
|
|
117
|
+
* @endsymtable
|
|
118
|
+
*/
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* @defgroup water_heating_using_flue_feedwater_heat_capacity_formula Feedwater Heat Capacity Formula
|
|
122
|
+
* @ingroup water_heating_using_flue_calculator
|
|
123
|
+
* @brief Heat capacity rate of the feedwater stream.
|
|
124
|
+
* @details The feedwater heat capacity rate is the product of the mass flow rate and specific heat. The feedwater specific heat is calculated using an empirical polynomial fit in @ref gas_constants::specificHeatFeedwater.
|
|
125
|
+
*
|
|
126
|
+
* @formula{water-heating-flue-feedwater-heat-capacity; \dot{C}_{fw} = C_{p,fw} \cdot \dot{m}_{fw}}
|
|
127
|
+
*
|
|
128
|
+
* @subheading{Symbols}
|
|
129
|
+
* @symtable
|
|
130
|
+
* @symrow{\dot{C}_{fw}; Feedwater heat capacity rate; \kilo\joule\per\hour\kelvin}
|
|
131
|
+
* @symrow{C_{p,fw}; Feedwater specific heat; \kilo\joule\per\kilogram\kelvin}
|
|
132
|
+
* @symrow{\dot{m}_{fw}; Feedwater mass flow rate; \kilogram\per\hour}
|
|
133
|
+
* @endsymtable
|
|
134
|
+
*/
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
* @defgroup water_heating_using_flue_min_heat_capacity_formula Minimum Heat Capacity Formula
|
|
138
|
+
* @ingroup water_heating_using_flue_calculator
|
|
139
|
+
* @brief Minimum heat capacity rate between the two streams.
|
|
140
|
+
* @details The minimum heat capacity rate determines the maximum possible heat transfer in a heat exchanger. It is the smaller of the flue gas and feedwater heat capacity rates.
|
|
141
|
+
*
|
|
142
|
+
* @formula{water-heating-flue-min-heat-capacity; \dot{C}_{min} = \min(\dot{C}_{flue}, \dot{C}_{fw})}
|
|
143
|
+
*
|
|
144
|
+
* @subheading{Symbols}
|
|
145
|
+
* @symtable
|
|
146
|
+
* @symrow{\dot{C}_{min}; Minimum heat capacity rate; \kilo\joule\per\hour\kelvin}
|
|
147
|
+
* @symrow{\dot{C}_{flue}; Flue gas heat capacity rate; \kilo\joule\per\hour\kelvin}
|
|
148
|
+
* @symrow{\dot{C}_{fw}; Feedwater heat capacity rate; \kilo\joule\per\hour\kelvin}
|
|
149
|
+
* @endsymtable
|
|
150
|
+
*/
|
|
151
|
+
|
|
152
|
+
/**
|
|
153
|
+
* @defgroup water_heating_using_flue_recovered_heat_formula Recovered Heat Formula
|
|
154
|
+
* @ingroup water_heating_using_flue_calculator
|
|
155
|
+
* @brief Heat recovered through the heat exchanger using effectiveness-NTU method.
|
|
156
|
+
* @details The recovered heat is calculated using the heat exchanger efficiency (effectiveness), minimum heat capacity rate, and temperature difference between the flue gas inlet and feedwater inlet. This represents the actual heat transferred from the flue gas to the feedwater.
|
|
157
|
+
*
|
|
158
|
+
* @formula{water-heating-flue-recovered-heat; Q_{rec} = \eta_{hx} \cdot \dot{C}_{min} \cdot (T_{flue,in} - T_{fw,in})}
|
|
159
|
+
*
|
|
160
|
+
* @subheading{Symbols}
|
|
161
|
+
* @symtable
|
|
162
|
+
* @symrow{Q_{rec}; Recovered heat; \kilo\joule\per\hour}
|
|
163
|
+
* @symrow{\eta_{hx}; Heat exchanger efficiency (effectiveness); \unitless}
|
|
164
|
+
* @symrow{\dot{C}_{min}; Minimum heat capacity rate; \kilo\joule\per\hour\kelvin}
|
|
165
|
+
* @symrow{T_{flue,in}; Flue gas inlet temperature; \kelvin}
|
|
166
|
+
* @symrow{T_{fw,in}; Feedwater inlet temperature; \kelvin}
|
|
167
|
+
* @endsymtable
|
|
168
|
+
*/
|
|
169
|
+
|
|
170
|
+
/**
|
|
171
|
+
* @defgroup water_heating_using_flue_gas_exit_temp_formula Flue Gas Exit Temperature Formula
|
|
172
|
+
* @ingroup water_heating_using_flue_calculator
|
|
173
|
+
* @brief Exit temperature of flue gas after heat exchanger.
|
|
174
|
+
* @details The flue gas exit temperature is calculated by subtracting the heat lost (recovered heat) divided by the flue gas heat capacity rate from the inlet temperature. This represents the cooled flue gas temperature leaving the heat exchanger.
|
|
175
|
+
*
|
|
176
|
+
* @formula{water-heating-flue-gas-exit-temp; T_{flue,out} = T_{flue,in} - \frac{Q_{rec}}{\dot{C}_{flue}}}
|
|
177
|
+
*
|
|
178
|
+
* @subheading{Symbols}
|
|
179
|
+
* @symtable
|
|
180
|
+
* @symrow{T_{flue,out}; Flue gas exit temperature; \kelvin}
|
|
181
|
+
* @symrow{T_{flue,in}; Flue gas inlet temperature; \kelvin}
|
|
182
|
+
* @symrow{Q_{rec}; Recovered heat; \kilo\joule\per\hour}
|
|
183
|
+
* @symrow{\dot{C}_{flue}; Flue gas heat capacity rate; \kilo\joule\per\hour\kelvin}
|
|
184
|
+
* @endsymtable
|
|
185
|
+
*/
|
|
186
|
+
|
|
187
|
+
/**
|
|
188
|
+
* @defgroup water_heating_using_flue_feedwater_exit_temp_formula Feedwater Exit Temperature Formula
|
|
189
|
+
* @ingroup water_heating_using_flue_calculator
|
|
190
|
+
* @brief Exit temperature of feedwater after heat exchanger.
|
|
191
|
+
* @details The feedwater exit temperature is calculated by adding the heat gained (recovered heat) divided by the feedwater heat capacity rate to the inlet temperature. This represents the preheated feedwater temperature leaving the heat exchanger.
|
|
192
|
+
*
|
|
193
|
+
* @formula{water-heating-flue-feedwater-exit-temp; T_{fw,out} = T_{fw,in} + \frac{Q_{rec}}{\dot{C}_{fw}}}
|
|
194
|
+
*
|
|
195
|
+
* @subheading{Symbols}
|
|
196
|
+
* @symtable
|
|
197
|
+
* @symrow{T_{fw,out}; Feedwater exit temperature; \kelvin}
|
|
198
|
+
* @symrow{T_{fw,in}; Feedwater inlet temperature; \kelvin}
|
|
199
|
+
* @symrow{Q_{rec}; Recovered heat; \kilo\joule\per\hour}
|
|
200
|
+
* @symrow{\dot{C}_{fw}; Feedwater heat capacity rate; \kilo\joule\per\hour\kelvin}
|
|
201
|
+
* @endsymtable
|
|
202
|
+
*/
|
|
203
|
+
|
|
204
|
+
/**
|
|
205
|
+
* @defgroup water_heating_using_flue_annual_energy_savings_formula Annual Energy Savings Formula
|
|
206
|
+
* @ingroup water_heating_using_flue_calculator
|
|
207
|
+
* @brief Annual energy savings from using waste heat recovery.
|
|
208
|
+
* @details The annual energy savings is calculated by dividing the recovered heat by the available heat fraction and multiplying by the operating hours. This is then converted to GJ/yr by dividing by 1,000,000. The division by available heat fraction accounts for the boiler efficiency to determine the fuel energy savings.
|
|
209
|
+
*
|
|
210
|
+
* @formula{water-heating-flue-annual-energy-savings; E_{annual} = \frac{Q_{rec}}{AH} \cdot t_{op} \cdot \frac{1}{10^{6}}}
|
|
211
|
+
*
|
|
212
|
+
* @subheading{Symbols}
|
|
213
|
+
* @symtable
|
|
214
|
+
* @symrow{E_{annual}; Annual energy savings; \giga\joule\per\year}
|
|
215
|
+
* @symrow{Q_{rec}; Recovered heat; \kilo\joule\per\hour}
|
|
216
|
+
* @symrow{AH; Available heat fraction; \unitless}
|
|
217
|
+
* @symrow{t_{op}; Operating hours; \hour\per\year}
|
|
218
|
+
* @endsymtable
|
|
219
|
+
*/
|
|
220
|
+
|
|
221
|
+
/**
|
|
222
|
+
* @defgroup water_heating_using_flue_annual_cost_savings_formula Annual Cost Savings Formula
|
|
223
|
+
* @ingroup water_heating_using_flue_calculator
|
|
224
|
+
* @brief Annual cost savings from using waste heat recovery.
|
|
225
|
+
* @details The annual cost savings is calculated by multiplying the annual energy savings by the fuel cost. This represents the monetary benefit of implementing the waste heat recovery system.
|
|
226
|
+
*
|
|
227
|
+
* @formula{water-heating-flue-annual-cost-savings; C_{annual} = E_{annual} \cdot C_{fuel}}
|
|
228
|
+
*
|
|
229
|
+
* @subheading{Symbols}
|
|
230
|
+
* @symtable
|
|
231
|
+
* @symrow{C_{annual}; Annual cost savings; \dollar\per\year}
|
|
232
|
+
* @symrow{E_{annual}; Annual energy savings; \giga\joule\per\year}
|
|
233
|
+
* @symrow{C_{fuel}; Fuel cost; \dollar\per\giga\joule}
|
|
234
|
+
* @endsymtable
|
|
235
|
+
*/
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @defgroup water_heating_using_steam_calculator Water Heating Using Steam Calculator
|
|
3
|
+
* @ingroup steam_system_assessments
|
|
4
|
+
* @brief Calculates energy and water savings from using vent steam to heat water through a steam-to-liquid heat exchanger.
|
|
5
|
+
* @details This calculator estimates the benefit of using vent steam for water heating applications. The calculation uses steam and water properties, flow rates, pressures, temperatures, and system efficiencies. The method is based on standard industrial practice for waste heat recovery in steam systems.
|
|
6
|
+
*
|
|
7
|
+
* @image html assets/water-heating-diagram.png "Water Heating Using Steam Diagram"*
|
|
8
|
+
*
|
|
9
|
+
* The calculation follows a top-down approach:
|
|
10
|
+
* 1. **Steam and Water Properties** - Determine steam enthalpies at inlet conditions and saturation properties, boiling point temperature, and makeup water enthalpy
|
|
11
|
+
* 2. **Outlet Water Temperature** - Calculate heated water outlet temperature based on energy balance
|
|
12
|
+
* 3. **Boiling Point Check** - Verify outlet water temperature is below safe boiling point threshold
|
|
13
|
+
* 4. **Bypass Steam Flow** - Calculate bypass steam flow if boiling point is exceeded (conditional)
|
|
14
|
+
* 5. **Heat Gain Rate** - Determine the rate of heat transfer to the water
|
|
15
|
+
* 6. **Energy Saved in Domestic Water Heater** - Calculate annual energy savings in the water heating system
|
|
16
|
+
* 7. **Energy Saved in Boiler** - Calculate annual energy savings from reduced boiler makeup water heating
|
|
17
|
+
* 8. **Water Saved** - Calculate annual water savings from condensate return
|
|
18
|
+
*
|
|
19
|
+
* Relevant formulas and symbol definitions are documented below.
|
|
20
|
+
*
|
|
21
|
+
* @heading{Outlet Water Temperature}
|
|
22
|
+
* @copydoc water_heating_using_steam_outlet_temp_formula
|
|
23
|
+
*
|
|
24
|
+
* @heading{Safe Boiling Point Temperature}
|
|
25
|
+
* @copydoc water_heating_using_steam_safe_boiling_point_formula
|
|
26
|
+
*
|
|
27
|
+
* @heading{Heat Gain Rate}
|
|
28
|
+
* @copydoc water_heating_using_steam_heat_gain_rate_formula
|
|
29
|
+
*
|
|
30
|
+
* @heading{Adjusted Heat Gain Rate (If Boiling Point Exceeded)}
|
|
31
|
+
* @copydoc water_heating_using_steam_adjusted_heat_gain_rate_formula
|
|
32
|
+
*
|
|
33
|
+
* @heading{Bypass Steam Flow}
|
|
34
|
+
* @copydoc water_heating_using_steam_bypass_steam_flow_formula
|
|
35
|
+
*
|
|
36
|
+
* @heading{Energy Saved in Domestic Water Heater}
|
|
37
|
+
* @copydoc water_heating_using_steam_energy_saved_dwh_formula
|
|
38
|
+
*
|
|
39
|
+
* @heading{Energy Saved in Boiler}
|
|
40
|
+
* @copydoc water_heating_using_steam_energy_saved_boiler_formula
|
|
41
|
+
*
|
|
42
|
+
* @heading{Water Saved}
|
|
43
|
+
* @copydoc water_heating_using_steam_water_saved_formula
|
|
44
|
+
*/
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* @defgroup water_heating_using_steam_outlet_temp_formula Outlet Water Temperature Formula
|
|
48
|
+
* @ingroup water_heating_using_steam_calculator
|
|
49
|
+
* @brief Outlet water temperature based on energy balance between steam and water.
|
|
50
|
+
* @details The outlet water temperature is calculated by adding the temperature rise to the inlet water temperature. The temperature rise is determined by the energy transferred from the condensing steam (enthalpy difference) divided by the heat capacity of the water. Water specific heat is @ref physics::si::kSpecificHeatWater (4.1796 kJ/(kg·K)).
|
|
51
|
+
*
|
|
52
|
+
* @formula{water-heating-steam-outlet-temp; T_{w,out} = T_{w,in} + \frac{(h_{s,in} - h_{s,out}) \cdot \dot{m}_{steam}}{C_{p,w} \cdot 1000 \cdot \dot{V}_{water}}}
|
|
53
|
+
*
|
|
54
|
+
* @subheading{Symbols}
|
|
55
|
+
* @symtable
|
|
56
|
+
* @symrow{T_{w,out}; Outlet water temperature; \kelvin}
|
|
57
|
+
* @symrow{T_{w,in}; Inlet water temperature; \kelvin}
|
|
58
|
+
* @symrow{h_{s,in}; Inlet steam specific enthalpy (saturated vapor); \kilo\joule\per\kilogram}
|
|
59
|
+
* @symrow{h_{s,out}; Outlet steam specific enthalpy (saturated liquid/condensate); \kilo\joule\per\kilogram}
|
|
60
|
+
* @symrow{\dot{m}_{steam}; Steam mass flow rate; \kilogram\per\hour}
|
|
61
|
+
* @symrow{C_{p,w}; Water specific heat - see @ref physics::si::kSpecificHeatWater; \kilo\joule\per\kilogram\kelvin}
|
|
62
|
+
* @symrow{\dot{V}_{water}; Water volumetric flow rate; \meter\cubed\per\hour}
|
|
63
|
+
* @endsymtable
|
|
64
|
+
*/
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* @defgroup water_heating_using_steam_safe_boiling_point_formula Safe Boiling Point Temperature Formula
|
|
68
|
+
* @ingroup water_heating_using_steam_calculator
|
|
69
|
+
* @brief Safe operating temperature threshold to prevent boiling.
|
|
70
|
+
* @details The safe boiling point temperature is calculated as 96.328% of the saturation temperature at the outlet water pressure. This safety margin prevents the outlet water from reaching the boiling point, which could cause operational issues in the heat exchanger. The saturation temperature is determined from steam tables based on the outlet water pressure.
|
|
71
|
+
*
|
|
72
|
+
* @formula{water-heating-steam-safe-boiling-point; T_{bp,safe} = 0.96328 \cdot T_{sat}(P_{w,out})}
|
|
73
|
+
*
|
|
74
|
+
* @subheading{Symbols}
|
|
75
|
+
* @symtable
|
|
76
|
+
* @symrow{T_{bp,safe}; Safe boiling point temperature; \kelvin}
|
|
77
|
+
* @symrow{T_{sat}; Saturation temperature at outlet pressure; \kelvin}
|
|
78
|
+
* @symrow{P_{w,out}; Outlet water pressure; \mega\pascal\abs}
|
|
79
|
+
* @endsymtable
|
|
80
|
+
*/
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* @defgroup water_heating_using_steam_heat_gain_rate_formula Heat Gain Rate Formula
|
|
84
|
+
* @ingroup water_heating_using_steam_calculator
|
|
85
|
+
* @brief Rate of heat transfer from steam to water (normal operation).
|
|
86
|
+
* @details The heat gain rate is calculated as the product of the steam mass flow rate and the enthalpy difference between inlet steam (saturated vapor) and outlet condensate (saturated liquid). This represents the latent heat of condensation transferred to the water. This formula is used when the outlet water temperature is below the safe boiling point.
|
|
87
|
+
*
|
|
88
|
+
* @formula{water-heating-steam-heat-gain-rate; \dot{Q}_{gain} = (h_{s,in} - h_{s,out}) \cdot \dot{m}_{steam}}
|
|
89
|
+
*
|
|
90
|
+
* @subheading{Symbols}
|
|
91
|
+
* @symtable
|
|
92
|
+
* @symrow{\dot{Q}_{gain}; Heat gain rate; \kilo\joule\per\hour}
|
|
93
|
+
* @symrow{h_{s,in}; Inlet steam specific enthalpy (saturated vapor); \kilo\joule\per\kilogram}
|
|
94
|
+
* @symrow{h_{s,out}; Outlet steam specific enthalpy (saturated liquid/condensate); \kilo\joule\per\kilogram}
|
|
95
|
+
* @symrow{\dot{m}_{steam}; Steam mass flow rate; \kilogram\per\hour}
|
|
96
|
+
* @endsymtable
|
|
97
|
+
*/
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* @defgroup water_heating_using_steam_adjusted_heat_gain_rate_formula Adjusted Heat Gain Rate Formula
|
|
101
|
+
* @ingroup water_heating_using_steam_calculator
|
|
102
|
+
* @brief Rate of heat transfer when boiling point is exceeded.
|
|
103
|
+
* @details If the calculated outlet water temperature exceeds the safe boiling point, the heat gain rate is recalculated based on the temperature rise limited to the safe boiling point. The adjusted heat gain rate uses the water heat capacity, temperature difference, and volumetric flow rate. The factor of 1000 converts the water density from kg/m³ to proper units.
|
|
104
|
+
*
|
|
105
|
+
* @formula{water-heating-steam-adjusted-heat-gain-rate; \dot{Q}_{gain,adj} = 1000 \cdot C_{p,w} \cdot (T_{bp,safe} - T_{w,in}) \cdot \dot{V}_{water}}
|
|
106
|
+
*
|
|
107
|
+
* @subheading{Symbols}
|
|
108
|
+
* @symtable
|
|
109
|
+
* @symrow{\dot{Q}_{gain,adj}; Adjusted heat gain rate; \kilo\joule\per\hour}
|
|
110
|
+
* @symrow{C_{p,w}; Water specific heat - see @ref physics::si::kSpecificHeatWater; \kilo\joule\per\kilogram\kelvin}
|
|
111
|
+
* @symrow{T_{bp,safe}; Safe boiling point temperature; \kelvin}
|
|
112
|
+
* @symrow{T_{w,in}; Inlet water temperature; \kelvin}
|
|
113
|
+
* @symrow{\dot{V}_{water}; Water volumetric flow rate; \meter\cubed\per\hour}
|
|
114
|
+
* @endsymtable
|
|
115
|
+
*/
|
|
116
|
+
|
|
117
|
+
/**
|
|
118
|
+
* @defgroup water_heating_using_steam_bypass_steam_flow_formula Bypass Steam Flow Formula
|
|
119
|
+
* @ingroup water_heating_using_steam_calculator
|
|
120
|
+
* @brief Excess steam flow that must be bypassed to prevent boiling.
|
|
121
|
+
* @details When the outlet water temperature would exceed the safe boiling point, some steam must be bypassed around the heat exchanger to limit the heat transfer. The bypass steam flow is calculated as the difference between the total steam flow and the steam flow required to achieve the safe boiling point temperature. This is only calculated when the boiling point warning flag is triggered.
|
|
122
|
+
*
|
|
123
|
+
* @formula{water-heating-steam-bypass-steam-flow; \dot{m}_{bypass} = \dot{m}_{steam} - \frac{\dot{Q}_{gain,adj}}{h_{s,in} - h_{s,out}}}
|
|
124
|
+
*
|
|
125
|
+
* @subheading{Symbols}
|
|
126
|
+
* @symtable
|
|
127
|
+
* @symrow{\dot{m}_{bypass}; Bypass steam flow; \kilogram\per\hour}
|
|
128
|
+
* @symrow{\dot{m}_{steam}; Total steam mass flow rate; \kilogram\per\hour}
|
|
129
|
+
* @symrow{\dot{Q}_{gain,adj}; Adjusted heat gain rate; \kilo\joule\per\hour}
|
|
130
|
+
* @symrow{h_{s,in}; Inlet steam specific enthalpy (saturated vapor); \kilo\joule\per\kilogram}
|
|
131
|
+
* @symrow{h_{s,out}; Outlet steam specific enthalpy (saturated liquid/condensate); \kilo\joule\per\kilogram}
|
|
132
|
+
* @endsymtable
|
|
133
|
+
*/
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* @defgroup water_heating_using_steam_energy_saved_dwh_formula Energy Saved in Domestic Water Heater Formula
|
|
137
|
+
* @ingroup water_heating_using_steam_calculator
|
|
138
|
+
* @brief Annual energy savings in the domestic water heating system.
|
|
139
|
+
* @details The energy saved in the domestic water heater (DWH) is calculated by multiplying the heat gain rate by the annual operating hours and dividing by the water heater efficiency. The division by efficiency accounts for the fuel energy that would have been required to provide the same amount of useful heat. This represents the primary energy savings from using waste steam instead of conventional water heating.
|
|
140
|
+
*
|
|
141
|
+
* @formula{water-heating-steam-energy-saved-dwh; E_{saved,DWH} = \frac{\dot{Q}_{gain} \cdot t_{op}}{\eta_{heater}}}
|
|
142
|
+
*
|
|
143
|
+
* @subheading{Symbols}
|
|
144
|
+
* @symtable
|
|
145
|
+
* @symrow{E_{saved,DWH}; Annual energy saved in domestic water heater; \kilo\joule\per\year}
|
|
146
|
+
* @symrow{\dot{Q}_{gain}; Heat gain rate; \kilo\joule\per\hour}
|
|
147
|
+
* @symrow{t_{op}; Operating hours per year; \hour\per\year}
|
|
148
|
+
* @symrow{\eta_{heater}; Water heater efficiency (fraction); \unitless}
|
|
149
|
+
* @endsymtable
|
|
150
|
+
*/
|
|
151
|
+
|
|
152
|
+
/**
|
|
153
|
+
* @defgroup water_heating_using_steam_energy_saved_boiler_formula Energy Saved in Boiler Formula
|
|
154
|
+
* @ingroup water_heating_using_steam_calculator
|
|
155
|
+
* @brief Annual energy savings in the boiler from condensate return.
|
|
156
|
+
* @details The energy saved in the boiler is calculated from the condensate returned to the boiler system. By returning hot condensate instead of using cold makeup water, less energy is needed to generate steam. The calculation multiplies the net steam flow (excluding bypass), the enthalpy difference between condensate and makeup water, and the operating hours, then divides by the boiler efficiency. The net steam flow accounts for the usable condensate that can be returned to the boiler.
|
|
157
|
+
*
|
|
158
|
+
* @formula{water-heating-steam-energy-saved-boiler; E_{saved,boiler} = \frac{(\dot{m}_{steam} - \dot{m}_{bypass}) \cdot (h_{s,out} - h_{makeup}) \cdot t_{op}}{\eta_{boiler}}}
|
|
159
|
+
*
|
|
160
|
+
* @subheading{Symbols}
|
|
161
|
+
* @symtable
|
|
162
|
+
* @symrow{E_{saved,boiler}; Annual energy saved in boiler; \kilo\joule\per\year}
|
|
163
|
+
* @symrow{\dot{m}_{steam}; Steam mass flow rate; \kilogram\per\hour}
|
|
164
|
+
* @symrow{\dot{m}_{bypass}; Bypass steam flow; \kilogram\per\hour}
|
|
165
|
+
* @symrow{h_{s,out}; Outlet steam specific enthalpy (saturated liquid/condensate); \kilo\joule\per\kilogram}
|
|
166
|
+
* @symrow{h_{makeup}; Makeup water specific enthalpy; \kilo\joule\per\kilogram}
|
|
167
|
+
* @symrow{t_{op}; Operating hours per year; \hour\per\year}
|
|
168
|
+
* @symrow{\eta_{boiler}; Boiler efficiency (fraction); \unitless}
|
|
169
|
+
* @endsymtable
|
|
170
|
+
*/
|
|
171
|
+
|
|
172
|
+
/**
|
|
173
|
+
* @defgroup water_heating_using_steam_water_saved_formula Water Saved Formula
|
|
174
|
+
* @ingroup water_heating_using_steam_calculator
|
|
175
|
+
* @brief Annual water savings from condensate return.
|
|
176
|
+
* @details The water saved is calculated from the condensate that can be returned to the boiler instead of being discharged. This is the net steam flow (excluding bypass) converted to volumetric flow and multiplied by the operating hours. The division by 1000 converts the mass flow (kg/hr) to volumetric flow (m³/hr) assuming water density of 1000 kg/m³. Returning condensate reduces the need for makeup water and provides both water conservation and energy savings benefits.
|
|
177
|
+
*
|
|
178
|
+
* @formula{water-heating-steam-water-saved; V_{saved} = \frac{(\dot{m}_{steam} - \dot{m}_{bypass}) \cdot t_{op}}{1000}}
|
|
179
|
+
*
|
|
180
|
+
* @subheading{Symbols}
|
|
181
|
+
* @symtable
|
|
182
|
+
* @symrow{V_{saved}; Annual water saved; \meter\cubed\per\year}
|
|
183
|
+
* @symrow{\dot{m}_{steam}; Steam mass flow rate; \kilogram\per\hour}
|
|
184
|
+
* @symrow{\dot{m}_{bypass}; Bypass steam flow; \kilogram\per\hour}
|
|
185
|
+
* @symrow{t_{op}; Operating hours per year; \hour\per\year}
|
|
186
|
+
* @endsymtable
|
|
187
|
+
*/
|