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.wasm CHANGED
Binary file
package/bin/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "measur-tools-suite",
3
- "version": "1.0.14-rc.38",
3
+ "version": "1.0.14-rc.40",
4
4
  "engines": {
5
5
  "node": "20.19.4",
6
6
  "npm": "10.8.2"
@@ -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
+ */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "measur-tools-suite",
3
- "version": "1.0.14-rc.38",
3
+ "version": "1.0.14-rc.40",
4
4
  "engines": {
5
5
  "node": "20.19.4",
6
6
  "npm": "10.8.2"