FGPropeller Class Reference

#include <FGPropeller.h>

Inherits FGThruster.

List of all members.


Detailed Description

Configuration File Format:

<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>

Configuration Parameters:

    <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:

Author:
Jon S. Berndt
Version:
Id
FGPropeller.h,v 1.12 2008/07/08 12:46:15 jberndt Exp
See also:
FGEngine

FGThruster

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.
FGTableGetCPowerTable (void) const
 Retrieves propeller power table.
double GetCtFactor (void)
 Retrieves the coefficient of thrust multiplier.
FGTableGetCThrustTable (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.

Constructor & Destructor Documentation

FGPropeller ( FGFDMExec exec,
Element el,
int  num = 0 
)

Parameters:
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.


Member Function Documentation

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).

Parameters:
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.
Returns:
the thrust in pounds

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.

Parameters:
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.

Parameters:
rpm the rotational velocity of the propeller

Reimplemented from FGThruster.

Definition at line 153 of file FGPropeller.h.

void SetSense ( double  s  )  [inline]

Parameters:
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.


The documentation for this class was generated from the following files:

Generated on Tue May 26 00:55:12 2009 for JSBSim Flight Dynamics Model by  doxygen 1.5.5