From: david Date: Wed, 12 Feb 2003 23:00:49 +0000 (+0000) Subject: Integrate code posted by Jon Berndt, so that only the z-direction X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=2412c3a3348e3c940ad0678a57bfa1d03a5911e8;p=flightgear.git Integrate code posted by Jon Berndt, so that only the z-direction turbulence is diminished near the ground. --- diff --git a/src/FDM/JSBSim/FGAtmosphere.cpp b/src/FDM/JSBSim/FGAtmosphere.cpp index ec9d91493..f80affcbd 100644 --- a/src/FDM/JSBSim/FGAtmosphere.cpp +++ b/src/FDM/JSBSim/FGAtmosphere.cpp @@ -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();