]> git.mxchange.org Git - flightgear.git/blobdiff - src/FDM/YASim/PropEngine.cpp
Fix stall widths for the "auxilliary" (reverse flow) stalls so they
[flightgear.git] / src / FDM / YASim / PropEngine.cpp
index 7930f26cab5f4eecfd079111e5d016aeb528e00f..ca5e51bf7921e88bf7e8296f0db61692908d8bab 100644 (file)
@@ -125,8 +125,11 @@ void PropEngine::stabilize()
        _eng->calc(_pressure, _temp, _omega);
         _eng->stabilize();
 
-        // Compute torque as seen by the engine's end of the
-        // gearbox.
+        // Compute torque as seen by the engine's end of the gearbox.
+        // The propeller will be moving more slowly (for gear ratios
+        // less than one), so it's torque will be higher than the
+        // engine's, so multiply by _gearRatio to get the engine-side
+        // value.
         ptau *= _gearRatio;
         float etau = _eng->getTorque();
        float tdiff = etau - ptau;
@@ -173,6 +176,9 @@ void PropEngine::integrate(float dt)
     _eng->setFuelState(_fuel);
     
     _prop->calc(_rho, speed, _omega * _gearRatio, &thrust, &propTorque);
+    if(_omega == 0.0)
+        _omega = 0.001; // hack to get around reports of NaNs somewhere...
+    propTorque *= _gearRatio;
     _eng->calc(_pressure, _temp, _omega);
     _eng->integrate(dt);
     engTorque = _eng->getTorque();