WSF
wsf::six_dof::JetEngine Class Reference

#include <WsfSixDOF_JetEngine.hpp>

Inheritance diagram for wsf::six_dof::JetEngine:
Collaboration diagram for wsf::six_dof::JetEngine:

Public Member Functions

 JetEngine (ThrustProducerObject *aParentObject)
 ~JetEngine ()=default
JetEngineoperator= (const JetEngine &other)=delete
bool ProcessInput (UtInput &aInput, TypeManager *aTypeManager) override
bool Initialize (int64_t aSimTime_nanosec) override
EngineClone () const override
void DeriveFrom (const Engine *aSrc) override
void InjectFuel (bool aInjectFuel)
double GetEnginePercentRPM () const
double GetNozzlePosition () const
double GetFuelBurnRate_pph () const override
double GetMaximumPotentialThrust_lbs (double aAlt_ft, double aDynPress_lbsqft, double aStatPress_lbssqft, double aSpeed_fps, double aMach, double aAlpha_rad, double aBeta_rad) override
double GetMinimumPotentialThrust_lbs (double aAlt_ft, double aDynPress_lbsqft, double aStatPress_lbssqft, double aSpeed_fps, double aMach, double aAlpha_rad, double aBeta_rad) override
void SetThrottlePosition (double aThrottleLeverPosition) override
double GetThrottlePosition () const override
void Ignite (int64_t aIgniteTimeInFrame_nanosec) override
void Shutdown (int64_t aTerminateTime_nanosec=0) override
Public Member Functions inherited from wsf::six_dof::Engine
 Engine (ThrustProducerObject *aParentObject)
virtual ~Engine ()=default
Engineoperator= (const Engine &other)=delete
ThrustProducerObjectGetParentThrustProducer ()
void SetParentThrustProducer (ThrustProducerObject *aThrustProducerPtr)
double GetThrust_lbs () const
void CalculateThrust (double aDeltaT_sec, double aAlt_ft, double aDynPress_lbsqft, double aStatPress_lbssqft, double aSpeed_fps, double aMach, double aAlpha_rad, double aBeta_rad, double &aForce_lbs, double &aFuelBurnRate_pps, double &aFuelBurned_lbs)
void UpdateThrust (double aDeltaT_sec, double aAlt_ft, double aDynPress_lbsqft, double aStatPress_lbssqft, double aSpeed_fps, double aMach, double aAlpha_rad, double aBeta_rad, double &aForce_lbs, double &aFuelBurnRate_pps, double &aFuelBurned_lbs)
bool CheckCurrentFuelTank ()
virtual bool SetFuelTank (const std::string &aFuelTankName)
const FuelTankGetFuelTank () const
bool EngineOperating () const
virtual bool MayHaveEngineOperating () const
virtual bool MayProduceEngineSmoke () const
virtual bool MayContrail () const
bool ProducingSmokeTrail () const
virtual bool MayProduceSmokeTrail () const
bool AfterburnerOn () const
bool Contrailing () const
bool EngineSmoking () const
void MakeEngineSmoke (bool aSmoking)
virtual bool AfterburnerIsPresent () const

Protected Member Functions

 JetEngine (const JetEngine &aSrc)
void CalculateThrust (double aDeltaT_sec, double aAlt_ft, double aDynPress_lbsqft, double aStatPress_lbssqft, double aSpeed_fps, double aMach, double aAlpha_rad, double aBeta_rad, double &aForce_lbs, double &aFuelBurnRate_pps, double &aFuelBurned_lbs, bool aUpdateData) override
bool DetermineIfAfterburnerIsPresent ()
Protected Member Functions inherited from wsf::six_dof::Engine
 Engine (const Engine &aSrc)

Protected Attributes

double mThrottleLeverPosition = 0.0
UtCloneablePtr< UtTable::Curve > mIdleThrustTable {nullptr}
UtCloneablePtr< UtTable::Curve > mMilThrustTable {nullptr}
UtCloneablePtr< UtTable::Curve > mABThrustTable {nullptr}
UtCloneablePtr< UtTable::Table > mIdleThrustMachAltTable {nullptr}
UtCloneablePtr< UtTable::Table > mMilThrustMachAltTable {nullptr}
UtCloneablePtr< UtTable::Table > mABThrustMachAltTable {nullptr}
UtCloneablePtr< UtTable::Table > mIdleThrustAltMachTable {nullptr}
UtCloneablePtr< UtTable::Table > mMilThrustAltMachTable {nullptr}
UtCloneablePtr< UtTable::Table > mABThrustAltMachTable {nullptr}
double mTSFC_Idle_pph = 0.0
double mTSFC_Mil_pph = 0.0
double mTSFC_AB_pph = 0.0
double mRatedThrustIdle_lbs = 0.0
double mRatedThrustMil_lbs = 0.0
double mRatedThrustAB_lbs = 0.0
double mEffectiveTSFC_Idle_pps = 0.0
double mEffectiveTSFC_Mil_pps = 0.0
double mEffectiveTSFC_AB_pps = 0.0
double mLastThrottleLeverPosition = 0.0
double mEnginePercentRPM = 0.0
double mNozzlePosition = 0.0
double mSpinUpMil_per_sec = 0.0
double mSpinDownMil_per_sec = 0.0
double mSpinUpAB_per_sec = 0.0
double mSpinDownAB_per_sec = 0.0
UtCloneablePtr< UtTable::Curve > mSpinUpMilTable {nullptr}
UtCloneablePtr< UtTable::Curve > mSpinDownMilTable {nullptr}
UtCloneablePtr< UtTable::Curve > mSpinUpABTable {nullptr}
UtCloneablePtr< UtTable::Curve > mSpinDownABTable {nullptr}
double mCurrentFuelBurnRate_pph = 0.0
bool mThrottleLeverPositionSet = false
bool mInjectFuel = true
bool mEngineMaySmoke = false
double mEngineSmokesAboveLevel = 1.0
Protected Attributes inherited from wsf::six_dof::Engine
ThrustProducerObjectmParentThrustProducerPtr = nullptr
std::string mTypeOfEngine
FuelTankmCurrentFuelTank = nullptr
double mCurrentThrust_lbs = 0.0
bool mShutdownInProgress = false
int64_t mShutdownFraction_nanosec = 0
int64_t mIgniteTimeInFrame_nanosec = 0
bool mEngineOperating = false
bool mContrailing = false
bool mAfterburnerPresent = false
bool mAfterburnerOn = false
bool mProducingSmokeTrail = false
bool mEngineDamageSmokeActivated = false
bool mEngineSmoking = false

Constructor & Destructor Documentation

◆ JetEngine() [1/2]

wsf::six_dof::JetEngine::JetEngine ( ThrustProducerObject * aParentObject)
explicit

◆ ~JetEngine()

wsf::six_dof::JetEngine::~JetEngine ( )
default

◆ JetEngine() [2/2]

Member Function Documentation

◆ CalculateThrust()

void wsf::six_dof::JetEngine::CalculateThrust ( double aDeltaT_sec,
double aAlt_ft,
double aDynPress_lbsqft,
double aStatPress_lbssqft,
double aSpeed_fps,
double aMach,
double aAlpha_rad,
double aBeta_rad,
double & aForce_lbs,
double & aFuelBurnRate_pps,
double & aFuelBurned_lbs,
bool aUpdateData )
overrideprotectedvirtual

◆ Clone()

wsf::six_dof::Engine * wsf::six_dof::JetEngine::Clone ( ) const
overridevirtual

Implements wsf::six_dof::Engine.

References JetEngine().

Referenced by operator=().

◆ DeriveFrom()

◆ DetermineIfAfterburnerIsPresent()

bool wsf::six_dof::JetEngine::DetermineIfAfterburnerIsPresent ( )
protected

◆ GetEnginePercentRPM()

double wsf::six_dof::JetEngine::GetEnginePercentRPM ( ) const

References mEnginePercentRPM.

◆ GetFuelBurnRate_pph()

double wsf::six_dof::JetEngine::GetFuelBurnRate_pph ( ) const
overridevirtual

◆ GetMaximumPotentialThrust_lbs()

double wsf::six_dof::JetEngine::GetMaximumPotentialThrust_lbs ( double aAlt_ft,
double aDynPress_lbsqft,
double aStatPress_lbssqft,
double aSpeed_fps,
double aMach,
double aAlpha_rad,
double aBeta_rad )
overridevirtual

◆ GetMinimumPotentialThrust_lbs()

double wsf::six_dof::JetEngine::GetMinimumPotentialThrust_lbs ( double aAlt_ft,
double aDynPress_lbsqft,
double aStatPress_lbssqft,
double aSpeed_fps,
double aMach,
double aAlpha_rad,
double aBeta_rad )
overridevirtual

◆ GetNozzlePosition()

double wsf::six_dof::JetEngine::GetNozzlePosition ( ) const

References mNozzlePosition.

◆ GetThrottlePosition()

double wsf::six_dof::JetEngine::GetThrottlePosition ( ) const
overridevirtual

◆ Ignite()

void wsf::six_dof::JetEngine::Ignite ( int64_t aIgniteTimeInFrame_nanosec)
overridevirtual

◆ Initialize()

◆ InjectFuel()

void wsf::six_dof::JetEngine::InjectFuel ( bool aInjectFuel)
inline

References mInjectFuel.

Referenced by Ignite(), and Shutdown().

◆ operator=()

JetEngine & wsf::six_dof::JetEngine::operator= ( const JetEngine & other)
delete

◆ ProcessInput()

◆ SetThrottlePosition()

void wsf::six_dof::JetEngine::SetThrottlePosition ( double aThrottleLeverPosition)
overridevirtual

◆ Shutdown()

void wsf::six_dof::JetEngine::Shutdown ( int64_t aTerminateTime_nanosec = 0)
overridevirtual

Implements wsf::six_dof::Engine.

References InjectFuel().

Member Data Documentation

◆ mABThrustAltMachTable

UtCloneablePtr<UtTable::Table> wsf::six_dof::JetEngine::mABThrustAltMachTable {nullptr}
protected

◆ mABThrustMachAltTable

UtCloneablePtr<UtTable::Table> wsf::six_dof::JetEngine::mABThrustMachAltTable {nullptr}
protected

◆ mABThrustTable

UtCloneablePtr<UtTable::Curve> wsf::six_dof::JetEngine::mABThrustTable {nullptr}
protected

◆ mCurrentFuelBurnRate_pph

double wsf::six_dof::JetEngine::mCurrentFuelBurnRate_pph = 0.0
protected

◆ mEffectiveTSFC_AB_pps

double wsf::six_dof::JetEngine::mEffectiveTSFC_AB_pps = 0.0
protected

◆ mEffectiveTSFC_Idle_pps

double wsf::six_dof::JetEngine::mEffectiveTSFC_Idle_pps = 0.0
protected

◆ mEffectiveTSFC_Mil_pps

double wsf::six_dof::JetEngine::mEffectiveTSFC_Mil_pps = 0.0
protected

◆ mEngineMaySmoke

bool wsf::six_dof::JetEngine::mEngineMaySmoke = false
protected

◆ mEnginePercentRPM

double wsf::six_dof::JetEngine::mEnginePercentRPM = 0.0
protected

◆ mEngineSmokesAboveLevel

double wsf::six_dof::JetEngine::mEngineSmokesAboveLevel = 1.0
protected

◆ mIdleThrustAltMachTable

UtCloneablePtr<UtTable::Table> wsf::six_dof::JetEngine::mIdleThrustAltMachTable {nullptr}
protected

◆ mIdleThrustMachAltTable

UtCloneablePtr<UtTable::Table> wsf::six_dof::JetEngine::mIdleThrustMachAltTable {nullptr}
protected

◆ mIdleThrustTable

UtCloneablePtr<UtTable::Curve> wsf::six_dof::JetEngine::mIdleThrustTable {nullptr}
protected

◆ mInjectFuel

bool wsf::six_dof::JetEngine::mInjectFuel = true
protected

◆ mLastThrottleLeverPosition

double wsf::six_dof::JetEngine::mLastThrottleLeverPosition = 0.0
protected

◆ mMilThrustAltMachTable

UtCloneablePtr<UtTable::Table> wsf::six_dof::JetEngine::mMilThrustAltMachTable {nullptr}
protected

◆ mMilThrustMachAltTable

UtCloneablePtr<UtTable::Table> wsf::six_dof::JetEngine::mMilThrustMachAltTable {nullptr}
protected

◆ mMilThrustTable

UtCloneablePtr<UtTable::Curve> wsf::six_dof::JetEngine::mMilThrustTable {nullptr}
protected

◆ mNozzlePosition

double wsf::six_dof::JetEngine::mNozzlePosition = 0.0
protected

◆ mRatedThrustAB_lbs

double wsf::six_dof::JetEngine::mRatedThrustAB_lbs = 0.0
protected

◆ mRatedThrustIdle_lbs

double wsf::six_dof::JetEngine::mRatedThrustIdle_lbs = 0.0
protected

◆ mRatedThrustMil_lbs

double wsf::six_dof::JetEngine::mRatedThrustMil_lbs = 0.0
protected

◆ mSpinDownAB_per_sec

double wsf::six_dof::JetEngine::mSpinDownAB_per_sec = 0.0
protected

◆ mSpinDownABTable

UtCloneablePtr<UtTable::Curve> wsf::six_dof::JetEngine::mSpinDownABTable {nullptr}
protected

◆ mSpinDownMil_per_sec

double wsf::six_dof::JetEngine::mSpinDownMil_per_sec = 0.0
protected

◆ mSpinDownMilTable

UtCloneablePtr<UtTable::Curve> wsf::six_dof::JetEngine::mSpinDownMilTable {nullptr}
protected

◆ mSpinUpAB_per_sec

double wsf::six_dof::JetEngine::mSpinUpAB_per_sec = 0.0
protected

◆ mSpinUpABTable

UtCloneablePtr<UtTable::Curve> wsf::six_dof::JetEngine::mSpinUpABTable {nullptr}
protected

◆ mSpinUpMil_per_sec

double wsf::six_dof::JetEngine::mSpinUpMil_per_sec = 0.0
protected

◆ mSpinUpMilTable

UtCloneablePtr<UtTable::Curve> wsf::six_dof::JetEngine::mSpinUpMilTable {nullptr}
protected

◆ mThrottleLeverPosition

double wsf::six_dof::JetEngine::mThrottleLeverPosition = 0.0
protected

◆ mThrottleLeverPositionSet

bool wsf::six_dof::JetEngine::mThrottleLeverPositionSet = false
protected

◆ mTSFC_AB_pph

double wsf::six_dof::JetEngine::mTSFC_AB_pph = 0.0
protected

◆ mTSFC_Idle_pph

double wsf::six_dof::JetEngine::mTSFC_Idle_pph = 0.0
protected

◆ mTSFC_Mil_pph

double wsf::six_dof::JetEngine::mTSFC_Mil_pph = 0.0
protected

The documentation for this class was generated from the following files:
Copyrights Multiple, All Rights Reserved