![]() |
JSBSim Flight Dynamics Model 1.2.3 (07 Jun 2025)
An Open Source Flight Dynamics and Control Software Library in C++
|
Base class for all engines.
This base class contains methods and members common to all engines, such as logic to drain fuel from the appropriate tank, etc.
NOTES:
Not all thruster types can be matched with a given engine type. See the class
documentation for engine and thruster classes.
Definition at line 103 of file FGEngine.h.
#include <FGEngine.h>
Inheritance diagram for FGEngine:
Collaboration diagram for FGEngine:Classes | |
| struct | Inputs |
Public Types | |
| enum | EngineType { etUnknown , etRocket , etPiston , etTurbine , etTurboprop , etElectric } |
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 | |
| FGEngine (int engine_number, struct Inputs &input) | |
| virtual double | CalcFuelNeed (void) |
| The fuel need is calculated based on power levels and flow rate for that power level. | |
| virtual double | CalcOxidizerNeed (void) |
| virtual void | Calculate (void)=0 |
| Calculates the thrust of the engine, and other engine functions. | |
| virtual const FGColumnVector3 & | GetBodyForces (void) |
| virtual bool | GetCranking (void) const |
| virtual std::string | GetEngineLabels (const std::string &delimiter)=0 |
| virtual std::string | GetEngineValues (const std::string &delimiter)=0 |
| virtual double | getFuelFlow_gph () const |
| virtual double | getFuelFlow_pph () const |
| virtual double | GetFuelFlowRate (void) const |
| virtual double | GetFuelFlowRateGPH (void) const |
| virtual double | GetFuelUsedLbs (void) const |
| virtual const FGColumnVector3 & | GetMoments (void) |
| virtual const std::string & | GetName (void) const |
| size_t | GetNumSourceTanks () const |
| virtual double | GetPowerAvailable (void) const |
| virtual bool | GetRunning (void) const |
| unsigned int | GetSourceTank (unsigned int i) const |
| virtual bool | GetStarter (void) const |
| virtual bool | GetStarved (void) const |
| virtual double | GetThrottleMax (void) const |
| virtual double | GetThrottleMin (void) const |
| virtual double | GetThrust (void) const |
| FGThruster * | GetThruster (void) const |
| EngineType | GetType (void) const |
| virtual int | InitRunning (void) |
| void | LoadThruster (FGFDMExec *exec, Element *el) |
| void | LoadThrusterInputs () |
| virtual void | ResetToIC (void) |
| Resets the Engine parameters to the initial conditions. | |
| virtual void | SetFuelDensity (double d) |
| virtual void | SetFuelFreeze (bool f) |
| virtual void | SetName (const std::string &name) |
| virtual void | SetRunning (bool bb) |
| virtual void | SetStarter (bool s) |
| virtual void | SetStarved (bool tt) |
| virtual void | SetStarved (void) |
Public Member Functions inherited from FGModelFunctions | |
| std::string | GetFunctionStrings (const std::string &delimeter) const |
| Gets the strings for the current set of functions. | |
| std::string | GetFunctionValues (const std::string &delimeter) const |
| Gets the function values. | |
| std::shared_ptr< FGFunction > | GetPreFunction (const std::string &name) |
| Get one of the "pre" function. | |
| bool | Load (Element *el, FGFDMExec *fdmex, std::string prefix="") |
| void | PostLoad (Element *el, FGFDMExec *fdmex, std::string prefix="") |
| void | PreLoad (Element *el, FGFDMExec *fdmex, std::string prefix="") |
| void | RunPostFunctions (void) |
| void | RunPreFunctions (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 Inputs & | in |
Protected Member Functions | |
| void | Debug (int from) |
| bool | Load (FGFDMExec *exec, Element *el) |
Protected Member Functions inherited from FGModelFunctions | |
| virtual bool | InitModel (void) |
Protected Attributes | |
| bool | Cranking |
| const int | EngineNumber |
| double | FuelDensity |
| double | FuelExpended |
| double | FuelFlow_gph |
| double | FuelFlow_pph |
| double | FuelFlowRate |
| bool | FuelFreeze |
| double | FuelUsedLbs |
| double | MaxThrottle |
| double | MinThrottle |
| std::string | Name |
| double | PctPower |
| bool | Running |
| double | SLFuelFlowMax |
| std::vector< int > | SourceTanks |
| bool | Starter |
| bool | Starved |
| FGThruster * | Thruster |
| EngineType | Type |
Protected Attributes inherited from FGModelFunctions | |
| FGPropertyReader | LocalProperties |
| std::vector< std::shared_ptr< FGFunction > > | PostFunctions |
| std::vector< std::shared_ptr< FGFunction > > | PreFunctions |
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 EngineType |
Definition at line 136 of file FGEngine.h.
Definition at line 55 of file FGEngine.cpp.
|
override |
Definition at line 69 of file FGEngine.cpp.
|
virtual |
The fuel need is calculated based on power levels and flow rate for that power level.
It is also turned from a rate into an actual amount (pounds) by multiplying it by the delta T and the rate.
Reimplemented in FGBrushLessDCMotor, FGPiston, FGRocket, FGTurbine, and FGTurboProp.
Definition at line 93 of file FGEngine.cpp.
|
inlinevirtual |
|
pure virtual |
Calculates the thrust of the engine, and other engine functions.
Implemented in FGBrushLessDCMotor, FGElectric, FGPiston, FGRocket, FGTurbine, and FGTurboProp.
Here is the caller graph for this function:
|
protected |
Definition at line 263 of file FGEngine.cpp.
|
virtual |
Definition at line 121 of file FGEngine.cpp.
|
inlinevirtual |
Definition at line 153 of file FGEngine.h.
|
inlinevirtual |
Definition at line 146 of file FGEngine.h.
|
inlinevirtual |
Definition at line 147 of file FGEngine.h.
|
inlinevirtual |
Definition at line 148 of file FGEngine.h.
|
inlinevirtual |
Definition at line 149 of file FGEngine.h.
|
inlinevirtual |
Definition at line 150 of file FGEngine.h.
|
virtual |
Definition at line 128 of file FGEngine.cpp.
|
inlinevirtual |
Definition at line 139 of file FGEngine.h.
|
inline |
Definition at line 192 of file FGEngine.h.
|
inlinevirtual |
Definition at line 183 of file FGEngine.h.
|
inlinevirtual |
Definition at line 152 of file FGEngine.h.
| unsigned int GetSourceTank | ( | unsigned int | i | ) | const |
Definition at line 103 of file FGEngine.cpp.
|
inlinevirtual |
Definition at line 144 of file FGEngine.h.
|
inlinevirtual |
Definition at line 151 of file FGEngine.h.
|
inlinevirtual |
Definition at line 143 of file FGEngine.h.
|
inlinevirtual |
Definition at line 142 of file FGEngine.h.
|
virtual |
Definition at line 114 of file FGEngine.cpp.
|
inline |
Definition at line 189 of file FGEngine.h.
|
inline |
Definition at line 138 of file FGEngine.h.
|
inlinevirtual |
Definition at line 165 of file FGEngine.h.
Definition at line 176 of file FGEngine.cpp.
Definition at line 152 of file FGEngine.cpp.
| void LoadThrusterInputs | ( | ) |
Definition at line 135 of file FGEngine.cpp.
|
virtual |
Resets the Engine parameters to the initial conditions.
Reimplemented in FGPiston, and FGTurbine.
Definition at line 77 of file FGEngine.cpp.
Here is the caller graph for this function:
|
inlinevirtual |
Definition at line 161 of file FGEngine.h.
|
inlinevirtual |
Definition at line 160 of file FGEngine.h.
|
inlinevirtual |
Definition at line 159 of file FGEngine.h.
|
inlinevirtual |
Definition at line 158 of file FGEngine.h.
|
inlinevirtual |
Definition at line 163 of file FGEngine.h.
|
inlinevirtual |
Definition at line 155 of file FGEngine.h.
|
inlinevirtual |
Definition at line 156 of file FGEngine.h.
|
protected |
Definition at line 215 of file FGEngine.h.
|
protected |
Definition at line 203 of file FGEngine.h.
|
protected |
Definition at line 221 of file FGEngine.h.
|
protected |
Definition at line 209 of file FGEngine.h.
|
protected |
Definition at line 218 of file FGEngine.h.
|
protected |
Definition at line 219 of file FGEngine.h.
|
protected |
Definition at line 210 of file FGEngine.h.
|
protected |
Definition at line 216 of file FGEngine.h.
|
protected |
Definition at line 220 of file FGEngine.h.
| struct Inputs& in |
Definition at line 197 of file FGEngine.h.
|
protected |
Definition at line 206 of file FGEngine.h.
|
protected |
Definition at line 207 of file FGEngine.h.
|
protected |
Definition at line 202 of file FGEngine.h.
|
protected |
Definition at line 211 of file FGEngine.h.
|
protected |
Definition at line 214 of file FGEngine.h.
|
protected |
Definition at line 205 of file FGEngine.h.
|
protected |
Definition at line 225 of file FGEngine.h.
|
protected |
Definition at line 212 of file FGEngine.h.
|
protected |
Definition at line 213 of file FGEngine.h.
|
protected |
Definition at line 223 of file FGEngine.h.
|
protected |
Definition at line 204 of file FGEngine.h.