|
| enum | EngineType {
etUnknown
, etRocket
, etPiston
, etTurbine
,
etTurboprop
, etElectric
} |
| |
| 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...
|
| |
|
| | FGEngine (int engine_number, struct Inputs &input) |
| |
| | ~FGEngine () override |
| |
| EngineType | GetType (void) const |
| |
| virtual const std::string & | GetName (void) const |
| |
| virtual double | GetThrottleMin (void) const |
| |
| virtual double | GetThrottleMax (void) const |
| |
| virtual bool | GetStarter (void) const |
| |
| 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 bool | GetStarved (void) const |
| |
| virtual bool | GetRunning (void) const |
| |
| virtual bool | GetCranking (void) const |
| |
| virtual void | SetStarved (bool tt) |
| |
| virtual void | SetStarved (void) |
| |
| virtual void | SetRunning (bool bb) |
| |
| virtual void | SetName (const std::string &name) |
| |
| virtual void | SetFuelFreeze (bool f) |
| |
| virtual void | SetFuelDensity (double d) |
| |
| virtual void | SetStarter (bool s) |
| |
| virtual int | InitRunning (void) |
| |
| virtual void | ResetToIC (void) |
| | Resets the Engine parameters to the initial conditions.
|
| |
| virtual void | Calculate (void)=0 |
| | Calculates the thrust of the engine, and other engine functions.
|
| |
| virtual double | GetThrust (void) const |
| |
| 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 double | GetPowerAvailable (void) |
| |
| virtual const FGColumnVector3 & | GetBodyForces (void) |
| |
| virtual const FGColumnVector3 & | GetMoments (void) |
| |
| void | LoadThruster (FGFDMExec *exec, Element *el) |
| |
| FGThruster * | GetThruster (void) const |
| |
| unsigned int | GetSourceTank (unsigned int i) const |
| |
| size_t | GetNumSourceTanks () const |
| |
| virtual std::string | GetEngineLabels (const std::string &delimiter)=0 |
| |
| virtual std::string | GetEngineValues (const std::string &delimiter)=0 |
| |
| void | LoadThrusterInputs () |
| |
| virtual | ~FGModelFunctions () |
| |
| void | RunPreFunctions (void) |
| |
| void | RunPostFunctions (void) |
| |
| bool | Load (Element *el, FGFDMExec *fdmex, std::string prefix="") |
| |
| void | PreLoad (Element *el, FGFDMExec *fdmex, std::string prefix="") |
| |
| void | PostLoad (Element *el, FGFDMExec *fdmex, std::string prefix="") |
| |
| 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.
|
| |
| FGFunction * | GetPreFunction (const std::string &name) |
| | Get one of the "pre" function.
|
| |
| | FGJSBBase () |
| | Constructor for FGJSBBase.
|
| |
| virtual | ~FGJSBBase () |
| | Destructor for FGJSBBase.
|
| |
| void | PutMessage (const Message &msg) |
| | Places a Message structure on the Message queue.
|
| |
| void | PutMessage (const std::string &text) |
| | Creates a message with the given text and places it on the queue.
|
| |
| void | PutMessage (const std::string &text, bool bVal) |
| | Creates a message with the given text and boolean value and places it on the queue.
|
| |
| void | PutMessage (const std::string &text, int iVal) |
| | Creates a message with the given text and integer value and places it on the queue.
|
| |
| void | PutMessage (const std::string &text, double dVal) |
| | Creates a message with the given text and double value and places it on the queue.
|
| |
| int | SomeMessages (void) const |
| | Reads the message on the queue (but does not delete it).
|
| |
| void | ProcessMessage (void) |
| | Reads the message on the queue and removes it from the queue.
|
| |
| Message * | ProcessNextMessage (void) |
| | Reads the next message on the queue and removes it from the queue.
|
| |
| void | disableHighLighting (void) |
| | Disables highlighting in the console output.
|
| |
|
| 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 double | PitotTotalPressure (double mach, double p) |
| | Compute the total pressure in front of the Pitot tube.
|
| |
| static double | MachFromImpactPressure (double qc, double p) |
| | Compute the Mach number from the differential pressure (qc) and the static pressure.
|
| |
| static double | VcalibratedFromMach (double mach, double p) |
| | Calculate the calibrated airspeed from the Mach number.
|
| |
| static double | MachFromVcalibrated (double vcas, double p) |
| | Calculate the Mach number from the calibrated airspeed.Based on the formulas in the US Air Force Aircraft Performance Flight Testing Manual (AFFTC-TIH-99-01).
|
| |
| 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 double | GaussianRandomNumber (void) |
| |
| 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 std::string | CreateIndexedPropertyName (const std::string &Property, int index) |
| |
| static Message | localMsg |
| |
| static std::queue< Message > | Messages |
| |
| static unsigned int | messageId = 0 |
| |
| static constexpr double | radtodeg = 180. / 3.14159265358979323846 |
| |
| static constexpr double | degtorad = 3.14159265358979323846 / 180. |
| |
| static constexpr double | hptoftlbssec = 550.0 |
| |
| static constexpr double | psftoinhg = 0.014138 |
| |
| static constexpr double | psftopa = 47.88 |
| |
| static constexpr double | ktstofps = 1.68781 |
| |
| static constexpr double | fpstokts = 1.0 / ktstofps |
| |
| static constexpr double | inchtoft = 1.0/12.0 |
| |
| static constexpr double | fttom = 0.3048 |
| |
| 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__ |
| |
| static int | gaussian_random_number_phase = 0 |
| |
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.
Configuration File Format:
<engine file="{string}">
<feed> {integer} </feed>
... optional more feed tank index numbers ...
<thruster file="{string}">
<location unit="{IN | M}">
<x> {number} </x>
<y> {number} </y>
<z> {number} </z>
</location>
<orient unit="{RAD | DEG}">
<roll> {number} </roll>
<pitch> {number} </pitch>
<yaw> {number} </yaw>
</orient>
</thruster>
</engine>
NOTES:
Not all thruster types can be matched with a given engine type. See the class
documentation for engine and thruster classes.
- Author
- Jon S. Berndt
Definition at line 103 of file FGEngine.h.