]> git.mxchange.org Git - flightgear.git/commitdiff
Fix drag when engine is shut down, by avoiding negative RPM.
authordavid <david>
Wed, 6 Aug 2003 21:38:01 +0000 (21:38 +0000)
committerdavid <david>
Wed, 6 Aug 2003 21:38:01 +0000 (21:38 +0000)
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

index 6f3dc5db127735d16dbfc040c965f4d31ae25d8d..039c75172a7afe805c4248c3449627052749468f 100644 (file)
@@ -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);