WSF
wsf::six_dof::RocketLiquidPropellantEngine Class Reference

#include <WsfSixDOF_RocketLiquidPropellantEngine.hpp>

Inheritance diagram for wsf::six_dof::RocketLiquidPropellantEngine:
Collaboration diagram for wsf::six_dof::RocketLiquidPropellantEngine:

Public Member Functions

 RocketLiquidPropellantEngine (ThrustProducerObject *aParentObject)
 ~RocketLiquidPropellantEngine ()
RocketLiquidPropellantEngineoperator= (const RocketLiquidPropellantEngine &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
double GetPercentMaxThrust () 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
bool AfterburnerOn () const
bool Contrailing () const
bool EngineSmoking () const
void MakeEngineSmoke (bool aSmoking)
virtual bool AfterburnerIsPresent () const

Protected Member Functions

 RocketLiquidPropellantEngine (const RocketLiquidPropellantEngine &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 &aForceAndMoment, double &aFuelBurnRate_pps, double &aFuelBurned_lbs, bool aUpdateData) override
bool MayProduceSmokeTrail () const override
Protected Member Functions inherited from wsf::six_dof::Engine
 Engine (const Engine &aSrc)

Protected Attributes

double mThrottleLeverPosition = 0.0
double mLastThrottleLeverPosition = 0.0
UtCloneablePtr< UtTable::Curve > mNormalizedThrustAlt {nullptr}
UtCloneablePtr< UtTable::Curve > mIspAlt {nullptr}
UtCloneablePtr< UtTable::Curve > mThrottleVersusTime {nullptr}
double mMaxThrustSeaLevel = 0.0
double mMaxThrottle = 1.0
double mMinThrottle = 0.0
double mMaxMassFlowSeaLevel = 0.0
double mMaxMassFlowVacuum = 0.0
double mEngineThrustPercent = 0.0
bool mIsBurning = false
double mBurnTime_Sec = 0.0
double mNormalizedSpinUp_per_sec = 0.0
double mNormalizedSpinDown_per_sec = 0.0
double mCurrentFuelBurnRate_pph = 0.0
bool mGenerateSmokeTrail = false
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

◆ RocketLiquidPropellantEngine() [1/2]

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

◆ ~RocketLiquidPropellantEngine()

wsf::six_dof::RocketLiquidPropellantEngine::~RocketLiquidPropellantEngine ( )

◆ RocketLiquidPropellantEngine() [2/2]

Member Function Documentation

◆ CalculateThrust()

◆ Clone()

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

Implements wsf::six_dof::Engine.

References RocketLiquidPropellantEngine().

Referenced by operator=().

◆ DeriveFrom()

◆ GetFuelBurnRate_pph()

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

Implements wsf::six_dof::Engine.

References mCurrentFuelBurnRate_pph.

Referenced by operator=().

◆ GetMaximumPotentialThrust_lbs()

double wsf::six_dof::RocketLiquidPropellantEngine::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::RocketLiquidPropellantEngine::GetMinimumPotentialThrust_lbs ( double aAlt_ft,
double aDynPress_lbsqft,
double aStatPress_lbssqft,
double aSpeed_fps,
double aMach,
double aAlpha_rad,
double aBeta_rad )
overridevirtual

Implements wsf::six_dof::Engine.

Referenced by operator=().

◆ GetPercentMaxThrust()

double wsf::six_dof::RocketLiquidPropellantEngine::GetPercentMaxThrust ( ) const

References mEngineThrustPercent.

Referenced by operator=().

◆ GetThrottlePosition()

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

Implements wsf::six_dof::Engine.

References mThrottleLeverPosition.

Referenced by operator=().

◆ Ignite()

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

◆ Initialize()

bool wsf::six_dof::RocketLiquidPropellantEngine::Initialize ( int64_t aSimTime_nanosec)
overridevirtual

Implements wsf::six_dof::Engine.

References mIspAlt, mMaxMassFlowSeaLevel, and mMaxThrustSeaLevel.

Referenced by operator=().

◆ MayProduceSmokeTrail()

bool wsf::six_dof::RocketLiquidPropellantEngine::MayProduceSmokeTrail ( ) const
inlineoverrideprotectedvirtual

Reimplemented from wsf::six_dof::Engine.

References mGenerateSmokeTrail.

◆ operator=()

◆ ProcessInput()

bool wsf::six_dof::RocketLiquidPropellantEngine::ProcessInput ( UtInput & aInput,
TypeManager * aTypeManager )
overridevirtual

◆ SetThrottlePosition()

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

◆ Shutdown()

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

Member Data Documentation

◆ mBurnTime_Sec

double wsf::six_dof::RocketLiquidPropellantEngine::mBurnTime_Sec = 0.0
protected

◆ mCurrentFuelBurnRate_pph

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

◆ mEngineThrustPercent

double wsf::six_dof::RocketLiquidPropellantEngine::mEngineThrustPercent = 0.0
protected

◆ mGenerateSmokeTrail

bool wsf::six_dof::RocketLiquidPropellantEngine::mGenerateSmokeTrail = false
protected

◆ mIsBurning

bool wsf::six_dof::RocketLiquidPropellantEngine::mIsBurning = false
protected

◆ mIspAlt

UtCloneablePtr<UtTable::Curve> wsf::six_dof::RocketLiquidPropellantEngine::mIspAlt {nullptr}
protected

◆ mLastThrottleLeverPosition

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

◆ mMaxMassFlowSeaLevel

double wsf::six_dof::RocketLiquidPropellantEngine::mMaxMassFlowSeaLevel = 0.0
protected

◆ mMaxMassFlowVacuum

double wsf::six_dof::RocketLiquidPropellantEngine::mMaxMassFlowVacuum = 0.0
protected

◆ mMaxThrottle

double wsf::six_dof::RocketLiquidPropellantEngine::mMaxThrottle = 1.0
protected

◆ mMaxThrustSeaLevel

double wsf::six_dof::RocketLiquidPropellantEngine::mMaxThrustSeaLevel = 0.0
protected

◆ mMinThrottle

double wsf::six_dof::RocketLiquidPropellantEngine::mMinThrottle = 0.0
protected

◆ mNormalizedSpinDown_per_sec

double wsf::six_dof::RocketLiquidPropellantEngine::mNormalizedSpinDown_per_sec = 0.0
protected

◆ mNormalizedSpinUp_per_sec

double wsf::six_dof::RocketLiquidPropellantEngine::mNormalizedSpinUp_per_sec = 0.0
protected

◆ mNormalizedThrustAlt

UtCloneablePtr<UtTable::Curve> wsf::six_dof::RocketLiquidPropellantEngine::mNormalizedThrustAlt {nullptr}
protected

◆ mThrottleLeverPosition

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

◆ mThrottleVersusTime

UtCloneablePtr<UtTable::Curve> wsf::six_dof::RocketLiquidPropellantEngine::mThrottleVersusTime {nullptr}
protected

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