From 1d4a7659fc0c2d1a5b9b50c5c470786140608e15 Mon Sep 17 00:00:00 2001 From: david Date: Wed, 6 Aug 2003 21:38:01 +0000 Subject: [PATCH] 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. --- src/FDM/YASim/PropEngine.cpp | 3 +++ 1 file changed, 3 insertions(+) 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); -- 2.39.5