180 bool Run(
bool Holding)
override;
195 virtual void SetWindNED(
double wN,
double wE,
double wD) { vWindNED(1)=wN; vWindNED(2)=wE; vWindNED(3)=wD;}
198 virtual void SetWindNED(
int idx,
double wind) { vWindNED(idx)=wind;}
207 virtual double GetWindNED(
int idx)
const {
return vWindNED(idx);}
230 virtual void SetGustNED(
int idx,
double gust) { vGustNED(idx)=gust;}
233 virtual void SetTurbNED(
int idx,
double turb) { vTurbulenceNED(idx)=turb;}
239 virtual double GetGustNED(
int idx)
const {
return vGustNED(idx);}
242 virtual double GetTurbNED(
int idx)
const {
return vTurbulenceNED(idx);}
261 virtual double GetTurbPQR(
int idx)
const {
return vTurbPQR(idx);}
302 vWind.InitMatrix(0.0);
328 virtual void StartGust(
bool running) {oneMinusCosineGust.gustProfile.Running = running;}
334 virtual void EndGustDuration(
double dur) {oneMinusCosineGust.gustProfile.endDuration = dur;}
336 virtual void GustMagnitude(
double mag) {oneMinusCosineGust.magnitude = mag;}
370 double MagnitudedAccelDt, MagnitudeAccel, Magnitude, TurbDirection;
375 double wind_from_clockwise;
376 double spike, target_time, strength;
381 struct OneMinusCosineGust oneMinusCosineGust;
382 std::vector <struct UpDownBurst*> UpDownBurstCells;
385 double windspeed_at_20ft;
386 int probability_of_exceedence_index;
397 void Turbulence(
double h);
401 double CosineGustProfile(
double startDuration,
double steadyDuration,
402 double endDuration,
double elapsedTime);
403 double DistanceFromRingCenter(
double lat,
double lon);
405 virtual void bind(
void);
406 void Debug(
int from)
override;
This class implements a 3 element column vector.
Handles matrix math operations.
FGModel(FGFDMExec *)
Constructor.
virtual void SetGustNED(int idx, double gust)
Sets a gust component in NED frame.
virtual double GetGustNED(int idx) const
Retrieves a gust component in NED frame.
virtual void SetWindNED(int idx, double wind)
Sets a wind component in NED frame.
virtual void SetTurbType(tType tt)
Turbulence models available: ttNone, ttStandard, ttBerndt, ttCulp, ttMilspec, ttTustin.
virtual const FGColumnVector3 & GetTotalWindNED(void) const
Retrieves the total wind components in NED frame.
virtual double GetWindspeed(void) const
virtual void SetWindspeed(double speed)
virtual const FGColumnVector3 & GetGustNED(void) const
Retrieves the gust components in NED frame.
bool InitModel(void) override
virtual tType GetTurbType() const
virtual void SetProbabilityOfExceedence(int idx)
allowable range: 0-7, 3=light, 4=moderate, 6=severe turbulence
virtual double GetTurbNED(int idx) const
Retrieves a turbulence component in NED frame.
virtual double GetTurbPQR(int idx) const
virtual void GustMagnitude(double mag)
Specifies the magnitude of the gust in feet/second.
virtual void SetTurbRate(double tr)
virtual void StartupGustDuration(double dur)
Specifies the duration of the startup portion of the gust.
virtual void SetWindspeed20ft(double ws)
virtual void SetWindPsi(double dir)
Sets the direction that the wind is coming from.
bool Run(bool Holding) override
Runs the winds model; called by the Executive Can pass in a value indicating if the executive is dire...
void NumberOfUpDownburstCells(int num)
virtual void EndGustDuration(double dur)
Specifies the length of time it takes for the gust to return to zero velocity.
virtual void SetWindNED(const FGColumnVector3 &wind)
Sets the wind components in NED frame.
virtual void SetTurbGain(double tg)
struct JSBSim::FGWinds::Inputs in
virtual void StartGust(bool running)
Initiates the execution of the gust.
virtual void SetRhythmicity(double r)
virtual double GetTurbMagnitude(void) const
enum JSBSim::FGWinds::tType turbType
virtual void GustXComponent(double x)
Specifies the X component of velocity in the specified gust frame (ft/sec).
virtual double GetTurbDirection(void) const
virtual void GustFrame(eGustFrame gFrame)
Specifies the frame that the gust direction vector components are specified in.
virtual const FGColumnVector3 & GetTurbPQR(void) const
virtual double GetWindNED(int idx) const
Retrieves a wind component in NED frame.
virtual void GustYComponent(double y)
Specifies the Y component of velocity in the specified gust frame (ft/sec).
virtual double GetTurbGain() const
virtual double GetRhythmicity() const
virtual int GetProbabilityOfExceedence() const
FGWinds(FGFDMExec *)
Constructor.
virtual const FGColumnVector3 & GetWindNED(void) const
Retrieves the wind components in NED frame.
virtual void GustZComponent(double z)
Specifies the Z component of velocity in the specified gust frame (ft/sec).
virtual double GetWindspeed20ft() const
virtual double GetTurbRate() const
virtual double GetWindPsi(void) const
Retrieves the direction that the wind is coming from.
virtual void SetTurbNED(int idx, double turb)
Sets a turbulence component in NED frame.
virtual double GetTotalWindNED(int idx) const
Retrieves a total wind component in NED frame.
virtual void SetGustNED(double gN, double gE, double gD)
Sets the gust components in NED frame.
virtual void SteadyGustDuration(double dur)
Specifies the length of time that the gust is at a steady, full strength.
virtual void SetWindNED(double wN, double wE, double wD)
Sets the wind components in NED frame.
struct OneMinusCosineProfile gustProfile
FGColumnVector3 vWindTransformed
struct OneMinusCosineProfile oneMCosineProfile