 |
JSBSim Flight Dynamics Model
1.1.11 (13 Feb 2022)
An Open Source Flight Dynamics and Control Software Library in C++
|
34 #ifndef FGAERODYNAMICS_H
35 #define FGAERODYNAMICS_H
46 #include "math/FGFunction.h"
47 #include "math/FGColumnVector3.h"
48 #include "math/FGMatrix33.h"
123 bool InitModel(
void)
override;
132 bool Run(
bool Holding)
override;
177 double GetvFw(
int axis)
const {
return vFw(axis); }
208 double GetLoD(
void)
const {
return lod; }
212 double GetAlphaCLMax(
void)
const {
return alphaclmax; }
213 double GetAlphaCLMin(
void)
const {
return alphaclmin; }
215 double GetHysteresisParm(
void)
const {
return stall_hyst; }
216 double GetStallWarn(
void)
const {
return impending_stall; }
217 double GetAlphaW(
void)
const {
return alphaw; }
219 double GetBI2Vel(
void)
const {
return bi2vel; }
220 double GetCI2Vel(
void)
const {
return ci2vel; }
222 void SetAlphaCLMax(
double tt) { alphaclmax=tt; }
223 void SetAlphaCLMin(
double tt) { alphaclmin=tt; }
236 std::vector <FGFunction*> * GetAeroFunctions(
void)
const {
return AeroFunctions; }
246 double Wingincidence;
253 enum eAxisType {atNone, atWind, atBodyAxialNormal, atBodyXYZ, atStability} forceAxisType, momentAxisType;
254 typedef std::map<std::string,int> AxisIndex;
257 typedef std::vector <FGFunction*> AeroFunctionArray;
258 AeroFunctionArray* AeroFunctions;
263 AeroFunctionArray* AeroFunctionsAtCG;
271 double alphaclmax, alphaclmin;
272 double alphaclmax0, alphaclmin0;
273 double alphahystmax, alphahystmin;
274 double impending_stall, stall_hyst;
275 double bi2vel, ci2vel,alphaw;
276 double clsq, lod, qbar_area;
279 void DetermineAxisSystem(
Element* document);
280 void ProcessAxesNameAndFrame(FGAerodynamics::eAxisType& axisType,
281 const string& name,
const string& frame,
282 Element* el,
const string& validNames);
284 void BuildStabilityTransformMatrices(
void);
286 void Debug(
int from)
override;
const FGColumnVector3 & GetForces(void) const
Gets the total aerodynamic force vector.
Encapsulates the JSBSim simulation executive.
double GetForcesInStabilityAxes(int n) const
Retrieves the aerodynamic forces in the stability axes, given an axis.
Represents a mathematical function.
This class implements a 3 element column vector.
Encapsulates the aerodynamic calculations.
Base class for all scheduled JSBSim models.
double GetForces(int n) const
Gets the aerodynamic force for an axis.
double GetMomentsInWindAxes(int n) const
Gets the aerodynamic moment about the CG for an axis.
double GetvFw(int axis) const
Retrieves the aerodynamic forces in the wind axes, given an axis.
const FGColumnVector3 & GetvFw(void) const
Retrieves the aerodynamic forces in the wind axes.
~FGAerodynamics() override
Destructor.
bool Run(bool Holding) override
Runs the Aerodynamics model; called by the Executive Can pass in a value indicating if the executive ...
Handles matrix math operations.
FGColumnVector3 GetForcesInStabilityAxes(void) const
Retrieves the aerodynamic forces in the stability axes.
FGColumnVector3 GetMomentsInWindAxes(void) const
Gets the total aerodynamic moment vector about the CG in the wind axes.
bool Load(Element *element) override
Loads the Aerodynamics model.
double GetLoD(void) const
Retrieves the lift over drag ratio.
double GetMomentsInStabilityAxes(int n) const
Gets the aerodynamic moment about the CG for an axis.
const FGColumnVector3 & GetMomentsMRC(void) const
Gets the total aerodynamic moment vector about the Moment Reference Center.
std::string GetAeroFunctionValues(const std::string &delimeter) const
Gets the aero function values.
double GetMoments(int n) const
Gets the aerodynamic moment about the CG for an axis.
std::string GetAeroFunctionStrings(const std::string &delimeter) const
Gets the strings for the current set of aero functions.
FGColumnVector3 GetMomentsInStabilityAxes(void) const
Gets the total aerodynamic moment vector about the CG in the stability axes.
const FGColumnVector3 & GetMoments(void) const
Gets the total aerodynamic moment vector about the CG.
double GetMomentsMRC(int n) const
Gets the aerodynamic moment about the Moment Reference Center for an axis.
double GetClSquared(void) const
Retrieves the square of the lift coefficient.
FGAerodynamics(FGFDMExec *Executive)
Constructor.