231 std::string GetEngineLabels(
const std::string& delimiter);
232 std::string GetEngineValues(
const std::string& delimiter);
235 double GetPowerAvailable(
void)
const {
return (HP * hptoftlbssec);}
239 void SetMagnetos(
int magnetos) {Magnetos = magnetos;}
241 double GetEGT(
void)
const {
return EGT_degC; }
242 int GetMagnetos(
void)
const {
return Magnetos;}
244 double getExhaustGasTemp_degF(
void)
const {
return KelvinToFahrenheit(ExhaustGasTemp_degK);}
245 double getManifoldPressure_inHg(
void)
const {
return ManifoldPressure_inHg;}
246 double getCylinderHeadTemp_degF(
void)
const {
return KelvinToFahrenheit(CylinderHeadTemp_degK);}
247 double getOilPressure_psi(
void)
const {
return OilPressure_psi;}
249 double getRPM(
void)
const {
return RPM;}
250 double getAFR(
void)
const {
return m_dot_fuel > 0.0 ? m_dot_air / m_dot_fuel : INFINITY;}
255 int crank_counter = 0;
257 double IndicatedHorsePower = 0.0;
261 double FMEPDynamic = 0.0;
262 double FMEPStatic = 0.0;
265 void doEngineStartup(
void);
266 void doBoostControl(
void);
268 void doAirFlow(
void);
269 void doFuelFlow(
void);
270 void doEnginePower(
void);
273 void doOilPressure(
void);
274 void doOilTemperature(
void);
275 double GetStdPressure100K(
double altitude)
const;
277 int InitRunning(
void);
285 const double calorific_value_fuel;
287 const double Cp_fuel;
288 const double standard_pressure;
291 FGTable *Lookup_Combustion_Efficiency;
292 FGTable *Mixture_Efficiency_Correlation;
297 double MinManifoldPressure_inHg = 0.0;
298 double MaxManifoldPressure_inHg = 0.0;
300 double ManifoldPressureLag = 0.0;
301 double Displacement = 0.0;
302 double displacement_SI = 0.0;
304 double StaticFriction_HP = 0.0;
305 double SparkFailDrop = 0.0;
307 double IdleRPM = 0.0;
311 double Cylinders = 0.0;
312 double CylinderHeadMass = 0.0;
313 double CompressionRatio = 0.0;
314 double Z_airbox = 0.0;
315 double Z_throttle = 0.0;
316 double PeakMeanPistonSpeed_fps = 0.0;
317 double RatedMeanPistonSpeed_fps = 0.0;
318 double Ram_Air_Factor = 0.0;
320 double StarterTorque = 0.0;
321 double StarterRPM = 0.0;
322 double StarterGain = 0.0;
325 bool Boosted =
false;
327 bool bBoostManual =
false;
328 int BoostOverride = 0;
329 bool bBoostOverride =
false;
331 bool bTakeoffBoost =
false;
333 double TakeoffBoost = 0.0;
334 double RatedBoost[FG_MAX_BOOST_SPEEDS] = {0.0, 0.0, 0.0};
335 double RatedAltitude[FG_MAX_BOOST_SPEEDS] = {0.0, 0.0, 0.0};
337 double RatedRPM[FG_MAX_BOOST_SPEEDS] = {0.0, 0.0, 0.0};
338 double RatedPower[FG_MAX_BOOST_SPEEDS] = {0.0, 0.0, 0.0};
339 double BoostSwitchAltitude[FG_MAX_BOOST_SPEEDS - 1] = {0.0, 0.0};
341 double BoostSwitchPressure[FG_MAX_BOOST_SPEEDS - 1] = {0.0, 0.0};
342 double BoostMul[FG_MAX_BOOST_SPEEDS] = {0.0, 0.0, 0.0};
343 double RatedMAP[FG_MAX_BOOST_SPEEDS] = {0.0, 0.0, 0.0};
344 double TakeoffMAP[FG_MAX_BOOST_SPEEDS] = {0.0, 0.0, 0.0};
345 double BoostSwitchHysteresis = 0.0;
346 double BoostLossFactor = 0.0;
362 double Cooling_Factor = 0.0;
363 bool Magneto_Left =
false;
364 bool Magneto_Right =
false;
367 double Oil_Press_Relief_Valve = 0.0;
368 double Oil_Press_RPM_Max = 0.0;
369 double Design_Oil_Temp = 0.0;
370 double Oil_Viscosity_Index = 0.0;
375 double rho_air = 0.0;
376 double volumetric_efficiency = 0.0;
377 double volumetric_efficiency_reduced = 0.0;
379 double m_dot_air = 0.0;
380 double v_dot_air = 0.0;
381 double equivalence_ratio = 0.0;
382 double m_dot_fuel = 0.0;
384 double BoostLossHP = 0.0;
385 double combustion_efficiency = 0.0;
386 double ExhaustGasTemp_degK = 0.0;
387 double EGT_degC = 0.0;
388 double ManifoldPressure_inHg = 0.0;
389 double CylinderHeadTemp_degK = 0.0;
390 double OilPressure_psi = 0.0;
391 double OilTemp_degK = 0.0;
392 double MeanPistonSpeed_fps = 0.0;
394 void Debug(
int from);