From ee231459361c4e73eb8e8d7bf6747b6e8235e12e Mon Sep 17 00:00:00 2001 From: mfranz Date: Sat, 23 Jun 2007 06:41:17 +0000 Subject: [PATCH] Maik JUSTUS: "ease the rotor of the hornet if not rotating" --- src/FDM/YASim/Rotorpart.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/FDM/YASim/Rotorpart.cpp b/src/FDM/YASim/Rotorpart.cpp index 8ae5d57ed..f762f4b8c 100644 --- a/src/FDM/YASim/Rotorpart.cpp +++ b/src/FDM/YASim/Rotorpart.cpp @@ -473,15 +473,27 @@ float Rotorpart::calculateAlpha(float* v_rel_air, float rho, if (Math::abs(_alphaalt) >1e-6) div=(_centripetalforce * _len - _mass * _len * 9.81 * relgrav /_alpha0*(_alphaalt+_oppositerp->getAlphaAlt())/(2.0*_alphaalt)); if (Math::abs(div)>1e-6) + { alpha=lift_moment/div; + } else if(Math::abs(_alphaalt+_oppositerp->getAlphaAlt())>1e-6) { float div=(_centripetalforce * _len - _mass * _len * 9.81 *0.5 * relgrav)*(_alphaalt+_oppositerp->getAlphaAlt()); if (Math::abs(div)>1e-6) + { alpha=_oppositerp->getAlphaAlt()+lift_moment/div*_alphaalt; + } + else + alpha=_alphaalt; } else alpha=_alphaalt; + if (_omega/_omegan<0.2) + { + float frac = 0.001+_omega/_omegan*4.995; + alpha=Math::clamp(alpha,_alphamin,_alphamax); + alpha=_alphaalt*(1-frac)+frac*alpha; + } } else { -- 2.39.2