From 0505201362bb0062c3085da7b44021213a726b32 Mon Sep 17 00:00:00 2001 From: david Date: Sat, 15 Dec 2001 13:53:53 +0000 Subject: [PATCH] Latest JSBSim changes -- EGT fixes. --- src/FDM/JSBSim/FGPiston.cpp | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/src/FDM/JSBSim/FGPiston.cpp b/src/FDM/JSBSim/FGPiston.cpp index 0065ff9d9..45abd5e50 100644 --- a/src/FDM/JSBSim/FGPiston.cpp +++ b/src/FDM/JSBSim/FGPiston.cpp @@ -396,21 +396,24 @@ void FGPiston::doEnginePower(void) void FGPiston::doEGT(void) { - double delta_T_exhaust = 0.0; - double heat_capacity_exhaust; + double delta_T_exhaust; double enthalpy_exhaust; + double heat_capacity_exhaust; + double dEGTdt; - combustion_efficiency = Lookup_Combustion_Efficiency->GetValue(equivalence_ratio); - enthalpy_exhaust = m_dot_fuel * calorific_value_fuel * combustion_efficiency * 0.33; - heat_capacity_exhaust = (Cp_air * m_dot_air) + (Cp_fuel * m_dot_fuel); - - if (heat_capacity_exhaust >= 0.0000001) + if ((Running) && (m_dot_air > 0.0)) { // do the energy balance + combustion_efficiency = Lookup_Combustion_Efficiency->GetValue(equivalence_ratio); + enthalpy_exhaust = m_dot_fuel * calorific_value_fuel * + combustion_efficiency * 0.33; + heat_capacity_exhaust = (Cp_air * m_dot_air) + (Cp_fuel * m_dot_fuel); delta_T_exhaust = enthalpy_exhaust / heat_capacity_exhaust; - else - delta_T_exhaust = 0.0; - - ExhaustGasTemp_degK = T_amb + delta_T_exhaust; - ExhaustGasTemp_degK *= 0.444 + ((0.544 - 0.444) * Percentage_Power / 100.0); + ExhaustGasTemp_degK = T_amb + delta_T_exhaust; + ExhaustGasTemp_degK *= 0.444 + ((0.544 - 0.444) * Percentage_Power / 100.0); + } else { // Drop towards ambient - guess an appropriate time constant for now + dEGTdt = (298.0 - ExhaustGasTemp_degK) / 100.0; + delta_T_exhaust = dEGTdt * dt; + ExhaustGasTemp_degK += delta_T_exhaust; + } } //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%