112 bool Run(
bool Holding)
override;
157 double GetvFw(
int axis)
const {
return vFw(axis); }
188 double GetLoD(
void)
const {
return lod; }
233 enum eAxisType { atNone,
237 atStability } forceAxisType,
239 typedef std::map<std::string, int> AxisIndex;
241 FGFunction* AeroRPShift;
242 typedef std::vector<FGFunction*> AeroFunctionArray;
243 AeroFunctionArray* AeroFunctions;
244 FGMatrix33 Ts2b, Tb2s;
245 FGColumnVector3 vFnative;
247 FGColumnVector3 vForces;
248 AeroFunctionArray* AeroFunctionsAtCG;
249 FGColumnVector3 vFnativeAtCG;
250 FGColumnVector3 vForcesAtCG;
251 FGColumnVector3 vMoments;
252 FGColumnVector3 vMomentsMRC;
253 FGColumnVector3 vMomentsMRCBodyXYZ;
254 FGColumnVector3 vDXYZcg;
255 FGColumnVector3 vDeltaRP;
256 double alphaclmax, alphaclmin;
257 double alphaclmax0, alphaclmin0;
258 double alphahystmax, alphahystmin;
259 double impending_stall, stall_hyst;
260 double bi2vel, ci2vel, alphaw;
261 double clsq, lod, qbar_area;
264 void DetermineAxisSystem(
Element* document);
265 void ProcessAxesNameAndFrame(FGAerodynamics::eAxisType& axisType,
266 const std::string&
name,
const std::string& frame,
267 Element* el,
const std::string& validNames);
269 void BuildStabilityTransformMatrices(
void);
271 void Debug(
int from)
override;
void SetAlphaCLMin(double tt)
FGAerodynamics(FGFDMExec *Executive)
Constructor.
bool InitModel(void) override
const FGColumnVector3 & GetMomentsMRC(void) const
Gets the total aerodynamic moment vector about the Moment Reference Center.
~FGAerodynamics() override
Destructor.
const FGColumnVector3 & GetMoments(void) const
Gets the total aerodynamic moment vector about the CG.
FGColumnVector3 GetForcesInStabilityAxes(void) const
Retrieves the aerodynamic forces in the stability axes.
double GetForces(int n) const
Gets the aerodynamic force for an axis.
double GetMomentsInStabilityAxes(int n) const
Gets the aerodynamic moment about the CG for an axis.
double GetAlphaCLMin(void) const
const FGColumnVector3 & GetvFw(void) const
Retrieves the aerodynamic forces in the wind axes.
double GetStallWarn(void) const
bool Load(Element *element) override
Loads the Aerodynamics model.
double GetvFw(int axis) const
Retrieves the aerodynamic forces in the wind axes, given an axis.
std::vector< FGFunction * > * GetAeroFunctions(void) const
double GetAlphaW(void) const
void SetAlphaCLMax(double tt)
double GetMomentsInWindAxes(int n) const
Gets the aerodynamic moment about the CG for an axis.
double GetClSquared(void) const
Retrieves the square of the lift coefficient.
double GetHysteresisParm(void) const
bool Run(bool Holding) override
Runs the Aerodynamics model; called by the Executive Can pass in a value indicating if the executive ...
double GetLoD(void) const
Retrieves the lift over drag ratio.
std::string GetAeroFunctionValues(const std::string &delimeter) const
Gets the aero function values.
FGColumnVector3 GetMomentsInWindAxes(void) const
Gets the total aerodynamic moment vector about the CG in the wind axes.
const FGColumnVector3 & GetForces(void) const
Gets the total aerodynamic force vector.
double GetMoments(int n) const
Gets the aerodynamic moment about the CG for an axis.
double GetCI2Vel(void) const
double GetAlphaCLMax(void) const
double GetMomentsMRC(int n) const
Gets the aerodynamic moment about the Moment Reference Center for an axis.
struct JSBSim::FGAerodynamics::Inputs in
double GetBI2Vel(void) const
double GetForcesInStabilityAxes(int n) const
Retrieves the aerodynamic forces in the stability axes, given 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.
This class implements a 3 element column vector.
Handles matrix math operations.
FGModel(FGFDMExec *)
Constructor.