X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FFDM%2FJSBSim%2Fmodels%2Fpropulsion%2FFGPropeller.h;h=ea7953e1eabc8eba4c422104b02b3b63e7d3b932;hb=0917a5e062b531963f9f3d16bb0f95f769d34f61;hp=a2ddc9f419fc4223bd4612d9cd48fa49e849e8f4;hpb=48cad71a702c7db7981f893112cbccdc84428243;p=flightgear.git diff --git a/src/FDM/JSBSim/models/propulsion/FGPropeller.h b/src/FDM/JSBSim/models/propulsion/FGPropeller.h index a2ddc9f41..ea7953e1e 100644 --- a/src/FDM/JSBSim/models/propulsion/FGPropeller.h +++ b/src/FDM/JSBSim/models/propulsion/FGPropeller.h @@ -39,13 +39,13 @@ INCLUDES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ #include "FGThruster.h" -#include +#include "math/FGTable.h" /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% DEFINITIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ -#define ID_PROPELLER "$Id$" +#define ID_PROPELLER "$Id: FGPropeller.h,v 1.16 2010/04/09 12:44:06 jberndt Exp $" /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FORWARD DECLARATIONS @@ -71,6 +71,7 @@ CLASS DOCUMENTATION {number} {number} {number} + {number} {number} {1 | -1} {number} @@ -89,6 +90,19 @@ CLASS DOCUMENTATION + + + {numbers} + +
+ + + + {numbers} + +
+ + @endcode @@ -102,6 +116,7 @@ CLASS DOCUMENTATION \ - Maximum blade pitch angle. \ - Minimum rpm target for constant speed propeller. \ - Maximum rpm target for constant speed propeller. + \ - 1 = constant speed mode, 0 = manual pitch mode. \ - Blade pitch angle for reverse. \ - Direction of rotation (1=clockwise as viewed from cockpit, -1=anti-clockwise as viewed from cockpit). @@ -111,7 +126,10 @@ CLASS DOCUMENTATION Two tables are needed. One for coefficient of thrust (Ct) and one for - coefficient of power (Cp). + coefficient of power (Cp). + + Two tables are optional. They apply a factor to Ct and Cp based on the + helical tip Mach.
Several references were helpful, here:
    @@ -123,7 +141,7 @@ CLASS DOCUMENTATION
  • Various NACA Technical Notes and Reports
@author Jon S. Berndt - @version $Id$ + @version $Id: FGPropeller.h,v 1.16 2010/04/09 12:44:06 jberndt Exp $ @see FGEngine @see FGThruster */ @@ -169,6 +187,9 @@ public: /// Sets the P-Factor constant void SetPFactor(double pf) {P_Factor = pf;} + /// Sets propeller into constant speed mode, or manual pitch mode + void SetConstantSpeed(int mode) {ConstantSpeed = mode;} + /// Sets coefficient of thrust multiplier void SetCtFactor(double ctf) {CtFactor = ctf;} @@ -204,6 +225,11 @@ public: /// Retrieves propeller power table FGTable* GetCPowerTable(void) const { return cPower; } + /// Retrieves propeller thrust Mach effects factor + FGTable* GetCtMachTable(void) const { return CtMach; } + /// Retrieves propeller power Mach effects factor + FGTable* GetCpMachTable(void) const { return CpMach; } + /// Retrieves the Torque in foot-pounds (Don't you love the English system?) double GetTorque(void) { return vTorque(eX); } @@ -233,6 +259,10 @@ public: void SetFeather (bool f) { Feathered = f; } bool GetFeather (void) { return Feathered; } double GetThrustCoefficient(void) const {return ThrustCoeff;} + double GetHelicalTipMach(void) const {return HelicalTipMach;} + int GetConstantSpeed(void) const {return ConstantSpeed;} + void SetInducedVelocity(double Vi) {Vinduced = Vi;} + double GetInducedVelocity(void) const {return Vinduced;} private: int numBlades; @@ -251,14 +281,19 @@ private: double ExcessTorque; double D4; double D5; + double HelicalTipMach; + double Vinduced; FGColumnVector3 vTorque; FGTable *cThrust; FGTable *cPower; + FGTable *CtMach; + FGTable *CpMach; double CtFactor; double CpFactor; + int ConstantSpeed; void Debug(int from); double ReversePitch; // Pitch, when fully reversed - bool Reversed; // true, when propeller is reversed + bool Reversed; // true, when propeller is reversed double Reverse_coef; // 0 - 1 defines AdvancePitch (0=MIN_PITCH 1=REVERSE_PITCH) bool Feathered; // true, if feather command };