 |
JSBSim Flight Dynamics Model
1.1.11 (13 Feb 2022)
An Open Source Flight Dynamics and Control Software Library in C++
|
43 #ifndef FGINITIALCONDITION_H
44 #define FGINITIALCONDITION_H
50 #include "math/FGLocation.h"
51 #include "math/FGQuaternion.h"
52 #include "simgear/misc/sg_path.hxx"
62 class FGColumnVector3;
65 class FGPropertyManager;
68 typedef enum { setvt, setvc, setve, setmach, setuvw, setned, setvg } speedset;
69 typedef enum { setasl, setagl } altitudeset;
70 typedef enum { setgeoc, setgeod } latitudeset;
266 void ResetIC(
double u0,
double v0,
double w0,
double p0,
double q0,
double r0,
267 double alpha0,
double beta0,
double phi0,
double theta0,
double psi0,
268 double latitudeRad0,
double longitudeRad0,
double altitudeAGL0,
493 return _vt_NED - vUVW_NED;
529 return Tl2b * vUVW_NED;
674 bool Load(
const SGPath& rstname,
bool useStoredPath =
true );
679 bool IsEngineRunning(
unsigned int n)
const {
return (enginesRunning & (1 << n)) != 0; }
703 speedset lastSpeedSet;
704 altitudeset lastAltitudeSet;
705 latitudeset lastLatitudeSet;
706 unsigned int enginesRunning;
713 bool Load_v1(
Element* document);
714 bool Load_v2(
Element* document);
716 void SetEulerAngleRadIC(
int idx,
double angle);
717 void SetBodyVelFpsIC(
int idx,
double vel);
718 void SetNEDVelFpsIC(
int idx,
double vel);
719 double GetBodyWindFpsIC(
int idx)
const;
720 double GetNEDWindFpsIC(
int idx)
const;
721 double GetBodyVelFpsIC(
int idx)
const;
724 double ComputeGeodAltitude(
double geodLatitude);
725 bool LoadLatitude(
Element* position_el);
726 void SetTrimRequest(std::string trim);
727 void Debug(
int from);
Encapsulates the JSBSim simulation executive.
double GetPsiDegIC(void) const
Gets the initial heading angle.
double GetLongitudeDeg() const
Get the longitude.
double GetWindEFpsIC(void) const
Gets the initial wind velocity in local frame.
double GetPsiRadIC(void) const
Gets the initial heading angle.
speedset GetSpeedSet(void) const
Gets the initial speedset.
double GetVEastFpsIC(void) const
Gets the initial local frame Y (East) velocity.
double GetWindDirDegIC(void) const
Gets the initial wind direction.
void SetVgroundFpsIC(double vg)
Sets the initial ground speed.
double GetLatitudeDeg() const
Get the GEOCENTRIC latitude in degrees.
double GetFlightPathAngleDegIC(void) const
Gets the initial flight path angle.
void SetLatitudeDegIC(double lat)
Sets the initial latitude.
bool Load(const SGPath &rstname, bool useStoredPath=true)
Loads the initial conditions.
This class implements a 3 element column vector.
FGLocation holds an arbitrary location in the Earth centered Earth fixed reference frame (ECEF).
const FGQuaternion & GetOrientation(void) const
Gets the initial orientation.
void SetVBodyFpsIC(double vbody)
Sets the initial body axis Y velocity.
void SetVgroundKtsIC(double vg)
Set ground speed initial condition in knots.
void SetTargetNlfIC(double nlf)
Sets the target normal load factor.
void SetPhiDegIC(double phi)
Sets the roll angle initial condition in degrees.
void SetAltitudeAGLFtIC(double agl)
Sets the initial Altitude above ground level.
void SetVtrueKtsIC(double vtrue)
Set true airspeed initial condition in knots.
void SetVcalibratedKtsIC(double vc)
Set calibrated airspeed initial condition in knots.
void SetCrossWindKtsIC(double cross)
Sets the initial crosswind speed.
double GetWindUFpsIC(void) const
Gets the initial body axis X wind velocity.
void SetLongitudeDegIC(double lon)
Sets the initial longitude.
double GetLongitude() const
Get the longitude.
double GetPhiDegIC(void) const
Gets the initial roll angle.
void SetAlphaRadIC(double alpha)
Sets the initial angle of attack.
const FGColumnVector3 GetWindNEDFpsIC(void) const
Gets the initial wind velocity in the NED local frame.
void SetAlphaDegIC(double a)
Sets angle of attack initial condition in degrees.
void SetPsiDegIC(double psi)
Sets the heading angle initial condition in degrees.
double GetVNorthFpsIC(void) const
Gets the initial local frame X (North) velocity.
double GetAlphaRadIC(void) const
Gets the initial angle of attack.
void InitializeIC(void)
Initialize the initial conditions to default values.
void SetVDownFpsIC(double vd)
Sets the initial local axis down velocity.
double GetWindVFpsIC(void) const
Gets the initial body axis Y wind velocity.
double GetGeodLatitudeRad(void) const
Get the GEODETIC latitude in radians.
double GetWindDFpsIC(void) const
Gets the initial wind velocity in local frame.
double GetMachIC(void) const
Gets the initial mach.
double GetGeodLatitudeDeg(void) const
Get the GEODETIC latitude in degrees.
void SetPRadpsIC(double P)
Sets the initial body axis roll rate.
void SetWBodyFpsIC(double wbody)
Sets the initial body axis Z velocity.
void SetLongitudeRadIC(double lon)
Sets the initial longitude.
double GetLatitudeDegIC(void) const
Gets the initial latitude.
bool IsEngineRunning(unsigned int n) const
Is an engine running ?
double GetLatitude() const
Get the GEOCENTRIC latitude in radians.
void SetAltitudeASLFtIC(double altitudeASL)
Sets the altitude above sea level initial condition in feet.
Handles matrix math operations.
void SetPsiRadIC(double psi)
Sets the initial heading angle.
double GetWindWFpsIC(void) const
Gets the initial body axis Z wind velocity.
double Magnitude(void) const
Length of the vector.
double GetClimbRateFpmIC(void) const
Gets the initial climb rate.
double GetWBodyFpsIC(void) const
Gets the initial body axis Z velocity.
double GetThetaRadIC(void) const
Gets the initial pitch angle.
void SetBetaRadIC(double beta)
Sets the initial sideslip angle.
double GetAlphaDegIC(void) const
Gets the initial angle of attack.
double GetWindFpsIC(void) const
Gets the initial total wind velocity in feet/sec.
void SetMachIC(double mach)
Set mach initial condition.
Models an empty, abstract base atmosphere class.
void SetThetaRadIC(double theta)
Sets the initial pitch angle.
const FGColumnVector3 & GetEuler(void) const
Retrieves the Euler angles.
double GetVgroundFpsIC(void) const
Gets the initial ground velocity.
double GetBetaRadIC(void) const
Gets the initial angle of sideslip.
double GetAltitudeASLFtIC(void) const
Gets the initial altitude above sea level.
double GetClimbRateFpsIC(void) const
Gets the initial climb rate.
int TrimRequested(void) const
Does initialization file call for trim ?
double GetFlightPathAngleRadIC(void) const
Gets the initial flight path angle.
FGInitialCondition(FGFDMExec *fdmex)
Constructor.
double GetEarthPositionAngleIC(void) const
Gets the initial Earth position angle.
const FGLocation & GetPosition(void) const
Gets the initial position.
const FGMatrix33 & GetT(void) const
Transformation matrix.
void SetLatitudeRadIC(double lat)
Sets the initial latitude.
double GetLongitudeDegIC(void) const
Gets the initial longitude.
double GetLatitudeRadIC(void) const
Gets the initial latitude.
void SetThetaDegIC(double theta)
Sets pitch angle initial condition in degrees.
void SetVNorthFpsIC(double vn)
Sets the initial local axis north velocity.
Initializes the simulation run.
double GetEulerDeg(int i) const
Retrieves the Euler angles.
double GetBetaDegIC(void) const
Gets the initial sideslip angle.
double GetGeodLatitudeRadIC(void) const
Gets the initial geodetic latitude.
void SetVEastFpsIC(double ve)
Sets the initial local axis east velocity.
double GetThetaDegIC(void) const
Gets the initial pitch angle.
double GetVtrueFpsIC(void) const
Gets the initial true velocity.
double GetVequivalentKtsIC(void) const
Gets the initial equivalent airspeed.
double GetVDownFpsIC(void) const
Gets the initial local frame Z (Down) velocity.
void SetVtrueFpsIC(double vt)
Sets the initial true airspeed.
double GetAltitudeAGLFtIC(void) const
Gets the initial altitude above ground level.
Encapsulates an Aircraft and its systems.
double GetVtrueKtsIC(void) const
Gets the initial true velocity.
double GetRRadpsIC() const
Gets the initial body axis yaw rate.
void SetWindDownKtsIC(double wD)
Sets the initial wind downward speed.
void SetClimbRateFpmIC(double roc)
Sets the climb rate initial condition in feet/minute.
~FGInitialCondition()
Destructor.
double GetTerrainElevationFtIC(void) const
Gets the initial terrain elevation.
const FGColumnVector3 GetPQRRadpsIC(void) const
Gets the initial body rotation rate.
double GetQRadpsIC() const
Gets the initial body axis pitch rate.
void SetPhiRadIC(double phi)
Sets the initial roll angle.
void SetBetaDegIC(double b)
Sets angle of sideslip initial condition in degrees.
void ResetIC(double u0, double v0, double w0, double p0, double q0, double r0, double alpha0, double beta0, double phi0, double theta0, double psi0, double latitudeRad0, double longitudeRad0, double altitudeAGL0, double gamma0)
Resets the IC data structure to new values.
double GetPhiRadIC(void) const
Gets the initial roll angle.
double GetUBodyFpsIC(void) const
Gets the initial body axis X velocity.
double GetVgroundKtsIC(void) const
Gets the initial ground speed.
void SetClimbRateFpsIC(double roc)
Sets the initial climb rate.
void SetWindNEDFpsIC(double wN, double wE, double wD)
Sets the initial wind velocity.
double GetVBodyFpsIC(void) const
Gets the initial body axis Y velocity.
void SetQRadpsIC(double Q)
Sets the initial body axis pitch rate.
void SetFlightPathAngleDegIC(double gamma)
Sets the flight path angle initial condition in degrees.
Models the Quaternion representation of rotations.
void SetWindDirDegIC(double dir)
Sets the initial wind direction.
void SetUBodyFpsIC(double ubody)
Sets the initial body axis X velocity.
void SetGeodLatitudeDegIC(double glat)
Sets the initial geodetic latitude.
void SetVequivalentKtsIC(double ve)
Set equivalent airspeed initial condition in knots.
void SetGeodLatitudeRadIC(double glat)
Sets the initial geodetic latitude.
const FGMatrix33 & GetTInv(void) const
Backward transformation matrix.
double GetLongitudeRadIC(void) const
Gets the initial longitude.
double GetVcalibratedKtsIC(void) const
Gets the initial calibrated airspeed.
void SetTerrainElevationFtIC(double elev)
Sets the initial terrain elevation.
void SetHeadWindKtsIC(double head)
Sets the initial headwind velocity.
const FGColumnVector3 GetUVWFpsIC(void) const
Gets the initial body velocity.
void SetFlightPathAngleRadIC(double gamma)
Sets the initial flight path angle.
double GetWindNFpsIC(void) const
Gets the initial wind velocity in local frame.
void SetRRadpsIC(double R)
Sets the initial body axis yaw rate.
double GetPRadpsIC() const
Gets the initial body axis roll rate.
double GetTargetNlfIC(void) const
Gets the target normal load factor set from IC.
double GetGeodLatitudeDegIC(void) const
Gets the initial geodetic latitude.
void SetWindMagKtsIC(double mag)
Sets the initial total wind speed.