From 773a44c0726ae7a90654b81e017925cec70cc166 Mon Sep 17 00:00:00 2001 From: Bertrand Coconnier <bcoconni@users.sf.net> Date: Sat, 8 May 2021 18:50:34 +0200 Subject: [PATCH] Tentative fix for the issue #2581 (propeller spinning indefinitely after aborting crank). --- src/FDM/JSBSim/models/propulsion/FGPiston.cpp | 4 +++- src/FDM/JSBSim/models/propulsion/FGPropeller.cpp | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/FDM/JSBSim/models/propulsion/FGPiston.cpp b/src/FDM/JSBSim/models/propulsion/FGPiston.cpp index 0a28c6d6f..edcbead4a 100644 --- a/src/FDM/JSBSim/models/propulsion/FGPiston.cpp +++ b/src/FDM/JSBSim/models/propulsion/FGPiston.cpp @@ -521,7 +521,9 @@ void FGPiston::Calculate(void) // Filters out negative powers. // TODO: static_friction_HP should not be taken into account while the engine // is not started. - Thruster->Calculate(max(HP * hptoftlbssec, 0.)); + double power = HP * hptoftlbssec; + if (RPM <= 0.1) power = max(power, 0.0); + Thruster->Calculate(power); RunPostFunctions(); } diff --git a/src/FDM/JSBSim/models/propulsion/FGPropeller.cpp b/src/FDM/JSBSim/models/propulsion/FGPropeller.cpp index 08bdbf70e..6e510de4b 100644 --- a/src/FDM/JSBSim/models/propulsion/FGPropeller.cpp +++ b/src/FDM/JSBSim/models/propulsion/FGPropeller.cpp @@ -201,7 +201,7 @@ void FGPropeller::ResetToIC(void) double FGPropeller::Calculate(double EnginePower) { - FGColumnVector3 vDXYZ = MassBalance->StructuralToBody(vActingXYZn); + FGColumnVector3 vDXYZ = MassBalance->StructuralToBody(vXYZn); const FGMatrix33& mT = Transform(); // Local air velocity is obtained from Stevens & Lewis' "Aircraft Control and // Simualtion (3rd edition)" eqn 8.2-1