]> git.mxchange.org Git - flightgear.git/commitdiff
Integrate code posted by Jon Berndt, so that only the z-direction
authordavid <david>
Wed, 12 Feb 2003 23:00:49 +0000 (23:00 +0000)
committerdavid <david>
Wed, 12 Feb 2003 23:00:49 +0000 (23:00 +0000)
turbulence is diminished near the ground.

src/FDM/JSBSim/FGAtmosphere.cpp

index ec9d9149338e1233242c952dabcac8165167d3c2..f80affcbd052a49a0b2f7f0aac90779ac0af0d58 100644 (file)
@@ -271,24 +271,21 @@ void FGAtmosphere::Turbulence(void)
     MagnitudeAccel    += MagnitudedAccelDt*rate*State->Getdt();
     Magnitude         += MagnitudeAccel*rate*State->Getdt();
 
-                                // Fade the magnitude within two wingspans
-                                // of the ground (WAG)
-    double AdjustedMagnitude = Magnitude;
-    double AdjustedMagnitudeAccel = MagnitudeAccel;
-    double HOverBMAC = Position->GetHOverBMAC();
-    if (HOverBMAC < 2.0) {
-        AdjustedMagnitude *= (HOverBMAC / 2.0);
-        AdjustedMagnitudeAccel *= (HOverBMAC / 2.0);
-    }
-    
     vDirectiondAccelDt.Normalize();
     vDirectionAccel += vDirectiondAccelDt*rate*State->Getdt();
     vDirectionAccel.Normalize();
     vDirection      += vDirectionAccel*rate*State->Getdt();
+
+                                // Diminish z-vector within two wingspans
+                                // of the ground
+    double HOverBMAC = Position->GetHOverBMAC();
+    if (HOverBMAC < 2.0)
+        vDirection(eZ) *= HOverBMAC / 2.0;
+
     vDirection.Normalize();
     
-    vTurbulence = TurbGain*AdjustedMagnitude * vDirection;
-    vTurbulenceGrad = TurbGain*AdjustedMagnitudeAccel * vDirection;
+    vTurbulence = TurbGain*Magnitude * vDirection;
+    vTurbulenceGrad = TurbGain*MagnitudeAccel * vDirection;
 
     vBodyTurbGrad = State->GetTl2b()*vTurbulenceGrad;
     vTurbPQR(eP) = vBodyTurbGrad(eY)/Aircraft->GetWingSpan();