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
Classes | Enumerations | Functions
compressed_air_leak_survey Namespace Reference

Aggregated compressed air leak survey calculation. More...

Classes

struct  Input
 Input parameters for one leak entry in a compressed air leak survey. More...
 
struct  Result
 Aggregate result of a compressed air leak survey. More...
 

Enumerations

enum class  MeasurementMethod : int { kEstimate = 0 , kDecibels = 1 , kBag = 2 , kOrifice = 3 }
 
enum class  UtilityType : int { kCompressedAir = 0 , kElectricity = 1 }
 

Functions

Result calculate (const std::vector< Input > &inputs)
 Calculates the aggregate energy cost and flow impact of a compressed air leak survey.
 

Detailed Description

This namespace provides one function that processes a list of individual compressed air leak measurements and returns the combined annual energy and flow impact for the entire survey.

Each leak entry in the survey selects one of four flow-rate measurement methods (estimate, decibels, bag, or orifice) and one of two cost basis modes (compressed air utility or electricity). The calculator routes each leak to the appropriate sub-calculator, applies a leak-count multiplier, and accumulates the results across all entries.

See also
Compressed Air Leak Survey Calculator

Enumeration Type Documentation

◆ MeasurementMethod

Enumerator
kEstimate 

Visual and audible leak estimate — see estimate_method.

kDecibels 

Ultrasonic decibel measurement — see decibels_method.

kBag 

Bag fill-time measurement — see bag_method.

kOrifice 

Orifice pressure and geometry — see orifice_method.

Definition at line 52 of file compressed_air_leak_survey.h.

◆ UtilityType

enum class compressed_air_leak_survey::UtilityType : int
strong
Enumerator
kCompressedAir 

Cost basis: compressed air utility rate \([\unit{\dollar\per\cubic\foot}]\).

kElectricity 

Cost basis: electricity rate \([\unit{\dollar\per\kilo\watt\hour}]\).

Definition at line 64 of file compressed_air_leak_survey.h.

Function Documentation

◆ calculate()

Result compressed_air_leak_survey::calculate ( const std::vector< Input > &  inputs)

Iterates over each Input in the survey, routes the entry to the appropriate measurement method sub-calculator, applies the leak-count multiplier (units), computes the utility cost for the selected cost basis, and accumulates the results into a single Result.

The sub-calculators are called as-documented in their own namespaces. See estimate_method::calculate, decibels_method::calculate, bag_method::calculate, and orifice_method::calculate for the individual flow-rate and annual-consumption formulas.

Per-Leak Total Flow Rate:

\begin{equation}\label{eq:leak-survey-total-flow} Q_{total} = Q_{method} \cdot n \end{equation}

where:

\(Q_{total}\)Combined instantaneous flow rate for this leak entry \([\unit{ \scfm}]\)
\(Q_{method}\)Leak flow rate returned by the selected sub-calculator \([\unit{ \scfm}]\)
\(n\)Number of identical leak points (units) \([\unit{ \unitless}]\)

Per-Leak Annual Volume (estimate and orifice methods):

\begin{equation}\label{eq:leak-survey-time-based-annual} V_{annual} = t_{op} \cdot Q_{total} \cdot 60 \end{equation}

where:

\(V_{annual}\)Annual air volume for this leak entry \([\unit{ \scf}]\)
\(t_{op}\)Annual compressed air system operating time \([\unit{ \hour\per\year}]\)
\(Q_{total}\)Combined instantaneous flow rate \([\unit{ \scfm}]\)
\(60\)Minutes per hour conversion \([\unit{ \minute\per\hour}]\)
Note
For the estimate method, estimate_input.operating_time is overridden with hours_per_year before calling estimate_method::calculate, and the returned annual_consumption (in kscf) is converted to scf by multiplying by 1000 before applying the units multiplier.
For the bag method, annual_total_flow_rate accumulates the sub-calculator's annual_consumption (in kscf) multiplied by units directly, without the 1000× conversion. This preserves the original calculation behavior.

Annual Electricity (utility_type = 1):

\begin{equation}\label{eq:leak-survey-electricity} E_{annual} = \frac{k_{sp}}{60} \cdot V_{annual} \end{equation}

\begin{equation}\label{eq:leak-survey-electricity-cost} C_{cost} = E_{annual} \cdot r_{elec} \end{equation}

Annual Compressed Air Cost (utility_type = 0):

\begin{equation}\label{eq:leak-survey-ca-cost} C_{cost} = r_{ca} \cdot V_{annual} \end{equation}

where:

\(E_{annual}\)Annual electrical energy consumed by the leak \([\unit{ \kilo\watt\hour}]\)
\(k_{sp}\)Compressor specific power \([\unit{ \kilo\watt\per(\cubic\foot\per\minute)}]\)
\(60\)Converts kW\cdot{}min/scf to kW\cdot{}hr/scf \([\unit{ \minute\per\hour}]\)
\(C_{cost}\)Annual utility cost \([\unit{ \dollar\per\year}]\)
\(r_{elec}\)Electricity utility rate \([\unit{ \dollar\per\kilo\watt\hour}]\)
\(r_{ca}\)Compressed air utility rate \([\unit{ \dollar\per\cubic\foot}]\)
Note
When utility_type = 0 (compressed air), annual_total_electricity remains zero; only annual_total_electricity_cost is computed. When utility_type = 1 (electricity), both fields are populated.
Parameters
[in]inputsVector of Input, one entry per leak measurement row.
Returns
Result containing accumulated totals across the full survey.