WSF
P6DofPropulsionSystem Class Reference

#include <P6DofPropulsionSystem.hpp>

Inheritance diagram for P6DofPropulsionSystem:
Collaboration diagram for P6DofPropulsionSystem:

Classes

struct  FuelTransfer
struct  fuelTankData
struct  tankMatching
struct  ThrustProducerTypeInfo

Public Member Functions

 P6DofPropulsionSystem (P6DofScenario *aScenario)
 ~P6DofPropulsionSystem () override
P6DofPropulsionSystemoperator= (const P6DofPropulsionSystem &other)=delete
P6DofPropulsionSystemClone () const
void SetParentVehicle (P6DofVehicle *aParentVehicle) override
bool ProcessInput (UtInput &aInput)
bool Initialize (int64_t aSimTime_nanosec)
void Update (int64_t aSimTime_nanosec)
void SetLastSimTime (int64_t aLastSimTime_nanosec)
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, P6DofForceAndMomentsObject &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, P6DofForceAndMomentsObject &aForceAndMoment, double &aFuelBurnRate_pps, double &aFuelBurned_lbs)
P6DofFuelTankGetFuelTank (const std::string &aName) const
const std::unordered_map< std::string, P6DofFuelTank * > & GetFuelTanks () const
P6DofThrustProducerObjectGetThrustProducerObjectByName (const std::string &aName) const
P6DofThrustProducerObjectGetThrustProducerByIndex (size_t aIndex) const
const std::vector< P6DofThrustProducerObject * > & GetThrustProducerList () const
void SetThrottleLeverPosition (double aThrottleLeverPosition)
void SetThrustVectoringYaw_deg (double aThrustVectoringAngle_deg)
void SetThrustVectoringPitch_deg (double aThrustVectoringAngle_deg)
void EnableThrustVectoring (bool aEnableThrustVectoring)
void SetThrustReserver (double aThrustReserverSetting)
void EnableThrustReverser (bool aEnableThrustReverser)
bool ThrustReverserEnabled () const
bool ThrustVectoringEnabled () const
bool AfterburnerIsPresent () const
size_t GetNumThrustProducers () const
size_t GetNumFuelTanks () const
void Ignite (int64_t aIgniteTimeInFrame_nanosec)
void Shutdown (int64_t aTerminateTime_nanosec=0)
bool RemoveFuelTankByName (std::string aName)
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
bool IsProducingThrust () const
bool SetFuelFeed (std::string &aEngineName, std::string aFuelTankName)
bool SetFuelFeed (std::string aFuelTankName)
void SetControlInputHandles (const P6DofFlightControlSystem *aFlightControlSystem)
void SetControlInputValues (const P6DofFlightControlSystem *aFlightControlSystem)
double GetInternalFuelTankCapacity_lbs () const
double GetCurrentInternalFuelTankQuantity_lbs () const
double AddFuelQuantity_lbs (double aFuelToAdd_lbs)
double FillAllTanks (double aPercentFull)
void EmptyAllTanks ()
const P6DofMassPropertiesGetMassProperties () const
void CalculateCurrentMassProperties ()
bool AnEngineIsOperating (bool aTestSubobjects=false) const
bool AnEngineIsSmoking (bool aTestSubobjects=false) const
bool AnEngineHasAfterburnerOn (bool aTestSubobjects=false) const
bool AnEngineIsContrailing (bool aTestSubobjects=false) const
bool AnEngineIsEmittingSmokeTrail (bool aTestSubobjects=false) const
void MakeAnEngineSmoke (int aEngineIndex)
Public Member Functions inherited from P6DofObject
 P6DofObject (P6DofScenario *aScenario)
virtual ~P6DofObject ()=default
P6DofObjectClone () const
P6DofScenarioGetScenario () const
std::string GetName () const
void SetName (const std::string &aName)
P6DofVehicleGetParentVehicle () const

Protected Member Functions

 P6DofPropulsionSystem (const P6DofPropulsionSystem &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, P6DofForceAndMomentsObject &aForceAndMoment, double &aFuelBurnRate_pps, double &aFuelBurned_lbs, bool aUpdateData)
void RemoveInvalidFuelTransfers ()
Protected Member Functions inherited from P6DofObject
 P6DofObject (const P6DofObject &aSrc)=default
P6DofObjectoperator= (const P6DofObject &other)=default

Protected Attributes

std::vector< P6DofThrustProducerObject * > mEngineList
std::vector< ThrustProducerTypeInfo * > mEngineTypeList
std::unordered_map< std::string, P6DofFuelTank * > mFuelTankMap
std::vector< FuelTransfer * > mFuelTransferList
double mPropulsionSystemThrottleLeverPosition
int64_t mLastSimTime_nanosec
std::vector< P6DofThrustProducerObject::ThrustControlInputValueData * > mThrustControlInputValueDataList
P6DofThrustProducerObject::ThrustControlInputValueDatamThrottleSettingMIL
P6DofThrustProducerObject::ThrustControlInputValueDatamThrottleSettingAB
P6DofThrustProducerObject::ThrustControlInputValueDatamThrottleSettingReverser
P6DofThrustProducerObject::ThrustControlInputValueDatamThrottleSettingYaw
P6DofThrustProducerObject::ThrustControlInputValueDatamThrottleSettingPitch
bool mThrottleLeverPositionSet
bool mThrustReverserSet
bool mThrustVectorYawSet
bool mThrustVectorPitchSet
double mThrustVectoringAngleYaw_deg
double mThrustVectoringAnglePitch_deg
bool mEnableThrustVectoring
double mThrustReserverSetting
bool mEnableThrustReverser
P6DofMassProperties mMassProperties
Protected Attributes inherited from P6DofObject
P6DofScenariomScenario
P6DofVehiclemParentVehicle
std::string mObjName

Constructor & Destructor Documentation

◆ P6DofPropulsionSystem() [1/2]

◆ ~P6DofPropulsionSystem()

P6DofPropulsionSystem::~P6DofPropulsionSystem ( )
override

◆ P6DofPropulsionSystem() [2/2]

Member Function Documentation

◆ AddFuelQuantity_lbs()

double P6DofPropulsionSystem::AddFuelQuantity_lbs ( double aFuelToAdd_lbs)

◆ AddFuelTransfer()

bool P6DofPropulsionSystem::AddFuelTransfer ( const std::string & aTransferName,
const std::string & aSourceTankName,
const std::string & aTargetTankName )

◆ AddFuelTransferAndConnect()

bool P6DofPropulsionSystem::AddFuelTransferAndConnect ( const std::string & aTransferName,
const std::string & aSourceTankName,
const std::string & aTargetTankName )

◆ AfterburnerIsPresent()

bool P6DofPropulsionSystem::AfterburnerIsPresent ( ) const

◆ AnEngineHasAfterburnerOn()

bool P6DofPropulsionSystem::AnEngineHasAfterburnerOn ( bool aTestSubobjects = false) const

◆ AnEngineIsContrailing()

bool P6DofPropulsionSystem::AnEngineIsContrailing ( bool aTestSubobjects = false) const

◆ AnEngineIsEmittingSmokeTrail()

bool P6DofPropulsionSystem::AnEngineIsEmittingSmokeTrail ( bool aTestSubobjects = false) const

◆ AnEngineIsOperating()

bool P6DofPropulsionSystem::AnEngineIsOperating ( bool aTestSubobjects = false) const

◆ AnEngineIsSmoking()

bool P6DofPropulsionSystem::AnEngineIsSmoking ( bool aTestSubobjects = false) const

◆ CalculateCurrentMassProperties()

void P6DofPropulsionSystem::CalculateCurrentMassProperties ( )

◆ CalculatePropulsionFM()

void P6DofPropulsionSystem::CalculatePropulsionFM ( double aDeltaT_sec,
double aAlt_ft,
double aDynPress_lbsqft,
double aStatPress_lbssqft,
double aSpeed_fps,
double aMach,
double aAlpha_rad,
double aBeta_rad,
P6DofForceAndMomentsObject & aForceAndMoment,
double & aFuelBurnRate_pps,
double & aFuelBurned_lbs )

◆ Clone()

P6DofPropulsionSystem * P6DofPropulsionSystem::Clone ( ) const

◆ EmptyAllTanks()

void P6DofPropulsionSystem::EmptyAllTanks ( )

References mFuelTankMap.

◆ EnableThrustReverser()

void P6DofPropulsionSystem::EnableThrustReverser ( bool aEnableThrustReverser)

◆ EnableThrustVectoring()

void P6DofPropulsionSystem::EnableThrustVectoring ( bool aEnableThrustVectoring)

◆ FillAllTanks()

double P6DofPropulsionSystem::FillAllTanks ( double aPercentFull)

◆ FuelTransferNameUnique()

bool P6DofPropulsionSystem::FuelTransferNameUnique ( const std::string & aName) const

◆ GetCurrentInternalFuelTankQuantity_lbs()

double P6DofPropulsionSystem::GetCurrentInternalFuelTankQuantity_lbs ( ) const

References mFuelTankMap.

Referenced by AddFuelQuantity_lbs().

◆ GetFuelTank()

P6DofFuelTank * P6DofPropulsionSystem::GetFuelTank ( const std::string & aName) const

References mFuelTankMap.

Referenced by ModifyFuelQuantity().

◆ GetFuelTanks()

const std::unordered_map< std::string, P6DofFuelTank * > & P6DofPropulsionSystem::GetFuelTanks ( ) const
inline

◆ GetInternalFuelTankCapacity_lbs()

double P6DofPropulsionSystem::GetInternalFuelTankCapacity_lbs ( ) const

References mFuelTankMap.

Referenced by AddFuelQuantity_lbs().

◆ GetMassProperties()

const P6DofMassProperties & P6DofPropulsionSystem::GetMassProperties ( ) const
inline

References mMassProperties.

◆ GetNumFuelTanks()

size_t P6DofPropulsionSystem::GetNumFuelTanks ( ) const

◆ GetNumThrustProducers()

◆ GetThrustProducerByIndex()

◆ GetThrustProducerList()

const std::vector< P6DofThrustProducerObject * > & P6DofPropulsionSystem::GetThrustProducerList ( ) const
inline

◆ GetThrustProducerObjectByName()

P6DofThrustProducerObject * P6DofPropulsionSystem::GetThrustProducerObjectByName ( const std::string & aName) const

References mEngineList.

◆ Ignite()

void P6DofPropulsionSystem::Ignite ( int64_t aIgniteTimeInFrame_nanosec)

◆ Initialize()

◆ IsProducingThrust()

bool P6DofPropulsionSystem::IsProducingThrust ( ) const

References mEngineList.

◆ MakeAnEngineSmoke()

void P6DofPropulsionSystem::MakeAnEngineSmoke ( int aEngineIndex)

◆ ModifyFuelQuantity()

bool P6DofPropulsionSystem::ModifyFuelQuantity ( const std::string & aTankName,
double aQty_lbs )

◆ operator=()

P6DofPropulsionSystem & P6DofPropulsionSystem::operator= ( const P6DofPropulsionSystem & other)
delete

◆ ProcessInput()

◆ PropulsionCalculationsFM()

void P6DofPropulsionSystem::PropulsionCalculationsFM ( double aDeltaT_sec,
double aAlt_ft,
double aDynPress_lbsqft,
double aStatPress_lbssqft,
double aSpeed_fps,
double aMach,
double aAlpha_rad,
double aBeta_rad,
P6DofForceAndMomentsObject & aForceAndMoment,
double & aFuelBurnRate_pps,
double & aFuelBurned_lbs,
bool aUpdateData )
protected

◆ RemoveFuelTankByName()

bool P6DofPropulsionSystem::RemoveFuelTankByName ( std::string aName)

References mFuelTankMap.

◆ RemoveFuelTransfer()

bool P6DofPropulsionSystem::RemoveFuelTransfer ( const std::string & aTransferName)

References mFuelTransferList.

◆ RemoveInvalidFuelTransfers()

void P6DofPropulsionSystem::RemoveInvalidFuelTransfers ( )
protected

◆ SetControlInputHandles()

void P6DofPropulsionSystem::SetControlInputHandles ( const P6DofFlightControlSystem * aFlightControlSystem)

◆ SetControlInputValues()

void P6DofPropulsionSystem::SetControlInputValues ( const P6DofFlightControlSystem * aFlightControlSystem)

◆ SetFuelFeed() [1/2]

bool P6DofPropulsionSystem::SetFuelFeed ( std::string & aEngineName,
std::string aFuelTankName )

◆ SetFuelFeed() [2/2]

bool P6DofPropulsionSystem::SetFuelFeed ( std::string aFuelTankName)

◆ SetLastSimTime()

void P6DofPropulsionSystem::SetLastSimTime ( int64_t aLastSimTime_nanosec)
inline

References mLastSimTime_nanosec.

◆ SetParentVehicle()

void P6DofPropulsionSystem::SetParentVehicle ( P6DofVehicle * aParentVehicle)
overridevirtual

◆ SetThrottleLeverPosition()

void P6DofPropulsionSystem::SetThrottleLeverPosition ( double aThrottleLeverPosition)

◆ SetThrustReserver()

void P6DofPropulsionSystem::SetThrustReserver ( double aThrustReserverSetting)

◆ SetThrustVectoringPitch_deg()

void P6DofPropulsionSystem::SetThrustVectoringPitch_deg ( double aThrustVectoringAngle_deg)

◆ SetThrustVectoringYaw_deg()

void P6DofPropulsionSystem::SetThrustVectoringYaw_deg ( double aThrustVectoringAngle_deg)

◆ Shutdown()

void P6DofPropulsionSystem::Shutdown ( int64_t aTerminateTime_nanosec = 0)

◆ ThrustReverserEnabled()

bool P6DofPropulsionSystem::ThrustReverserEnabled ( ) const
inline

References mEnableThrustReverser.

◆ ThrustVectoringEnabled()

bool P6DofPropulsionSystem::ThrustVectoringEnabled ( ) const
inline

◆ Update()

◆ UpdatePropulsionFM()

void P6DofPropulsionSystem::UpdatePropulsionFM ( double aDeltaT_sec,
double aAlt_ft,
double aDynPress_lbsqft,
double aStatPress_lbssqft,
double aSpeed_fps,
double aMach,
double aAlpha_rad,
double aBeta_rad,
P6DofForceAndMomentsObject & aForceAndMoment,
double & aFuelBurnRate_pps,
double & aFuelBurned_lbs )

Member Data Documentation

◆ mEnableThrustReverser

bool P6DofPropulsionSystem::mEnableThrustReverser
protected

◆ mEnableThrustVectoring

bool P6DofPropulsionSystem::mEnableThrustVectoring
protected

◆ mEngineList

◆ mEngineTypeList

std::vector<ThrustProducerTypeInfo*> P6DofPropulsionSystem::mEngineTypeList
protected

◆ mFuelTankMap

◆ mFuelTransferList

◆ mLastSimTime_nanosec

int64_t P6DofPropulsionSystem::mLastSimTime_nanosec
protected

◆ mMassProperties

◆ mPropulsionSystemThrottleLeverPosition

double P6DofPropulsionSystem::mPropulsionSystemThrottleLeverPosition
protected

◆ mThrottleLeverPositionSet

bool P6DofPropulsionSystem::mThrottleLeverPositionSet
protected

◆ mThrottleSettingAB

◆ mThrottleSettingMIL

◆ mThrottleSettingPitch

◆ mThrottleSettingReverser

◆ mThrottleSettingYaw

◆ mThrustControlInputValueDataList

std::vector<P6DofThrustProducerObject::ThrustControlInputValueData*> P6DofPropulsionSystem::mThrustControlInputValueDataList
protected

◆ mThrustReserverSetting

double P6DofPropulsionSystem::mThrustReserverSetting
protected

◆ mThrustReverserSet

bool P6DofPropulsionSystem::mThrustReverserSet
protected

◆ mThrustVectoringAnglePitch_deg

double P6DofPropulsionSystem::mThrustVectoringAnglePitch_deg
protected

◆ mThrustVectoringAngleYaw_deg

double P6DofPropulsionSystem::mThrustVectoringAngleYaw_deg
protected

◆ mThrustVectorPitchSet

bool P6DofPropulsionSystem::mThrustVectorPitchSet
protected

◆ mThrustVectorYawSet

bool P6DofPropulsionSystem::mThrustVectorYawSet
protected

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