WSF
wsf::six_dof::RocketSolidPropellantEngine Class Reference

#include <WsfSixDOF_RocketSolidPropellantEngine.hpp>

Inheritance diagram for wsf::six_dof::RocketSolidPropellantEngine:
Collaboration diagram for wsf::six_dof::RocketSolidPropellantEngine:

Public Member Functions

 RocketSolidPropellantEngine (ThrustProducerObject *aParentObject)
 ~RocketSolidPropellantEngine () override
RocketSolidPropellantEngineoperator= (const RocketSolidPropellantEngine &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 IgniteNow ()
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

 RocketSolidPropellantEngine (const RocketSolidPropellantEngine &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
double Thrust_lbs (double aBurnTime_Sec, double aAlt_ft, double &aMassFlow_pps)
void UpdatePropellantMass (double aRemainingPropellant_lbs)
bool MayProduceSmokeTrail () const override
Protected Member Functions inherited from wsf::six_dof::Engine
 Engine (const Engine &aSrc)

Protected Attributes

UtCloneablePtr< UtTable::Curve > mThrustSeaLevelVersusTime {nullptr}
UtCloneablePtr< UtTable::Curve > mThrustVacuumVersusTime {nullptr}
UtCloneablePtr< UtTable::Curve > mIspAlt {nullptr}
double mIspSeaLevel = 0.0
double mIspVacuum = 0.0
double mRatedThrust_lbs = 0.0
double mLastThrust_lbs = 0.0
bool mIsBurning = false
double mBurnTime_sec = 0.0
double mCurrentFuelBurnRate_pph = 0.0
bool mGenerateSmokeTrail = true
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

◆ RocketSolidPropellantEngine() [1/2]

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

◆ ~RocketSolidPropellantEngine()

wsf::six_dof::RocketSolidPropellantEngine::~RocketSolidPropellantEngine ( )
override

◆ RocketSolidPropellantEngine() [2/2]

wsf::six_dof::RocketSolidPropellantEngine::RocketSolidPropellantEngine ( const RocketSolidPropellantEngine & aSrc)
protected

Member Function Documentation

◆ CalculateThrust()

◆ Clone()

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

Implements wsf::six_dof::Engine.

References RocketSolidPropellantEngine().

Referenced by operator=().

◆ DeriveFrom()

◆ GetFuelBurnRate_pph()

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

◆ GetMaximumPotentialThrust_lbs()

double wsf::six_dof::RocketSolidPropellantEngine::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::RocketSolidPropellantEngine::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.

◆ GetPercentMaxThrust()

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

◆ GetThrottlePosition()

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

Implements wsf::six_dof::Engine.

References mIsBurning.

◆ Ignite()

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

◆ IgniteNow()

void wsf::six_dof::RocketSolidPropellantEngine::IgniteNow ( )
inline

References mIsBurning.

Referenced by SetThrottlePosition().

◆ Initialize()

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

Implements wsf::six_dof::Engine.

References mIspAlt, mIspSeaLevel, and mIspVacuum.

Referenced by operator=().

◆ MayProduceSmokeTrail()

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

Reimplemented from wsf::six_dof::Engine.

References mGenerateSmokeTrail.

◆ operator=()

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

◆ ProcessInput()

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

◆ SetThrottlePosition()

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

◆ Shutdown()

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

◆ Thrust_lbs()

double wsf::six_dof::RocketSolidPropellantEngine::Thrust_lbs ( double aBurnTime_Sec,
double aAlt_ft,
double & aMassFlow_pps )
protected

◆ UpdatePropellantMass()

void wsf::six_dof::RocketSolidPropellantEngine::UpdatePropellantMass ( double aRemainingPropellant_lbs)
protected

Member Data Documentation

◆ mBurnTime_sec

double wsf::six_dof::RocketSolidPropellantEngine::mBurnTime_sec = 0.0
protected

◆ mCurrentFuelBurnRate_pph

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

◆ mGenerateSmokeTrail

bool wsf::six_dof::RocketSolidPropellantEngine::mGenerateSmokeTrail = true
protected

◆ mIsBurning

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

◆ mIspAlt

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

◆ mIspSeaLevel

double wsf::six_dof::RocketSolidPropellantEngine::mIspSeaLevel = 0.0
protected

◆ mIspVacuum

double wsf::six_dof::RocketSolidPropellantEngine::mIspVacuum = 0.0
protected

◆ mLastThrust_lbs

double wsf::six_dof::RocketSolidPropellantEngine::mLastThrust_lbs = 0.0
protected

◆ mRatedThrust_lbs

double wsf::six_dof::RocketSolidPropellantEngine::mRatedThrust_lbs = 0.0
protected

◆ mThrustSeaLevelVersusTime

UtCloneablePtr<UtTable::Curve> wsf::six_dof::RocketSolidPropellantEngine::mThrustSeaLevelVersusTime {nullptr}
protected

◆ mThrustVacuumVersusTime

UtCloneablePtr<UtTable::Curve> wsf::six_dof::RocketSolidPropellantEngine::mThrustVacuumVersusTime {nullptr}
protected

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