#include <FGPropeller.h>
Inherits FGThruster.
<propeller name="{string}"> <ixx> {number} </ixx> <diameter unit="IN"> {number} </diameter> <numblades> {number} </numblades> <gearratio> {number} </gearratio> <minpitch> {number} </minpitch> <maxpitch> {number} </maxpitch> <minrpm> {number} </minrpm> <maxrpm> {number} </maxrpm> <reversepitch> {number} </reversepitch> <sense> {1 | -1} </sense> <p_factor> {number} </p_factor> <ct_factor> {number} </ct_factor> <cp_factor> {number} </cp_factor> <table name="C_THRUST" type="internal"> <tableData> {numbers} </tableData> </table> <table name="C_POWER" type="internal"> <tableData> {numbers} </tableData> </table> </propeller>
<ixx> - Propeller rotational inertia.
<diameter> - Propeller disk diameter.
<numblades> - Number of blades.
<gearratio> - Ratio of (engine rpm) / (prop rpm).
<minpitch> - Minimum blade pitch angle.
<maxpitch> - Maximum blade pitch angle.
<minrpm> - Minimum rpm target for constant speed propeller.
<maxrpm> - Maximum rpm target for constant speed propeller.
<reversepitch> - Blade pitch angle for reverse.
<sense> - Direction of rotation (1=clockwise as viewed from cockpit,
-1=anti-clockwise as viewed from cockpit).
<p_factor> - P factor.
<ct_factor> - A multiplier for the coefficients of thrust.
<cp_factor> - A multiplier for the coefficients of power.
Two tables are needed. One for coefficient of thrust (Ct) and one for coefficient of power (Cp).
Several references were helpful, here:
Definition at line 135 of file FGPropeller.h.
Public Member Functions | |
| double | Calculate (double PowerAvailable) |
| Calculates and returns the thrust produced by this propeller. | |
| FGPropeller (FGFDMExec *exec, Element *el, int num=0) | |
| Constructor for FGPropeller. | |
| double | GetCpFactor (void) |
| Retrieves the coefficient of power multiplier. | |
| FGTable * | GetCPowerTable (void) const |
| Retrieves propeller power table. | |
| double | GetCtFactor (void) |
| Retrieves the coefficient of thrust multiplier. | |
| FGTable * | GetCThrustTable (void) const |
| Retrieves propeller thrust table. | |
| double | GetDiameter (void) |
| Retrieves the propeller diameter. | |
| bool | GetFeather (void) |
| double | GetIxx (void) |
| Retrieves the propeller moment of inertia. | |
| FGColumnVector3 | GetPFactor (void) |
| double | GetPitch (void) |
| Retrieves the pitch of the propeller in degrees. | |
| double | GetPowerRequired (void) |
| Retrieves the power required (or "absorbed") by the propeller - i.e. | |
| bool | GetReverse (void) |
| double | GetReverseCoef (void) |
| double | GetRPM (void) const |
| Retrieves the RPMs of the propeller. | |
| double | GetThrustCoefficient (void) const |
| string | GetThrusterLabels (int id, string delimeter) |
| string | GetThrusterValues (int id, string delimeter) |
| double | GetTorque (void) |
| Retrieves the Torque in foot-pounds (Don't you love the English system?). | |
| bool | IsVPitch (void) |
| Returns true of this propeller is variable pitch. | |
| void | SetAdvance (double advance) |
| void | SetCpFactor (double cpf) |
| Sets coefficient of power multiplier. | |
| void | SetCtFactor (double ctf) |
| Sets coefficient of thrust multiplier. | |
| void | SetFeather (bool f) |
| void | SetPFactor (double pf) |
| Sets the P-Factor constant. | |
| void | SetPitch (double pitch) |
| This commands the pitch of the blade to change to the value supplied. | |
| void | SetReverse (bool r) |
| void | SetReverseCoef (double c) |
| void | SetRPM (double rpm) |
| Sets the Revolutions Per Minute for the propeller. | |
| void | SetSense (double s) |
| Sets the rotation sense of the propeller. | |
| ~FGPropeller () | |
| Destructor for FGPropeller - deletes the FGTable objects. | |
| FGPropeller | ( | FGFDMExec * | exec, | |
| Element * | el, | |||
| int | num = 0 | |||
| ) |
| exec | a pointer to the main executive object | |
| el | a pointer to the thruster config file XML element | |
| num | the number of this propeller |
Definition at line 59 of file FGPropeller.cpp.
| double Calculate | ( | double | PowerAvailable | ) | [virtual] |
Given the excess power available from the engine (in foot-pounds), the thrust is calculated, as well as the current RPM. The RPM is calculated by integrating the torque provided by the engine over what the propeller "absorbs" (essentially the "drag" of the propeller).
| PowerAvailable | this is the excess power provided by the engine to accelerate the prop. It could be negative, dictating that the propeller would be slowed. |
Reimplemented from FGThruster.
Definition at line 167 of file FGPropeller.cpp.
| double GetPowerRequired | ( | void | ) | [virtual] |
the power required to keep spinning the propeller at the current velocity, air density, and rotational rate.
Reimplemented from FGThruster.
Definition at line 216 of file FGPropeller.cpp.
| void SetPitch | ( | double | pitch | ) | [inline] |
This call is meant to be issued either from the cockpit or by the flight control system (perhaps to maintain constant RPM for a constant-speed propeller). This value will be limited to be within whatever is specified in the config file for Max and Min pitch. It is also one of the lookup indices to the power and thrust tables for variable-pitch propellers.
| pitch | the pitch of the blade in degrees. |
Reimplemented from FGForce.
Definition at line 165 of file FGPropeller.h.
| void SetRPM | ( | double | rpm | ) | [inline, virtual] |
Normally the propeller instance will calculate its own rotational velocity, given the Torque produced by the engine and integrating over time using the standard equation for rotational acceleration "a": a = Q/I , where Q is Torque and I is moment of inertia for the propeller.
| rpm | the rotational velocity of the propeller |
Reimplemented from FGThruster.
Definition at line 153 of file FGPropeller.h.
| void SetSense | ( | double | s | ) | [inline] |
| s | this value should be +/- 1 ONLY. +1 indicates clockwise rotation as viewed by someone standing behind the engine looking forward into the direction of flight. |
Definition at line 182 of file FGPropeller.h.
1.5.5