From: david Date: Wed, 6 Aug 2003 21:38:01 +0000 (+0000) Subject: Fix drag when engine is shut down, by avoiding negative RPM. X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=1d4a7659fc0c2d1a5b9b50c5c470786140608e15;p=flightgear.git Fix drag when engine is shut down, by avoiding negative RPM. The Propeller class ignored negative RPM but still returned a torque value, which ratcheted up a higher and higher negative RPM until drag overwhelmed the aircraft. In reality, the propeller should windmill at a reasonable postive RPM, introducing a constant drag on the aircraft -- the propeller should *not* stop unless the plane is flying very slowly. That's a future project. --- diff --git a/src/FDM/YASim/PropEngine.cpp b/src/FDM/YASim/PropEngine.cpp index 6f3dc5db1..039c75172 100644 --- a/src/FDM/YASim/PropEngine.cpp +++ b/src/FDM/YASim/PropEngine.cpp @@ -161,6 +161,9 @@ void PropEngine::integrate(float dt) // Runge-Kutta stuff. float rotacc = (engTorque-propTorque)/Math::abs(_moment); _omega += dt * rotacc; + if (_omega < 0) + _omega = 0 - _omega; // don't allow negative RPM + // FIXME: introduce proper windmilling // Store the total angular momentum into _gyro Math::mul3(_omega*_moment, _dir, _gyro);