![]() |
JSBSim Flight Dynamics Model 1.2.3 (07 Jun 2025)
An Open Source Flight Dynamics and Control Software Library in C++
|
Base class for specific thrusting devices such as propellers, nozzles, etc.
"Reverser angle" as used here is a way to manipulate the thrust vector, along the thrust axis ONLY, during run time. This should not be confused with a thrust vectoring nozzle. The angle is defined in radians, and is used thus: Final_thrust = cosine( reverser_angle ) * unmodified_thrust. Therefore a reverser angle of 0 results in no change, and a reverser angle of 3.14 (pi) results in a completely reversed thrust vector. An angle of 1.57 (pi/2) results in no thrust at all. @author Jon Berndt
Definition at line 77 of file FGThruster.h.
#include <FGThruster.h>
Inheritance diagram for FGThruster:
Collaboration diagram for FGThruster:Classes | |
| struct | Inputs |
Public Types | |
| enum | eType { ttNozzle , ttRotor , ttPropeller , ttDirect } |
Public Types inherited from FGForce | |
| enum | TransformType { tNone , tWindBody , tLocalBody , tInertialBody , tCustom } |
Public Types inherited from FGJSBBase | |
| enum | { eL = 1 , eM , eN } |
| Moments L, M, N. More... | |
| enum | { eP = 1 , eQ , eR } |
| Rates P, Q, R. More... | |
| enum | { eU = 1 , eV , eW } |
| Velocities U, V, W. More... | |
| enum | { eX = 1 , eY , eZ } |
| Positions X, Y, Z. More... | |
| enum | { ePhi = 1 , eTht , ePsi } |
| Euler angles Phi, Theta, Psi. More... | |
| enum | { eDrag = 1 , eSide , eLift } |
| Stability axis forces, Drag, Side force, Lift. More... | |
| enum | { eRoll = 1 , ePitch , eYaw } |
| Local frame orientation Roll, Pitch, Yaw. More... | |
| enum | { eNorth = 1 , eEast , eDown } |
| Local frame position North, East, Down. More... | |
| enum | { eLat = 1 , eLong , eRad } |
| Locations Radius, Latitude, Longitude. More... | |
| enum | { inNone = 0 , inDegrees , inRadians , inMeters , inFeet } |
| Conversion specifiers. More... | |
Public Member Functions | |
| FGThruster (FGFDMExec *FDMExec, Element *el, int num) | |
| Constructor. | |
| virtual | ~FGThruster () |
| Destructor. | |
| virtual double | Calculate (double tt) |
| virtual double | GetEngineRPM (void) const |
| double | GetGearRatio (void) |
| std::string | GetName (void) |
| virtual double | GetPowerRequired (void) |
| double | GetReverserAngle (void) const |
| virtual double | GetRPM (void) const |
| double | GetThrust (void) const |
| virtual std::string | GetThrusterLabels (int id, const std::string &delimeter) |
| virtual std::string | GetThrusterValues (int id, const std::string &delimeter) |
| eType | GetType (void) |
| virtual void | ResetToIC (void) |
| virtual void | SetEngineRPM (double rpm) |
| void | SetName (std::string name) |
| void | SetReverserAngle (double angle) |
| virtual void | SetRPM (double rpm) |
Public Member Functions inherited from FGForce | |
| FGForce (FGFDMExec *FDMExec) | |
| Constructor. | |
| virtual | ~FGForce () |
| Destructor. | |
| const FGColumnVector3 & | GetActingLocation (void) const |
| double | GetActingLocationX (void) const |
| double | GetActingLocationY (void) const |
| double | GetActingLocationZ (void) const |
| double | GetAnglesToBody (int axis) const |
| const FGColumnVector3 & | GetAnglesToBody (void) const |
| virtual const FGColumnVector3 & | GetBodyForces (void) |
| double | GetBodyXForce (void) const |
| double | GetBodyYForce (void) const |
| double | GetBodyZForce (void) const |
| const FGColumnVector3 & | GetLocation (void) const |
| double | GetLocationX (void) const |
| double | GetLocationY (void) const |
| double | GetLocationZ (void) const |
| const FGColumnVector3 & | GetMoments (void) const |
| double | GetPitch (void) const |
| TransformType | GetTransformType (void) const |
| double | GetYaw (void) const |
| void | SetActingLocation (const FGColumnVector3 &vv) |
| void | SetActingLocation (double x, double y, double z) |
| Acting point of application. | |
| void | SetActingLocationX (double x) |
| void | SetActingLocationY (double y) |
| void | SetActingLocationZ (double z) |
| void | SetAnglesToBody (const FGColumnVector3 &vv) |
| void | SetAnglesToBody (double broll, double bpitch, double byaw) |
| void | SetLocation (const FGColumnVector3 &vv) |
| void | SetLocation (double x, double y, double z) |
| void | SetLocationX (double x) |
| void | SetLocationY (double y) |
| void | SetLocationZ (double z) |
| void | SetPitch (double pitch) |
| void | SetTransformType (TransformType ii) |
| void | SetYaw (double yaw) |
| const FGMatrix33 & | Transform (void) const |
| void | UpdateCustomTransformMatrix (void) |
Public Member Functions inherited from FGJSBBase | |
| FGJSBBase () | |
| Constructor for FGJSBBase. | |
| virtual | ~FGJSBBase () |
| Destructor for FGJSBBase. | |
| void | disableHighLighting (void) |
| Disables highlighting in the console output. | |
Public Attributes | |
| struct JSBSim::FGThruster::Inputs | in |
Protected Member Functions | |
| virtual void | Debug (int from) |
Protected Attributes | |
| int | EngineNum |
| double | GearRatio |
| std::string | Name |
| double | PowerRequired |
| double | ReverserAngle |
| double | Thrust |
| double | ThrustCoeff |
| eType | Type |
Protected Attributes inherited from FGForce | |
| FGFDMExec * | fdmex |
| std::shared_ptr< FGMassBalance > | MassBalance |
| FGMatrix33 | mT |
| TransformType | ttype |
| FGColumnVector3 | vActingXYZn |
| FGColumnVector3 | vFn |
| FGColumnVector3 | vMn |
| FGColumnVector3 | vOrient |
| FGColumnVector3 | vXYZn |
Additional Inherited Members | |
Static Public Member Functions inherited from FGJSBBase | |
| static const std::string & | GetVersion (void) |
| Returns the version number of JSBSim. | |
| static constexpr double | KelvinToFahrenheit (double kelvin) |
| Converts from degrees Kelvin to degrees Fahrenheit. | |
| static constexpr double | CelsiusToRankine (double celsius) |
| Converts from degrees Celsius to degrees Rankine. | |
| static constexpr double | RankineToCelsius (double rankine) |
| Converts from degrees Rankine to degrees Celsius. | |
| static constexpr double | KelvinToRankine (double kelvin) |
| Converts from degrees Kelvin to degrees Rankine. | |
| static constexpr double | RankineToKelvin (double rankine) |
| Converts from degrees Rankine to degrees Kelvin. | |
| static constexpr double | FahrenheitToCelsius (double fahrenheit) |
| Converts from degrees Fahrenheit to degrees Celsius. | |
| static constexpr double | CelsiusToFahrenheit (double celsius) |
| Converts from degrees Celsius to degrees Fahrenheit. | |
| static constexpr double | CelsiusToKelvin (double celsius) |
| Converts from degrees Celsius to degrees Kelvin. | |
| static constexpr double | KelvinToCelsius (double kelvin) |
| Converts from degrees Kelvin to degrees Celsius. | |
| static constexpr double | FeetToMeters (double measure) |
| Converts from feet to meters. | |
| static bool | EqualToRoundoff (double a, double b) |
| Finite precision comparison. | |
| static bool | EqualToRoundoff (float a, float b) |
| Finite precision comparison. | |
| static bool | EqualToRoundoff (float a, double b) |
| Finite precision comparison. | |
| static bool | EqualToRoundoff (double a, float b) |
| Finite precision comparison. | |
| static constexpr double | Constrain (double min, double value, double max) |
| Constrain a value between a minimum and a maximum value. | |
| static constexpr double | sign (double num) |
Static Public Attributes inherited from FGJSBBase | |
| static char | highint [5] = {27, '[', '1', 'm', '\0' } |
| highlights text | |
| static char | halfint [5] = {27, '[', '2', 'm', '\0' } |
| low intensity text | |
| static char | normint [6] = {27, '[', '2', '2', 'm', '\0' } |
| normal intensity text | |
| static char | reset [5] = {27, '[', '0', 'm', '\0' } |
| resets text properties | |
| static char | underon [5] = {27, '[', '4', 'm', '\0' } |
| underlines text | |
| static char | underoff [6] = {27, '[', '2', '4', 'm', '\0' } |
| underline off | |
| static char | fgblue [6] = {27, '[', '3', '4', 'm', '\0' } |
| blue text | |
| static char | fgcyan [6] = {27, '[', '3', '6', 'm', '\0' } |
| cyan text | |
| static char | fgred [6] = {27, '[', '3', '1', 'm', '\0' } |
| red text | |
| static char | fggreen [6] = {27, '[', '3', '2', 'm', '\0' } |
| green text | |
| static char | fgdef [6] = {27, '[', '3', '9', 'm', '\0' } |
| default text | |
| static short | debug_lvl = 1 |
Static Protected Member Functions inherited from FGJSBBase | |
| static std::string | CreateIndexedPropertyName (const std::string &Property, int index) |
Static Protected Attributes inherited from FGJSBBase | |
| static constexpr double | radtodeg = 180. / M_PI |
| static constexpr double | degtorad = M_PI / 180. |
| static constexpr double | hptoftlbssec = 550.0 |
| static constexpr double | psftoinhg = 0.014138 |
| static constexpr double | psftopa = 47.88 |
| static constexpr double | fttom = 0.3048 |
| static constexpr double | ktstofps = 1852./(3600*fttom) |
| static constexpr double | fpstokts = 1.0 / ktstofps |
| static constexpr double | inchtoft = 1.0/12.0 |
| static constexpr double | m3toft3 = 1.0/(fttom*fttom*fttom) |
| static constexpr double | in3tom3 = inchtoft*inchtoft*inchtoft/m3toft3 |
| static constexpr double | inhgtopa = 3386.38 |
| static constexpr double | slugtolb = 32.174049 |
| Note that definition of lbtoslug by the inverse of slugtolb and not to a different constant you can also get from some tables will make lbtoslug*slugtolb == 1 up to the magnitude of roundoff. | |
| static constexpr double | lbtoslug = 1.0/slugtolb |
| static constexpr double | kgtolb = 2.20462 |
| static constexpr double | kgtoslug = 0.06852168 |
| static const std::string | needed_cfg_version = "2.0" |
| static const std::string | JSBSim_version = JSBSIM_VERSION " " __DATE__ " " __TIME__ |
| enum eType |
Definition at line 85 of file FGThruster.h.
| FGThruster | ( | FGFDMExec * | FDMExec, |
| Element * | el, | ||
| int | num | ||
| ) |
Constructor.
Definition at line 55 of file FGThruster.cpp.
Here is the call graph for this function:
|
virtual |
|
inlinevirtual |
Reimplemented in FGPropeller, and FGRotor.
Definition at line 87 of file FGThruster.h.
|
protectedvirtual |
Definition at line 189 of file FGThruster.cpp.
|
inlinevirtual |
Reimplemented in FGPropeller, and FGRotor.
Definition at line 102 of file FGThruster.h.
|
inline |
Definition at line 103 of file FGThruster.h.
|
inline |
Definition at line 98 of file FGThruster.h.
|
inlinevirtual |
Reimplemented in FGPropeller, and FGRotor.
Definition at line 95 of file FGThruster.h.
|
inline |
Definition at line 100 of file FGThruster.h.
|
inlinevirtual |
Reimplemented in FGPropeller, and FGRotor.
Definition at line 101 of file FGThruster.h.
|
inline |
Definition at line 96 of file FGThruster.h.
|
virtual |
Reimplemented in FGPropeller.
Definition at line 150 of file FGThruster.cpp.
|
virtual |
Reimplemented in FGPropeller.
Definition at line 161 of file FGThruster.cpp.
|
inline |
Definition at line 97 of file FGThruster.h.
|
virtual |
Reimplemented in FGPropeller.
Definition at line 141 of file FGThruster.cpp.
|
inlinevirtual |
|
inline |
Definition at line 92 of file FGThruster.h.
|
inline |
Definition at line 99 of file FGThruster.h.
|
inlinevirtual |
|
protected |
Definition at line 131 of file FGThruster.h.
|
protected |
Definition at line 128 of file FGThruster.h.
|
protected |
Definition at line 125 of file FGThruster.h.
|
protected |
Definition at line 127 of file FGThruster.h.
|
protected |
Definition at line 130 of file FGThruster.h.
|
protected |
Definition at line 126 of file FGThruster.h.
|
protected |
Definition at line 129 of file FGThruster.h.
|
protected |
Definition at line 124 of file FGThruster.h.