From: andy Date: Tue, 8 Aug 2006 14:19:15 +0000 (+0000) Subject: Melchior sent me a property dump of the YF-23 in the wacky superthrust X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=95da644df950411192310489ccb514504ff5d65c;p=flightgear.git Melchior sent me a property dump of the YF-23 in the wacky superthrust state. The only really obvious problem was a giant negative engine RPM, which happened because of a lack of clamping in the engine code combined with the YF-23's ability to actually reach speeds near the engines _vMax value. It's not clear to me that this will fix the superthrust issue at high AoA's, but it's an obvious bug nonetheless. --- diff --git a/src/FDM/YASim/Jet.cpp b/src/FDM/YASim/Jet.cpp index afbb669cd..f80cac543 100644 --- a/src/FDM/YASim/Jet.cpp +++ b/src/FDM/YASim/Jet.cpp @@ -142,10 +142,10 @@ void Jet::integrate(float dt) const static float T0 = Atmosphere::getStdTemperature(0); const static float D0 = Atmosphere::getStdDensity(0); - float speed = -Math::dot3(_wind, _dir); + float spd = -Math::dot3(_wind, _dir); float statT, statP, statD; - Atmosphere::calcStaticAir(_pressure, _temp, _rho, speed, + Atmosphere::calcStaticAir(_pressure, _temp, _rho, spd, &statP, &statT, &statD); _pressureCorrect = statP/P0; _tempCorrect = Math::sqrt(statT/T0); @@ -157,7 +157,7 @@ void Jet::integrate(float dt) _throttle = 0; // Linearly taper maxThrust to zero at vMax - float vCorr = 1 - (speed/_vMax); + float vCorr = spd<0 ? 1 : (spd<_vMax ? 1-spd/_vMax : 0); float maxThrust = _maxThrust * vCorr * (statD/D0); float setThrust = maxThrust * _throttle;