25 Output(
const double standardDensity,
const double sonicDensity,
const double leakVelocity,
26 const double leakRateLBMmin,
const double leakRateScfm,
const double leakRateEstimate,
27 const double annualConsumption)
28 : standardDensity(standardDensity), sonicDensity(sonicDensity), leakVelocity(leakVelocity),
29 leakRateLBMmin(leakRateLBMmin), leakRateScfm(leakRateScfm), leakRateEstimate(leakRateEstimate),
30 annualConsumption(annualConsumption) {}
32 const double standardDensity, sonicDensity, leakVelocity, leakRateLBMmin, leakRateScfm, leakRateEstimate,
48 OrificeMethod(
const double operatingTime,
const double airTemp,
const double atmPressure,
49 const double dischargeCoef,
const double diameter,
const double supplyPressure,
const int numOrifices)
50 : operatingTime(operatingTime), airTemp(airTemp), atmPressure(atmPressure), dischargeCoef(dischargeCoef),
51 diameter(diameter), supplyPressure(supplyPressure), numOrifices(numOrifices) {}
58 const double standardDensity = (atmPressure + supplyPressure) * (144 / (53.34 * airTemp));
59 const double sonicDensity = std::pow(standardDensity * (2 / (1.4 + 1)), 1 / (1.4 - 1));
60 const double leakVelocity = std::pow(((2 * 1.4) / (1.4 + 1)) * 53.34 * airTemp * 32.2, 0.5);
61 const double leakRateLBMmin =
62 sonicDensity * (diameter * diameter) * (M_PI / (4 * 144)) * leakVelocity * 60 * dischargeCoef;
63 const double leakRateScfm = leakRateLBMmin / standardDensity;
64 const double leakRateEstimate = leakRateScfm * numOrifices;
65 const double annualConsumption = (operatingTime * leakRateEstimate * 60) / 1000;
66 OrificeMethod::Output output(standardDensity, sonicDensity, leakVelocity, leakRateLBMmin, leakRateScfm,
67 leakRateEstimate, annualConsumption);
73 double operatingTime, airTemp, atmPressure, dischargeCoef, diameter, supplyPressure;