34 #ifndef FGAERODYNAMICS_H 35 #define FGAERODYNAMICS_H 46 #include "math/FGFunction.h" 47 #include "math/FGColumnVector3.h" 48 #include "math/FGMatrix33.h" 54 #define ID_AERODYNAMICS "$Id: FGAerodynamics.h,v 1.30 2014/09/03 17:26:28 bcoconni Exp $" 128 bool InitModel(
void);
137 bool Run(
bool Holding);
182 double GetvFw(
int axis)
const {
return vFw(axis); }
185 double GetLoD(
void)
const {
return lod; }
189 double GetAlphaCLMax(
void)
const {
return alphaclmax; }
190 double GetAlphaCLMin(
void)
const {
return alphaclmin; }
192 double GetHysteresisParm(
void)
const {
return stall_hyst; }
193 double GetStallWarn(
void)
const {
return impending_stall; }
194 double GetAlphaW(
void)
const {
return alphaw; }
196 double GetBI2Vel(
void)
const {
return bi2vel; }
197 double GetCI2Vel(
void)
const {
return ci2vel; }
199 void SetAlphaCLMax(
double tt) { alphaclmax=tt; }
200 void SetAlphaCLMin(
double tt) { alphaclmin=tt; }
213 std::vector <FGFunction*> * GetAeroFunctions(
void)
const {
return AeroFunctions; }
223 double Wingincidence;
230 enum eAxisType {atNone, atLiftDrag, atAxialNormal, atBodyXYZ} axisType;
231 typedef std::map<std::string,int> AxisIndex;
234 typedef std::vector <FGFunction*> AeroFunctionArray;
235 AeroFunctionArray* AeroFunctions;
239 AeroFunctionArray* AeroFunctionsAtCG;
247 double alphaclmax, alphaclmin;
248 double alphaclmax0, alphaclmin0;
249 double alphahystmax, alphahystmin;
250 double impending_stall, stall_hyst;
251 double bi2vel, ci2vel,alphaw;
252 double clsq, lod, qbar_area;
255 void DetermineAxisSystem(
Element* document);
258 void Debug(
int from);
double GetForces(int n) const
Gets the aerodynamic force for an axis.
double GetLoD(void) const
Retrieves the lift over drag ratio.
double GetMomentsMRC(int n) const
Gets the aerodynamic moment about the Moment Reference Center for an axis.
std::string GetAeroFunctionValues(const std::string &delimeter) const
Gets the aero function values.
Encapsulates the aerodynamic calculations.
const FGColumnVector3 & GetvFw(void) const
Retrieves the aerodynamic forces in the wind axes.
const FGColumnVector3 & GetMomentsMRC(void) const
Gets the total aerodynamic moment vector about the Moment Reference Center.
double GetClSquared(void) const
Retrieves the square of the lift coefficient.
const FGColumnVector3 & GetForces(void) const
Gets the total aerodynamic force vector.
std::string GetAeroFunctionStrings(const std::string &delimeter) const
Gets the strings for the current set of aero functions.
Base class for all scheduled JSBSim models.
Represents a mathematical function.
This class implements a 3 element column vector.
~FGAerodynamics()
Destructor.
double GetvFw(int axis) const
Retrieves the aerodynamic forces in the wind axes, given an axis.
Handles matrix math operations.
FGAerodynamics(FGFDMExec *Executive)
Constructor.
double GetMoments(int n) const
Gets the aerodynamic moment about the CG for an axis.
Encapsulates the JSBSim simulation executive.
bool Load(Element *element)
Loads the Aerodynamics model.
bool Run(bool Holding)
Runs the Aerodynamics model; called by the Executive Can pass in a value indicating if the executive ...
const FGColumnVector3 & GetMoments(void) const
Gets the total aerodynamic moment vector about the CG.