From: ehofman Date: Mon, 27 Feb 2006 08:41:24 +0000 (+0000) Subject: Syn.c w. JSBSim. X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=9b33107551a8625d75049b711c6a1e0256fd3a66;p=flightgear.git Syn.c w. JSBSim. --- diff --git a/src/FDM/JSBSim/models/FGAerodynamics.h b/src/FDM/JSBSim/models/FGAerodynamics.h index 39713a070..287446161 100644 --- a/src/FDM/JSBSim/models/FGAerodynamics.h +++ b/src/FDM/JSBSim/models/FGAerodynamics.h @@ -73,20 +73,21 @@ CLASS DOCUMENTATION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ /** 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 -
-    \
-       \
-         {Coefficient definitions}
-       \
-       {Additional axis definitions}
-    \ 
+ + @code + + + {force coefficient definitions} + + {additional axis definitions} + + @endcode @author Jon S. Berndt, Tony Peden - $Id$ + @Id $Revision$ */ /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -108,7 +109,7 @@ public: /** 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); @@ -164,9 +165,6 @@ public: coefficients */ string GetCoefficientValues(string delimeter); - void bind(void); - void unbind(void); - private: typedef map AxisIndex; AxisIndex AxisIdx; @@ -185,6 +183,8 @@ private: double clsq, lod, qbar_area; typedef double (FGAerodynamics::*PMF)(int) const; + void bind(void); + void unbind(void); void Debug(int from); }; diff --git a/src/FDM/JSBSim/models/propulsion/FGPiston.cpp b/src/FDM/JSBSim/models/propulsion/FGPiston.cpp index e40a01736..d090e2913 100644 --- a/src/FDM/JSBSim/models/propulsion/FGPiston.cpp +++ b/src/FDM/JSBSim/models/propulsion/FGPiston.cpp @@ -298,6 +298,7 @@ double FGPiston::Calculate(void) if (Thruster->GetType() == FGThruster::ttPropeller) { ((FGPropeller*)Thruster)->SetAdvance(FCS->GetPropAdvance(EngineNumber)); + ((FGPropeller*)Thruster)->SetFeather(FCS->GetPropFeather(EngineNumber)); } PowerAvailable = (HP * hptoftlbssec) - Thruster->GetPowerRequired(); diff --git a/src/FDM/JSBSim/models/propulsion/FGPropeller.cpp b/src/FDM/JSBSim/models/propulsion/FGPropeller.cpp index af7fb564c..a223b64fe 100644 --- a/src/FDM/JSBSim/models/propulsion/FGPropeller.cpp +++ b/src/FDM/JSBSim/models/propulsion/FGPropeller.cpp @@ -127,6 +127,8 @@ FGPropeller::FGPropeller(FGFDMExec* exec, Element* prop_element, int num) 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); } @@ -223,7 +225,7 @@ double FGPropeller::GetPowerRequired(void) 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) { diff --git a/src/FDM/JSBSim/models/propulsion/FGPropeller.h b/src/FDM/JSBSim/models/propulsion/FGPropeller.h index c0ddcde12..a268b583d 100644 --- a/src/FDM/JSBSim/models/propulsion/FGPropeller.h +++ b/src/FDM/JSBSim/models/propulsion/FGPropeller.h @@ -161,6 +161,7 @@ public: bool GetReverse (void) { return Reversed; } void SetFeather (bool f) { Feathered = f; } bool GetFeather (void) { return Feathered; } + double GetThrustCoefficient(void) const {return ThrustCoeff;} private: int numBlades; diff --git a/src/FDM/JSBSim/models/propulsion/FGThruster.h b/src/FDM/JSBSim/models/propulsion/FGThruster.h index 8c6e6da5c..776ab1712 100644 --- a/src/FDM/JSBSim/models/propulsion/FGThruster.h +++ b/src/FDM/JSBSim/models/propulsion/FGThruster.h @@ -96,8 +96,6 @@ public: virtual string GetThrusterLabels(int id, string delimeter); virtual string GetThrusterValues(int id, string delimeter); - inline void SetThrustCoefficient(double ct) { ThrustCoeff = ct; } - protected: eType Type; string Name;