diff --git a/systems_design/src/aircraftSystems/conventionalATA49.cpp b/systems_design/src/aircraftSystems/conventionalATA49.cpp index 23572e6c9b01d2fd8902c515fb068f3f9e735751..ec9f5e275e1e36c4dbd853685ec824120774c7a9 100644 --- a/systems_design/src/aircraftSystems/conventionalATA49.cpp +++ b/systems_design/src/aircraftSystems/conventionalATA49.cpp @@ -84,9 +84,11 @@ void conventionalATA49::getPower() { for (size_t n(0); n < outputs.size(); n++) { if (outputs.at(n).type == "Bleed") { bleedAirOutput = true; + myRuntimeInfo->debug << "Bleed air output detected." << std::endl; } if (outputs.at(n).type == "ShaftPower") { shaftPowerOutput = true; + myRuntimeInfo->debug << "Shaft power output detected." << std::endl; } } /* If source provides Bleed Air: */ @@ -122,8 +124,9 @@ void conventionalATA49::getPower() { /* Calculate required input (Kerosene)*/ /*Fuel consumption for design load*/ double effective_design_power = shaftPower.designPower + bleedAir.designPower * 1005. * 200.; - double design_fuel_consumption = getKerosene(effective_design_power / 1000.); - myRuntimeInfo->out << "APU fuel consumption with design loads: " << design_fuel_consumption << " kg/s" << std::endl; + double design_fuel_consumption = getKerosene(convertUnit(WATT, KILO, WATT, effective_design_power)); + myRuntimeInfo->debug << "APU fuel consumption with design loads (" << effective_design_power << " W): " << design_fuel_consumption << " kg/h" << std::endl; + inputs.at(0).designPower = design_fuel_consumption; /* Fuel consumption for mission loads */ for (size_t n(0); n < data_->mission.Steps.size(); n++) { double shaftPower_tmp = 0.; @@ -136,7 +139,8 @@ void conventionalATA49::getPower() { shaftPower_tmp = shaftPower.missionPower.at(n).baseLoad; } double effectivePower = shaftPower_tmp + bleedPower_tmp; - inputs.at(0).missionPower.at(n).baseLoad = getKerosene(effectivePower / 1000.); + myRuntimeInfo->debug << "Mission effective power: " << effectivePower; + inputs.at(0).missionPower.at(n).baseLoad = getKerosene(convertUnit(WATT, KILO, WATT, effectivePower)) / 3600;//in kg/s } } @@ -146,7 +150,7 @@ double conventionalATA49::getKerosene(double Power) { /* If no power is required, the SFC is 0 */ } else { /* specific fuel consumption in [kg/h] */ - SFC = -0.31 * log(abs(Power / 1000.)) + 2.24; // DA Steinke S.49 basierend auf LTH Daten + SFC = -0.31 * log(abs(Power)) + 2.24; // DA Steinke S.49 basierend auf LTH Daten } return SFC; } diff --git a/systems_design/src/aircraftSystems/conventionalATA49.h b/systems_design/src/aircraftSystems/conventionalATA49.h index f8c4bc671f99aaf4a5d25c721b3531392bdc76b5..e674064b29a077e3ff9ad8820d9e12657dc6a18b 100644 --- a/systems_design/src/aircraftSystems/conventionalATA49.h +++ b/systems_design/src/aircraftSystems/conventionalATA49.h @@ -69,7 +69,7 @@ class conventionalATA49: public aircraftSystem { void getPower(); /** \brief Calculates specific fuel consumption of the APU based on required power - * \param Power [W] total power APU has to provide + * \param Power [kW] total power APU has to provide * \return SFC (double) [kg/kWh] specific fuel consumption */ double getKerosene(double Power);