19 Output(
double excessAir,
double flowFlueGas,
double specHeat,
double fracCondensed,
double effThermal,
20 double effThermalLH,
double effLH,
double heatRecovery,
double sensibleHeatRecovery)
21 : excessAir(excessAir), flowFlueGas(flowFlueGas), specHeat(specHeat), fracCondensed(fracCondensed),
22 effThermal(effThermal), effThermalLH(effThermalLH), effLH(effLH), heatRecovery(heatRecovery),
23 sensibleHeatRecovery(sensibleHeatRecovery) {}
26 double excessAir = 0, flowFlueGas = 0, specHeat = 0, fracCondensed = 0, effThermal = 0, effThermalLH = 0,
27 effLH = 0, heatRecovery = 0, sensibleHeatRecovery = 0;
74 const double tempFlueGasOutF,
const double tempCombAirF,
const double fuelTempF,
75 const double percO2,
const double ambientAirTempF = 60,
const double moistCombAir = 0) {
78 ambientAirTempF, moistCombAir);
79 const double fracCondensed =
80 (1 - (0.0000009 * pow(tempFlueGasOutF, 3.0136)) / (2.8082 - 0.1168 * percO2 * 100));
81 const double effLH = (fracCondensed * 0.00935 * (1087 )) / 100;
82 const double flowFlueGas =
83 heatInput * (0.0763 * (0.6 + (res.stoichAir * (1 + res.excessAir)))) * 1000000 / res.heatValueFuel;
84 const double sensibleHeatRecovery =
85 res.specificHeat * (tempFlueGasInF - tempFlueGasOutF) * flowFlueGas / 1000000;
87 return Output(res.excessAir, flowFlueGas, res.specificHeat, fracCondensed, res.availableHeat,
88 res.availableHeat + effLH, effLH, heatInput * effLH, sensibleHeatRecovery);