MEASUR-Tools-Suite v1.0.11
The MEASUR Tools Suite is a collection of industrial efficiency calculations written in C++ and with bindings for compilation to WebAssembly.
Loading...
Searching...
No Matches
Modules | Files | Namespaces | Classes | Functions
Steam Reduction Calculator

Detailed Description

This calculator estimates annual steam use, energy use, and associated cost for a set of steam reduction measures identified during an energy treasure hunt or steam efficiency assessment. It supports four measurement methods — flow meter, air mass flow, water mass flow, and offsheet (direct consumption) — and accumulates the results across all measures in a single pass.

The calculation follows these steps for each measure:

  1. Enthalpy Difference — Compute the enthalpy difference between the steam at operating conditions and the feedwater at atmospheric pressure
  2. Flow Meter — Compute annual steam use from a direct flow meter reading and operating hours
  3. Air Mass Flow — Derive annual energy use from air flow rate and temperature differential
  4. Water Mass Flow — Derive annual energy use from water flow rate and temperature differential
  5. Offsheet — Accept a direct energy consumption value (no flow-rate conversion required)
  6. Energy Cost — Multiply annual steam use or energy use by the utility cost rate
  7. Totals — Sum steam use, energy use, and energy cost across all measures

Relevant formulas and symbol definitions are documented below.

Enthalpy Difference


Enthalpy difference between steam at operating conditions and feedwater at atmospheric pressure.

The enthalpy of steam is determined from the specified pressure and thermodynamic variable using the IAPWS-IF97 steam properties model. The feedwater enthalpy is determined at atmospheric pressure (0.101325 MPaa) and the given feedwater temperature. The difference drives all subsequent energy calculations.

\begin{equation}\label{eq:steam-reduction-enthalpy} \Delta h = h_{steam}(P_{steam}, \theta_{steam}) - h_{feed}(P_{atm}, T_{feed})\end{equation}

Symbols
\(\Delta h\)Enthalpy difference between steam and feedwater \([\unit{ \kJ\per\kg}]\)
\(h_{steam}\)Specific enthalpy of steam at operating conditions \([\unit{ \kJ\per\kg}]\)
\(P_{steam}\)Steam pressure \([\unit{ \mega\pascal}]\)
\(\theta_{steam}\)Steam thermodynamic variable (temperature, enthalpy, entropy, or quality) \([\unit{ \unitless}]\)
\(h_{feed}\)Specific enthalpy of feedwater at atmospheric pressure \([\unit{ \kJ\per\kg}]\)
\(P_{atm}\)Atmospheric reference pressure (0.101325) \([\unit{ \mega\pascal}]\)
\(T_{feed}\)Feedwater temperature \([\unit{ \K}]\)

Flow Meter Method


Annual steam use and energy use derived from a direct flow meter reading.

The flow meter method uses the measured flow rate together with annual operating hours, a unit conversion factor, and system efficiency to calculate annual steam use. Energy use is then derived from the steam use and the enthalpy difference, adjusted by boiler efficiency.

\begin{equation}\label{eq:steam-reduction-flow-meter-steam} \dot{m}_{steam} = \dot{V}_{meter} \cdot t_{op} \cdot \frac{k_{units}}{\eta_{sys}}\end{equation}

\begin{equation}\label{eq:steam-reduction-flow-meter-energy} E_{use} = \Delta h \cdot \dot{m}_{steam} \cdot \frac{1}{\eta_{boiler}}\end{equation}

Symbols
\(\dot{m}_{steam}\)Annual steam use \([\unit{ \kg\per\year}]\)
\(\dot{V}_{meter}\)Flow meter reading \([\unit{ \kg\per\year}]\)
\(t_{op}\)Annual operating hours \([\unit{ \hour\per\year}]\)
\(k_{units}\)Quantity multiplier (number of identical units) \([\unit{ \unitless}]\)
\(\eta_{sys}\)System efficiency \([\unit{ \unitless}]\)
\(E_{use}\)Annual energy use \([\unit{ \kJ\per\year}]\)
\(\Delta h\)Enthalpy difference between steam and feedwater \([\unit{ \kJ\per\kg}]\)
\(\eta_{boiler}\)Boiler efficiency \([\unit{ \unitless}]\)

Air Mass Flow Method


Annual energy use derived from air flow rate and temperature differential.

The air flow rate is determined from either nameplate data or field measurements. When using nameplate data, the flow rate is taken directly from the equipment nameplate. When using measured data, the flow rate is computed as the product of the duct cross-sectional area and the measured air velocity. The heat flow rate is then computed from the air flow rate and the temperature rise across the heat exchanger using an empirical air heat capacity coefficient. Annual energy use is scaled by operating hours, units, system efficiency, and boiler efficiency. The constant \(k_{air} = 0.072381\) \([\unit{\kJ\minute\per\cubic\meter\per\hour\per\K}]\) is derived from the standard air heat capacity \(1.08\) \([\unit{\btu\hour\per\scf\per\hour\per\degreeR}]\).

Flow Rate

\begin{equation}\label{eq:steam-reduction-air-flow-measured} \dot{V}_{air} = v_{air} \cdot A_{duct}\end{equation}

Energy Use

\begin{equation}\label{eq:steam-reduction-air-heat-flow} \dot{Q}_{air} = k_{air} \cdot \dot{V}_{air} \cdot (T_{out} - T_{in})\end{equation}

\begin{equation}\label{eq:steam-reduction-air-energy} E_{use} = \frac{k_{units} \cdot \dot{Q}_{air} \cdot t_{op}}{\eta_{sys} \cdot \eta_{boiler}}\end{equation}

Symbols
\(\dot{V}_{air}\)Air flow rate \([\unit{ \cubic\meter\per\minute}]\)
\(v_{air}\)Measured air velocity in the duct \([\unit{ \m\per\minute}]\)
\(A_{duct}\)Cross-sectional area of the duct \([\unit{ \squareMeter}]\)
\(\dot{Q}_{air}\)Air heat flow rate \([\unit{ \kJ\per\hour}]\)
\(k_{air}\)Air heat capacity coefficient (0.072381) \([\unit{ \kJ\minute\per\cubic\meter\per\hour\per\K}]\)
\(T_{out}\)Outlet temperature \([\unit{ \degreeCelsius}]\)
\(T_{in}\)Inlet temperature \([\unit{ \degreeCelsius}]\)
\(E_{use}\)Annual energy use \([\unit{ \kJ\per\year}]\)
\(k_{units}\)Quantity multiplier (number of identical units) \([\unit{ \unitless}]\)
\(t_{op}\)Annual operating hours \([\unit{ \hour\per\year}]\)
\(\eta_{sys}\)System efficiency \([\unit{ \unitless}]\)
\(\eta_{boiler}\)Boiler efficiency \([\unit{ \unitless}]\)

Water Mass Flow Method


Annual energy use derived from nameplate water mass flow and temperature differential.

The heat flow rate is computed from the nameplate water flow rate and the temperature rise across the heat exchanger using an empirical water heat capacity coefficient. The constant \(k_{water} = 251045\) \([\unit{\kJ\per\cubic\meter\per\K\minute\per\hour}]\) is derived from \(8.34\ \text{lb/gal} \times 1\ \text{Btu/(lb·°F)} \times 60\ \text{min/hr}\).

\begin{equation}\label{eq:steam-reduction-water-heat-flow} \dot{Q}_{water} = k_{water} \cdot \dot{V}_{water} \cdot (T_{out} - T_{in})\end{equation}

\begin{equation}\label{eq:steam-reduction-water-energy} E_{use} = \frac{k_{units} \cdot \dot{Q}_{water} \cdot t_{op}}{\eta_{sys} \cdot \eta_{boiler}}\end{equation}

Symbols
\(\dot{Q}_{water}\)Water heat flow rate \([\unit{ \kJ\per\hour}]\)
\(k_{water}\)Water heat capacity coefficient (251045) \([\unit{ \kJ\per\cubic\meter\per\K\minute\per\hour}]\)
\(\dot{V}_{water}\)Nameplate water flow rate \([\unit{ \cubic\meter\per\minute}]\)
\(T_{out}\)Outlet temperature \([\unit{ \degreeCelsius}]\)
\(T_{in}\)Inlet temperature \([\unit{ \degreeCelsius}]\)
\(E_{use}\)Annual energy use \([\unit{ \kJ\per\year}]\)
\(k_{units}\)Quantity multiplier (number of identical units) \([\unit{ \unitless}]\)
\(t_{op}\)Annual operating hours \([\unit{ \hour\per\year}]\)
\(\eta_{sys}\)System efficiency \([\unit{ \unitless}]\)
\(\eta_{boiler}\)Boiler efficiency \([\unit{ \unitless}]\)

Offsheet Method


Annual energy use supplied as a direct consumption value.

The offsheet method accepts a pre-calculated or independently determined annual energy consumption value. No flow-rate conversion is applied; the consumption figure is used directly as the annual energy use.

\begin{equation}\label{eq:steam-reduction-offsheet} E_{use} = C_{offsheet}\end{equation}

Symbols
\(E_{use}\)Annual energy use \([\unit{ \kJ\per\year}]\)
\(C_{offsheet}\)Direct total annual energy consumption \([\unit{ \kJ\per\year}]\)

Steam Use from Energy Use


Annual steam use derived from annual energy use for the mass flow and offsheet methods.

For the air mass flow, water mass flow, and offsheet methods, steam use is back-calculated from the annual energy use using the enthalpy difference and boiler efficiency.

\begin{equation}\label{eq:steam-reduction-steam-use} \dot{m}_{steam} = \frac{E_{use}}{\Delta h} \cdot \eta_{boiler}\end{equation}

Symbols
\(\dot{m}_{steam}\)Annual steam use \([\unit{ \kg\per\hour}]\)
\(E_{use}\)Annual energy use \([\unit{ \kJ\per\year}]\)
\(\Delta h\)Enthalpy difference between steam and feedwater \([\unit{ \kJ\per\kg}]\)
\(\eta_{boiler}\)Boiler efficiency \([\unit{ \unitless}]\)

Energy Cost


Annual energy cost calculated from steam or energy use and the utility cost rate.

For steam utility, the cost is based on annual steam use. For natural gas or other utility types, the cost is based on annual energy use.

\begin{equation}\label{eq:steam-reduction-cost-steam} C_{energy} = \dot{m}_{steam} \cdot r_{utility} \quad \text{(steam utility)}\end{equation}

\begin{equation}\label{eq:steam-reduction-cost-energy} C_{energy} = E_{use} \cdot r_{utility} \quad \text{(natural gas or other utility)}\end{equation}

Symbols
\(C_{energy}\)Annual energy cost \([\unit{ \dollar\per\year}]\)
\(\dot{m}_{steam}\)Annual steam use \([\unit{ \kg\per\hour}]\)
\(E_{use}\)Annual energy use \([\unit{ \kJ\per\year}]\)
\(r_{utility}\)Utility cost rate (steam utility) \([\unit{ \dollar\per\kg}]\)
\(r_{utility}\)Utility cost rate (natural gas or other utility) \([\unit{ \dollar\per\kJ}]\)

Modules

 Enthalpy Difference Formula
 Enthalpy difference between steam at operating conditions and feedwater at atmospheric pressure.
 
 Flow Meter Method Formula
 Annual steam use and energy use derived from a direct flow meter reading.
 
 Air Mass Flow Method Formula
 Annual energy use derived from air flow rate and temperature differential.
 
 Water Mass Flow Method Formula
 Annual energy use derived from nameplate water mass flow and temperature differential.
 
 Offsheet Method Formula
 Annual energy use supplied as a direct consumption value.
 
 Steam Use from Energy Use Formula
 Annual steam use derived from annual energy use for the mass flow and offsheet methods.
 
 Energy Cost Formula
 Annual energy cost calculated from steam or energy use and the utility cost rate.
 

Files

file  steam_reduction.h
 Declares structs, enums, and functions for the Steam Reduction Calculator.Calculates annual steam use, energy use, and energy cost for steam reduction measures using multiple measurement methods.
 

Namespaces

namespace  steam_reduction
 Steam reduction calculations for treasure hunt measures.
 

Classes

struct  steam_reduction::FlowMeterMethodData
 Input data for the flow meter measurement method. More...
 
struct  steam_reduction::MassFlowNameplateData
 Input data for nameplate-based mass flow measurement. More...
 
struct  steam_reduction::MassFlowMeasuredData
 Input data for field-measured mass flow. More...
 
struct  steam_reduction::MassFlowMethodData
 Input data for the air or water mass flow measurement method. More...
 
struct  steam_reduction::OffsheetMethodData
 Input data for the offsheet (direct consumption) measurement method. More...
 
struct  steam_reduction::SteamReductionInput
 Input data for a single steam reduction measure. More...
 
struct  steam_reduction::SteamReductionOutput
 Output data for a steam reduction calculation. More...
 

Functions

SteamReductionOutput steam_reduction::steamReduction (const std::vector< SteamReductionInput > &input_vec)
 Calculates total annual steam use, energy use, and energy cost for a collection of steam reduction measures.
 
SteamReductionOutput steam_reduction::flowMeterReduction (const FlowMeterMethodData &data, int hours_per_year, double system_efficiency, int units, double boiler_efficiency, double change_enthalpy)
 Calculates steam use and energy use using the flow meter method.
 
SteamReductionOutput steam_reduction::airMassFlowReduction (const MassFlowMethodData &data, int hours_per_year, double system_efficiency, int units, double boiler_efficiency, double change_enthalpy)
 Calculates steam use and energy use using the air mass flow method.
 
SteamReductionOutput steam_reduction::waterMassFlowReduction (const MassFlowMethodData &data, int hours_per_year, double system_efficiency, int units, double boiler_efficiency, double change_enthalpy)
 Calculates steam use and energy use using the water mass flow method.
 
SteamReductionOutput steam_reduction::offsheetReduction (const OffsheetMethodData &data, double boiler_efficiency, double change_enthalpy)
 Calculates steam use and energy use using the offsheet (direct consumption) method.
 
double steam_reduction::calculateChangeEnthalpy (double pressure, SteamProperties::ThermodynamicQuantity steam_variable_option, double steam_variable, double feed_water_temperature)
 Calculates the enthalpy difference between steam at the given conditions and feedwater.
 

Function Documentation

◆ airMassFlowReduction()

SteamReductionOutput steam_reduction::airMassFlowReduction ( const MassFlowMethodData data,
int  hours_per_year,
double  system_efficiency,
int  units,
double  boiler_efficiency,
double  change_enthalpy 
)

Derives the heat flow rate from measured or nameplate air flow and the temperature differential, then scales to annual energy use.

See also
Air Mass Flow Method Formula
Parameters
[in]dataMassFlowMethodData with air flow and temperature data.
[in]hours_per_yearAnnual operating hours \([\unit{\hour\per\year}]\).
[in]system_efficiencySystem efficiency @unitless.
[in]unitsUnit conversion factor @unitless.
[in]boiler_efficiencyBoiler efficiency @unitless.
[in]change_enthalpyEnthalpy difference between steam and feedwater \([\unit{kJ\per\kg}]\).
Returns
SteamReductionOutput with steam use \([\unit{kg\per\hour}]\) and energy use \([\unit{kJ\per\year}]\).

◆ calculateChangeEnthalpy()

double steam_reduction::calculateChangeEnthalpy ( double  pressure,
SteamProperties::ThermodynamicQuantity  steam_variable_option,
double  steam_variable,
double  feed_water_temperature 
)

Computes steam enthalpy at the specified pressure and thermodynamic variable, and feedwater enthalpy at atmospheric pressure and the given feedwater temperature. Returns the difference.

See also
Enthalpy Difference Formula
Parameters
[in]pressureSteam pressure \([\unit{MPaa}]\).
[in]steam_variable_optionThermodynamic quantity type (temperature, enthalpy, entropy, or quality).
[in]steam_variableSteam thermodynamic variable value.
[in]feed_water_temperatureFeedwater temperature \([\unit{K}]\).
Returns
Enthalpy difference \([\unit{kJ\per\kg}]\).

◆ flowMeterReduction()

SteamReductionOutput steam_reduction::flowMeterReduction ( const FlowMeterMethodData data,
int  hours_per_year,
double  system_efficiency,
int  units,
double  boiler_efficiency,
double  change_enthalpy 
)

Uses the directly measured steam or water flow rate along with operating hours, units, system efficiency, and boiler efficiency to calculate annual steam use and energy use.

See also
Flow Meter Method Formula
Parameters
[in]dataFlowMeterMethodData with the flow rate.
[in]hours_per_yearAnnual operating hours \([\unit{\hour\per\year}]\).
[in]system_efficiencySystem efficiency @unitless.
[in]unitsUnit conversion factor @unitless.
[in]boiler_efficiencyBoiler efficiency @unitless.
[in]change_enthalpyEnthalpy difference between steam and feedwater \([\unit{kJ\per\kg}]\).
Returns
SteamReductionOutput with steam use \([\unit{kg\per\hour}]\) and energy use \([\unit{kJ\per\year}]\).

◆ offsheetReduction()

SteamReductionOutput steam_reduction::offsheetReduction ( const OffsheetMethodData data,
double  boiler_efficiency,
double  change_enthalpy 
)

Uses the supplied energy consumption value directly as annual energy use, then derives steam use from the enthalpy difference and boiler efficiency.

See also
Offsheet Method Formula
Parameters
[in]dataOffsheetMethodData with the total annual energy consumption \([\unit{kJ\per\year}]\).
[in]boiler_efficiencyBoiler efficiency @unitless.
[in]change_enthalpyEnthalpy difference between steam and feedwater \([\unit{kJ\per\kg}]\).
Returns
SteamReductionOutput with steam use \([\unit{kg\per\hour}]\) and energy use \([\unit{kJ\per\year}]\).

◆ steamReduction()

SteamReductionOutput steam_reduction::steamReduction ( const std::vector< SteamReductionInput > &  input_vec)

Iterates over input_vec, dispatches each measure to the appropriate measurement method helper, and accumulates the results.

See also
Steam Reduction Calculator
Energy Cost Formula
Parameters
[in]input_vecVector of SteamReductionInput structs, one per measure.
Returns
SteamReductionOutput with summed annual steam use \([\unit{kg\per\year}]\), energy use \([\unit{kJ\per\year}]\), and energy cost \([\unit{\dollar\per\year}]\).

◆ waterMassFlowReduction()

SteamReductionOutput steam_reduction::waterMassFlowReduction ( const MassFlowMethodData data,
int  hours_per_year,
double  system_efficiency,
int  units,
double  boiler_efficiency,
double  change_enthalpy 
)

Derives the heat flow rate from the nameplate water flow rate and the temperature differential, then scales to annual energy use.

See also
Water Mass Flow Method Formula
Parameters
[in]dataMassFlowMethodData with water flow and temperature data (nameplate).
[in]hours_per_yearAnnual operating hours \([\unit{\hour\per\year}]\).
[in]system_efficiencySystem efficiency @unitless.
[in]unitsUnit conversion factor @unitless.
[in]boiler_efficiencyBoiler efficiency @unitless.
[in]change_enthalpyEnthalpy difference between steam and feedwater \([\unit{kJ\per\kg}]\).
Returns
SteamReductionOutput with steam use \([\unit{kg\per\hour}]\) and energy use \([\unit{kJ\per\year}]\).