8 #include "./NanDataConverters.h" 9 #include "calculator/processHeat/AirHeatingUsingExhaust.h" 14 NAN_METHOD(airHeatingUsingExhaust)
16 inp = Nan::To<Object>(info[0]).ToLocalChecked();
17 r = Nan::New<Object>();
21 const double flueTemperature = getDouble(
"flueTemperature", inp);
22 const double excessAir = getDouble(
"excessAir", inp);
23 const double fireRate = getDouble(
"fireRate", inp);
24 const double airflow = getDouble(
"airflow", inp);
25 const double inletTemperature = getDouble(
"inletTemperature", inp);
26 const double heaterEfficiency = getDouble(
"heaterEfficiency", inp);
27 const double hxEfficiency = getDouble(
"hxEfficiency", inp);
28 const double operatingHours = getDouble(
"operatingHours", inp);
29 const std::string substance = getString(
"substance", inp);
32 if(getBool(
"gasFuelType")) {
33 const double CH4 = getDouble(
"CH4", inp);
34 const double C2H6 = getDouble(
"C2H6", inp);
35 const double N2 = getDouble(
"N2", inp);
36 const double H2 = getDouble(
"H2", inp);
37 const double C3H8 = getDouble(
"C3H8", inp);
38 const double C4H10_CnH2n = getDouble(
"C4H10_CnH2n", inp);
39 const double H2O = getDouble(
"H2O", inp);
40 const double CO = getDouble(
"CO", inp);
41 const double CO2 = getDouble(
"CO2", inp);
42 const double SO2 = getDouble(
"SO2", inp);
43 const double O2 = getDouble(
"O2", inp);
45 auto airHeat =
AirHeatingUsingExhaust(
GasCompositions(substance, CH4, C2H6, N2, H2, C3H8, C4H10_CnH2n, H2O, CO, CO2, SO2, O2));
46 output =
AirHeatingUsingExhaust(airHeat).calculate(flueTemperature,excessAir,fireRate,airflow,inletTemperature,heaterEfficiency,hxEfficiency,operatingHours);
48 const double carbon = getDouble(
"carbon", inp);
49 const double hydrogen = getDouble(
"hydrogen", inp);
50 const double sulphur = getDouble(
"sulphur", inp);
51 const double inertAsh = getDouble(
"inertAsh", inp);
52 const double o2 = getDouble(
"o2", inp);
53 const double moisture = getDouble(
"moisture", inp);
54 const double nitrogen = getDouble(
"nitrogen", inp);
57 output =
AirHeatingUsingExhaust(airHeat).calculate(flueTemperature,excessAir,fireRate,airflow,inletTemperature,heaterEfficiency,hxEfficiency,operatingHours);
60 setR(
"hxColdAir", output.hxColdAir);
61 setR(
"hxOutletExhaust", output.hxOutletExhaust);
62 setR(
"energySavings", output.energySavings);
63 setR(
"heatCapacityFlue", output.heatCapacityFlue);
64 setR(
"heatCapacityAir", output.heatCapacityAir);
66 info.GetReturnValue().Set(r);
68 catch (std::runtime_error
const &e)
70 std::string
const what = e.what();
71 ThrowError(std::string(
"std::runtime_error thrown in ProcessHeat - calculator: " + what).c_str());