%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
/** Encapsulates the aerodynamic calculations.
- This class owns and contains the list of coefficients that define the
- aerodynamic properties of this aircraft. Here also, such unique phenomena
+ This class owns and contains the list of force/coefficients that define the
+ aerodynamic properties of an aircraft. Here also, such unique phenomena
as ground effect and maximum lift curve tailoff are handled.
- @config
- <pre>
- \<AERODYNAMICS>
- \<AXIS NAME="{LIFT|DRAG|SIDE|ROLL|PITCH|YAW}">
- {Coefficient definitions}
- \</AXIS>
- {Additional axis definitions}
- \</AERODYNAMICS> </pre>
+
+ @code
+ <aerodynamics>
+ <axis name="{LIFT|DRAG|SIDE|ROLL|PITCH|YAW}">
+ {force coefficient definitions}
+ </axis>
+ {additional axis definitions}
+ </aerodynamics>
+ @endcode
@author Jon S. Berndt, Tony Peden
- $Id$
+ @Id $Revision$
*/
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
/** Loads the Aerodynamics model.
The Load function for this class expects the XML parser to
- have found the AERODYNAMICS keyword in the configuration file.
+ have found the aerodynamics keyword in the configuration file.
@param element pointer to the current XML element for aerodynamics parameters.
@return true if successful */
bool Load(Element* element);
coefficients */
string GetCoefficientValues(string delimeter);
- void bind(void);
- void unbind(void);
-
private:
typedef map<string,int> AxisIndex;
AxisIndex AxisIdx;
double clsq, lod, qbar_area;
typedef double (FGAerodynamics::*PMF)(int) const;
+ void bind(void);
+ void unbind(void);
void Debug(int from);
};
PropertyManager->Tie( property_name, &J );
snprintf(property_name, 80, "propulsion/engine[%d]/blade-angle", EngineNum);
PropertyManager->Tie( property_name, &Pitch );
+ snprintf(property_name, 80, "propulsion/engine[%d]/thrust-coefficient", EngineNum);
+ PropertyManager->Tie( property_name, this, &FGPropeller::GetThrustCoefficient );
Debug(0);
}
cPReq = cPower->GetValue(J);
} else { // Variable pitch prop
- if (MaxRPM != MinRPM) { // constant speed prop
+ if (MaxRPM != MinRPM) { // fixed-speed prop
// do normal calculation when propeller is neither feathered nor reversed
if (!Feathered) {