X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FFDM%2FJSBSim%2Fmodels%2Fpropulsion%2FFGPropeller.h;h=ea7953e1eabc8eba4c422104b02b3b63e7d3b932;hb=0917a5e062b531963f9f3d16bb0f95f769d34f61;hp=500e6798599bf2372f7eedd2f052887525a26f0f;hpb=edd83dd7e8fd7162ae49da6113ad797c68769f20;p=flightgear.git
diff --git a/src/FDM/JSBSim/models/propulsion/FGPropeller.h b/src/FDM/JSBSim/models/propulsion/FGPropeller.h
index 500e67985..ea7953e1e 100644
--- a/src/FDM/JSBSim/models/propulsion/FGPropeller.h
+++ b/src/FDM/JSBSim/models/propulsion/FGPropeller.h
@@ -45,7 +45,7 @@ INCLUDES
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
+
+
+
+
+
@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
};