WSF
wsf::six_dof::RigidBodyPropulsionSystem Class Reference

#include <WsfRigidBodySixDOF_PropulsionSystem.hpp>

Inheritance diagram for wsf::six_dof::RigidBodyPropulsionSystem:
Collaboration diagram for wsf::six_dof::RigidBodyPropulsionSystem:

Public Member Functions

 RigidBodyPropulsionSystem ()=default
RigidBodyPropulsionSystemoperator= (const RigidBodyPropulsionSystem &other)=delete
RigidBodyPropulsionSystemClone () const
void SetParentVehicle (Mover *aParentVehicle) override
bool ProcessInput (UtInput &aInput, const TypeManager *aTypeManager)
bool Initialize (int64_t aSimTime_nanosec) override
const std::vector< std::unique_ptr< RigidBodyThrustProducerObject > > & GetThrustProducerList () const
void CalculatePropulsionFM (double aDeltaT_sec, double aAlt_ft, double aDynPress_lbsqft, double aStatPress_lbssqft, double aSpeed_fps, double aMach, double aAlpha_rad, double aBeta_rad, ForceAndMomentsObject &aForceAndMoment, double &aFuelBurnRate_pps, double &aFuelBurned_lbs)
void UpdatePropulsionFM (double aDeltaT_sec, double aAlt_ft, double aDynPress_lbsqft, double aStatPress_lbssqft, double aSpeed_fps, double aMach, double aAlpha_rad, double aBeta_rad, ForceAndMomentsObject &aForceAndMoment, double &aFuelBurnRate_pps, double &aFuelBurned_lbs)
void SetControlInputHandles (const RigidBodyFlightControlSystem *aFlightControlSystem)
void SetControlInputValues (const RigidBodyFlightControlSystem *aFlightControlSystem)
ThrustProducerObjectGetThrustProducerObjectByName (const std::string &aName) const override
ThrustProducerObjectGetThrustProducerByIndex (size_t aIndex) const override
void SetThrottleLeverPosition (double aThrottleLeverPosition) override
void EnableThrustVectoring (bool aEnableThrustVectoring) override
void SetThrustVectoringYaw_deg (double aThrustVectoringAngle_deg)
void SetThrustVectoringPitch_deg (double aThrustVectoringAngle_deg)
void SetThrustReverser (double aThrustReverserSetting)
void EnableThrustReverser (bool aEnableThrustReverser)
bool ThrustReverserEnabled () const
bool AfterburnerIsPresent () const override
size_t GetNumThrustProducers () const override
void Ignite (int64_t aIgniteTimeInFrame_nanosec) override
void Shutdown (int64_t aTerminateTime_nanosec=0) override
bool IsProducingThrust () const override
bool SetFuelFeed (std::string &aEngineName, std::string aFuelTankName) override
bool SetFuelFeed (std::string aFuelTankName) override
bool AnEngineIsOperating (bool aTestSubobjects=false) const override
bool AnEngineIsSmoking (bool aTestSubobjects=false) const override
bool AnEngineHasAfterburnerOn (bool aTestSubobjects=false) const override
bool AnEngineIsContrailing (bool aTestSubobjects=false) const override
bool AnEngineIsEmittingSmokeTrail (bool aTestSubobjects=false) const override
void MakeAnEngineSmoke (int aEngineIndex) override
Public Member Functions inherited from wsf::six_dof::PropulsionSystem
 PropulsionSystem ()=default
PropulsionSystemoperator= (const PropulsionSystem &other)=delete
virtual void Update (int64_t aSimTime_nanosec)
void SetLastSimTime (int64_t aLastSimTime_nanosec)
const std::unordered_map< std::string, UtCloneablePtr< FuelTank > > & GetFuelTanks () const
FuelTankGetFuelTank (const std::string &aName) const
bool ThrustVectoringEnabled () const
size_t GetNumFuelTanks () const
bool RemoveFuelTankByName (std::string aName)
bool AddFuelTank (std::unique_ptr< FuelTank > aFuelTank)
bool AddFuelTransfer (const std::string &aTransferName, const std::string &aSourceTankName, const std::string &aTargetTankName)
bool AddFuelTransferAndConnect (const std::string &aTransferName, const std::string &aSourceTankName, const std::string &aTargetTankName)
bool RemoveFuelTransfer (const std::string &aTransferName)
bool ModifyFuelQuantity (const std::string &aTankName, double aQty_lbs)
bool FuelTransferNameUnique (const std::string &aName) const
double GetInternalFuelTankCapacity_lbs () const
double GetCurrentInternalFuelTankQuantity_lbs () const
double AddFuelQuantity_lbs (double aFuelToAdd_lbs)
double FillAllTanks (double aPercentFull)
void EmptyAllTanks ()
const MassProperties GetMassProperties () const
Public Member Functions inherited from wsf::six_dof::Object
 Object ()=default
virtual ~Object ()=default
virtual std::string GetName () const
virtual void SetName (const std::string &aName)
virtual MoverGetParentVehicle () const

Protected Member Functions

 RigidBodyPropulsionSystem (const RigidBodyPropulsionSystem &aSrc)
void PropulsionCalculationsFM (double aDeltaT_sec, double aAlt_ft, double aDynPress_lbsqft, double aStatPress_lbssqft, double aSpeed_fps, double aMach, double aAlpha_rad, double aBeta_rad, ForceAndMomentsObject &aForceAndMoment, double &aFuelBurnRate_pps, double &aFuelBurned_lbs, bool aUpdateData)
Protected Member Functions inherited from wsf::six_dof::PropulsionSystem
 PropulsionSystem (const PropulsionSystem &aSrc)
void RemoveInvalidFuelTransfers ()
Protected Member Functions inherited from wsf::six_dof::Object
 Object (const Object &)=default

Protected Attributes

std::vector< std::unique_ptr< RigidBodyThrustProducerObject > > mEngineList
std::vector< std::unique_ptr< RigidBodyThrustProducerObject::ThrustControlInputValueData > > mThrustControlInputValueDataList
RigidBodyThrustProducerObject::ThrustControlInputValueDatamThrottleSettingMIL = nullptr
RigidBodyThrustProducerObject::ThrustControlInputValueDatamThrottleSettingAB = nullptr
RigidBodyThrustProducerObject::ThrustControlInputValueDatamThrottleSettingReverser = nullptr
RigidBodyThrustProducerObject::ThrustControlInputValueDatamThrottleSettingYaw = nullptr
RigidBodyThrustProducerObject::ThrustControlInputValueDatamThrottleSettingPitch = nullptr
bool mThrustReverserSet = false
bool mThrustVectorYawSet = false
bool mThrustVectorPitchSet = false
double mThrustVectoringAngleYaw_deg = 0.0
double mThrustVectoringAnglePitch_deg = 0.0
double mThrustReverserSetting = 0.0
bool mEnableThrustReverser = false
Protected Attributes inherited from wsf::six_dof::PropulsionSystem
std::vector< std::unique_ptr< FuelTransfer > > mFuelTransferList
std::unordered_map< std::string, UtCloneablePtr< FuelTank > > mFuelTankMap
int64_t mLastSimTime_nanosec = 0
double mPropulsionSystemThrottleLeverPosition = 0.0
bool mThrottleLeverPositionSet = false
bool mEnableThrustVectoring = false
Protected Attributes inherited from wsf::six_dof::Object
std::string mObjName = ""
MovermParentVehicle = nullptr

Constructor & Destructor Documentation

◆ RigidBodyPropulsionSystem() [1/2]

wsf::six_dof::RigidBodyPropulsionSystem::RigidBodyPropulsionSystem ( )
default

◆ RigidBodyPropulsionSystem() [2/2]

Member Function Documentation

◆ AfterburnerIsPresent()

bool wsf::six_dof::RigidBodyPropulsionSystem::AfterburnerIsPresent ( ) const
overridevirtual

◆ AnEngineHasAfterburnerOn()

bool wsf::six_dof::RigidBodyPropulsionSystem::AnEngineHasAfterburnerOn ( bool aTestSubobjects = false) const
overridevirtual

◆ AnEngineIsContrailing()

bool wsf::six_dof::RigidBodyPropulsionSystem::AnEngineIsContrailing ( bool aTestSubobjects = false) const
overridevirtual

◆ AnEngineIsEmittingSmokeTrail()

bool wsf::six_dof::RigidBodyPropulsionSystem::AnEngineIsEmittingSmokeTrail ( bool aTestSubobjects = false) const
overridevirtual

◆ AnEngineIsOperating()

bool wsf::six_dof::RigidBodyPropulsionSystem::AnEngineIsOperating ( bool aTestSubobjects = false) const
overridevirtual

◆ AnEngineIsSmoking()

bool wsf::six_dof::RigidBodyPropulsionSystem::AnEngineIsSmoking ( bool aTestSubobjects = false) const
overridevirtual

◆ CalculatePropulsionFM()

void wsf::six_dof::RigidBodyPropulsionSystem::CalculatePropulsionFM ( double aDeltaT_sec,
double aAlt_ft,
double aDynPress_lbsqft,
double aStatPress_lbssqft,
double aSpeed_fps,
double aMach,
double aAlpha_rad,
double aBeta_rad,
ForceAndMomentsObject & aForceAndMoment,
double & aFuelBurnRate_pps,
double & aFuelBurned_lbs )

◆ Clone()

wsf::six_dof::RigidBodyPropulsionSystem * wsf::six_dof::RigidBodyPropulsionSystem::Clone ( ) const

References RigidBodyPropulsionSystem().

Referenced by operator=().

◆ EnableThrustReverser()

void wsf::six_dof::RigidBodyPropulsionSystem::EnableThrustReverser ( bool aEnableThrustReverser)

◆ EnableThrustVectoring()

void wsf::six_dof::RigidBodyPropulsionSystem::EnableThrustVectoring ( bool aEnableThrustVectoring)
overridevirtual

◆ GetNumThrustProducers()

size_t wsf::six_dof::RigidBodyPropulsionSystem::GetNumThrustProducers ( ) const
overridevirtual

◆ GetThrustProducerByIndex()

wsf::six_dof::ThrustProducerObject * wsf::six_dof::RigidBodyPropulsionSystem::GetThrustProducerByIndex ( size_t aIndex) const
overridevirtual

Implements wsf::six_dof::PropulsionSystem.

References mEngineList.

Referenced by MakeAnEngineSmoke().

◆ GetThrustProducerList()

const std::vector< std::unique_ptr< RigidBodyThrustProducerObject > > & wsf::six_dof::RigidBodyPropulsionSystem::GetThrustProducerList ( ) const
inline

◆ GetThrustProducerObjectByName()

wsf::six_dof::ThrustProducerObject * wsf::six_dof::RigidBodyPropulsionSystem::GetThrustProducerObjectByName ( const std::string & aName) const
overridevirtual

◆ Ignite()

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

◆ Initialize()

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

◆ IsProducingThrust()

bool wsf::six_dof::RigidBodyPropulsionSystem::IsProducingThrust ( ) const
overridevirtual

◆ MakeAnEngineSmoke()

void wsf::six_dof::RigidBodyPropulsionSystem::MakeAnEngineSmoke ( int aEngineIndex)
overridevirtual

◆ operator=()

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

◆ ProcessInput()

◆ PropulsionCalculationsFM()

void wsf::six_dof::RigidBodyPropulsionSystem::PropulsionCalculationsFM ( double aDeltaT_sec,
double aAlt_ft,
double aDynPress_lbsqft,
double aStatPress_lbssqft,
double aSpeed_fps,
double aMach,
double aAlpha_rad,
double aBeta_rad,
ForceAndMomentsObject & aForceAndMoment,
double & aFuelBurnRate_pps,
double & aFuelBurned_lbs,
bool aUpdateData )
protected

◆ SetControlInputHandles()

void wsf::six_dof::RigidBodyPropulsionSystem::SetControlInputHandles ( const RigidBodyFlightControlSystem * aFlightControlSystem)

◆ SetControlInputValues()

void wsf::six_dof::RigidBodyPropulsionSystem::SetControlInputValues ( const RigidBodyFlightControlSystem * aFlightControlSystem)

◆ SetFuelFeed() [1/2]

bool wsf::six_dof::RigidBodyPropulsionSystem::SetFuelFeed ( std::string & aEngineName,
std::string aFuelTankName )
overridevirtual

◆ SetFuelFeed() [2/2]

bool wsf::six_dof::RigidBodyPropulsionSystem::SetFuelFeed ( std::string aFuelTankName)
overridevirtual

◆ SetParentVehicle()

void wsf::six_dof::RigidBodyPropulsionSystem::SetParentVehicle ( Mover * aParentVehicle)
overridevirtual

◆ SetThrottleLeverPosition()

◆ SetThrustReverser()

void wsf::six_dof::RigidBodyPropulsionSystem::SetThrustReverser ( double aThrustReverserSetting)

◆ SetThrustVectoringPitch_deg()

void wsf::six_dof::RigidBodyPropulsionSystem::SetThrustVectoringPitch_deg ( double aThrustVectoringAngle_deg)

◆ SetThrustVectoringYaw_deg()

void wsf::six_dof::RigidBodyPropulsionSystem::SetThrustVectoringYaw_deg ( double aThrustVectoringAngle_deg)

◆ Shutdown()

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

◆ ThrustReverserEnabled()

bool wsf::six_dof::RigidBodyPropulsionSystem::ThrustReverserEnabled ( ) const
inline

References mEnableThrustReverser.

◆ UpdatePropulsionFM()

void wsf::six_dof::RigidBodyPropulsionSystem::UpdatePropulsionFM ( double aDeltaT_sec,
double aAlt_ft,
double aDynPress_lbsqft,
double aStatPress_lbssqft,
double aSpeed_fps,
double aMach,
double aAlpha_rad,
double aBeta_rad,
ForceAndMomentsObject & aForceAndMoment,
double & aFuelBurnRate_pps,
double & aFuelBurned_lbs )

Member Data Documentation

◆ mEnableThrustReverser

bool wsf::six_dof::RigidBodyPropulsionSystem::mEnableThrustReverser = false
protected

◆ mEngineList

◆ mThrottleSettingAB

RigidBodyThrustProducerObject::ThrustControlInputValueData* wsf::six_dof::RigidBodyPropulsionSystem::mThrottleSettingAB = nullptr
protected

◆ mThrottleSettingMIL

RigidBodyThrustProducerObject::ThrustControlInputValueData* wsf::six_dof::RigidBodyPropulsionSystem::mThrottleSettingMIL = nullptr
protected

◆ mThrottleSettingPitch

RigidBodyThrustProducerObject::ThrustControlInputValueData* wsf::six_dof::RigidBodyPropulsionSystem::mThrottleSettingPitch = nullptr
protected

◆ mThrottleSettingReverser

RigidBodyThrustProducerObject::ThrustControlInputValueData* wsf::six_dof::RigidBodyPropulsionSystem::mThrottleSettingReverser = nullptr
protected

◆ mThrottleSettingYaw

RigidBodyThrustProducerObject::ThrustControlInputValueData* wsf::six_dof::RigidBodyPropulsionSystem::mThrottleSettingYaw = nullptr
protected

◆ mThrustControlInputValueDataList

std::vector<std::unique_ptr<RigidBodyThrustProducerObject::ThrustControlInputValueData> > wsf::six_dof::RigidBodyPropulsionSystem::mThrustControlInputValueDataList
protected

◆ mThrustReverserSet

bool wsf::six_dof::RigidBodyPropulsionSystem::mThrustReverserSet = false
protected

◆ mThrustReverserSetting

double wsf::six_dof::RigidBodyPropulsionSystem::mThrustReverserSetting = 0.0
protected

◆ mThrustVectoringAnglePitch_deg

double wsf::six_dof::RigidBodyPropulsionSystem::mThrustVectoringAnglePitch_deg = 0.0
protected

◆ mThrustVectoringAngleYaw_deg

double wsf::six_dof::RigidBodyPropulsionSystem::mThrustVectoringAngleYaw_deg = 0.0
protected

◆ mThrustVectorPitchSet

bool wsf::six_dof::RigidBodyPropulsionSystem::mThrustVectorPitchSet = false
protected

◆ mThrustVectorYawSet

bool wsf::six_dof::RigidBodyPropulsionSystem::mThrustVectorYawSet = false
protected

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