WSF
wsf::six_dof::PointMassThrustProducerObject Class Reference

#include <WsfPointMassSixDOF_ThrustProducerObject.hpp>

Inheritance diagram for wsf::six_dof::PointMassThrustProducerObject:
Collaboration diagram for wsf::six_dof::PointMassThrustProducerObject:

Public Member Functions

 PointMassThrustProducerObject ()=default
 ~PointMassThrustProducerObject ()=default
PointMassThrustProducerObjectoperator= (const PointMassThrustProducerObject &other)=delete
ThrustProducerObjectClone () const override
bool ProcessInput (UtInput &aInput, TypeManager *aTypeManager) override
bool ProcessTableInput (UtInput &aInput)
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, ForceAndRotationObject &aForceAndRotation, 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, ForceAndRotationObject &aForceAndRotation, double &aFuelBurnRate_pps, double &aFuelBurned_lbs)
double GetThrottleMilSetting () override
double GetThrottleAbSetting () override
void SetThrustReferenceOffsetAttitude (const UtVec3dX &aReferenceLocation_ft, const UtVec3dX &aThrustYPR_rad) override
void GetCurrentThrustVectorDirection (UtVec3dX &aDirection) const override
void CalcCurrentThrustVectors ()
Public Member Functions inherited from wsf::six_dof::ThrustProducerObject
 ThrustProducerObject ()=default
 ~ThrustProducerObject ()=default
ThrustProducerObjectoperator= (const ThrustProducerObject &other)=delete
void SetParentPropulsionSystem (PropulsionSystem *aParent)
PropulsionSystemGetParentPropulsionSystem ()
void SetEngine (std::unique_ptr< Engine > aEngine)
const EngineGetEngine () const
bool Initialize (int64_t aSimTime_nanosec)
std::string GetBaseName ()
void Ignite (int64_t aIgniteTimeInFrame_nanosec)
void Shutdown (int64_t aTerminateTime_nanosec=0)
double GetMaximumPotentialThrust_lbs (double aAlt_ft, double aDynPress_lbsqft, double aStatPress_lbssqft, double aSpeed_fps, double aMach, double aAlpha_rad, double aBeta_rad)
double GetMinimumPotentialThrust_lbs (double aAlt_ft, double aDynPress_lbsqft, double aStatPress_lbssqft, double aSpeed_fps, double aMach, double aAlpha_rad, double aBeta_rad)
double GetInoperatingDragArea_ft2 ()
void GetThrustLocation (UtVec3dX &aThrustLocation_ft) const
void GetReferenceLocation (UtVec3dX &aReferenceLocation_ft) const
void GetThrustInstalledAnglesYPR (UtVec3dX &aThrustYPR_rad) const
double GetThrottlePosition () const
void SetThrottlePosition (double aThrottleLeverPosition)
void SetThrustVectoringEnabled (bool aThrustVectoringEnabled)
bool ThrustVectoringEnabled () const
double GetFuelBurnRate_pph () const
double GetThrust_lbs () const
double GetForwardThrust_lbs () const
virtual bool SetFuelTank (const std::string &aFuelTankName)
bool EngineOperating () const
bool MayHaveEngineOperating () const
bool MayProduceEngineSmoke () const
bool MayContrail () const
bool ProducingSmokeTrail () const
bool MayProduceSmokeTrail () const
bool AfterburnerOn () const
bool Contrailing () const
bool EngineSmoking () const
void MakeEngineSmoke (bool aSmoking)
virtual bool AfterburnerIsPresent () 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
virtual void SetParentVehicle (Mover *aParentVehicle)

Protected Member Functions

 PointMassThrustProducerObject (const PointMassThrustProducerObject &aSrc)
void DeriveFrom (const ThrustProducerObject *aSrc) override
UtVec3dX CalcThrustVectorFromThrust (double aThrust_lbs)
UtVec3dX CalcOmegaDotIncrementFromThrust (double aThrust_lbs)
void CalcThrustProducerFM (double aThrustMagnitude_lbs, ForceAndRotationObject &aForceAndMoment)
Protected Member Functions inherited from wsf::six_dof::ThrustProducerObject
 ThrustProducerObject (const ThrustProducerObject &aSrc)
bool ProcessInputType (UtInput &aInput, TypeManager *aTypeManager)
Protected Member Functions inherited from wsf::six_dof::Object
 Object (const Object &)=default

Protected Attributes

double mCurrentThrustFactor = 1.0
double mThrottleSettingMIL = 0.0
double mThrottleSettingAB = 0.0
UtVec3dX mOmegaDotIncrementSlope_rps2_lbs
Protected Attributes inherited from wsf::six_dof::ThrustProducerObject
std::string mBaseName
PropulsionSystemmParentPropulsionSystemPtr = nullptr
UtCloneablePtr< EnginemEnginePtr {nullptr}
UtVec3dX mNominalThrustVectorDirection = UtVec3dX::cUNIT_FORWARD
UtVec3dX mThrustInstalledAnglesYPR_rad
UtVec3dX mReferenceLocation_ft
UtVec3dX mThrustLocation_ft
double mThrustOffset_ft = 0.0
double mInOpRefArea_ft2 = 1.0
bool mThrustVectoringEnabled = false
Protected Attributes inherited from wsf::six_dof::Object
std::string mObjName = ""
MovermParentVehicle = nullptr

Constructor & Destructor Documentation

◆ PointMassThrustProducerObject() [1/2]

wsf::six_dof::PointMassThrustProducerObject::PointMassThrustProducerObject ( )
default

◆ ~PointMassThrustProducerObject()

wsf::six_dof::PointMassThrustProducerObject::~PointMassThrustProducerObject ( )
default

◆ PointMassThrustProducerObject() [2/2]

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

Member Function Documentation

◆ CalcCurrentThrustVectors()

void wsf::six_dof::PointMassThrustProducerObject::CalcCurrentThrustVectors ( )

Referenced by CalcThrustProducerFM().

◆ CalcOmegaDotIncrementFromThrust()

UtVec3dX wsf::six_dof::PointMassThrustProducerObject::CalcOmegaDotIncrementFromThrust ( double aThrust_lbs)
protected

◆ CalcThrustProducerFM()

◆ CalcThrustVectorFromThrust()

UtVec3dX wsf::six_dof::PointMassThrustProducerObject::CalcThrustVectorFromThrust ( double aThrust_lbs)
protected

◆ CalculateThrust()

void wsf::six_dof::PointMassThrustProducerObject::CalculateThrust ( double aDeltaT_sec,
double aAlt_ft,
double aDynPress_lbsqft,
double aStatPress_lbssqft,
double aSpeed_fps,
double aMach,
double aAlpha_rad,
double aBeta_rad,
ForceAndRotationObject & aForceAndRotation,
double & aFuelBurnRate_pps,
double & aFuelBurned_lbs )
inline

◆ Clone()

wsf::six_dof::ThrustProducerObject * wsf::six_dof::PointMassThrustProducerObject::Clone ( ) const
overridevirtual

◆ DeriveFrom()

◆ GetCurrentThrustVectorDirection()

void wsf::six_dof::PointMassThrustProducerObject::GetCurrentThrustVectorDirection ( UtVec3dX & aDirection) const
overridevirtual

◆ GetThrottleAbSetting()

double wsf::six_dof::PointMassThrustProducerObject::GetThrottleAbSetting ( )
inlineoverridevirtual

◆ GetThrottleMilSetting()

double wsf::six_dof::PointMassThrustProducerObject::GetThrottleMilSetting ( )
inlineoverridevirtual

◆ operator=()

◆ ProcessInput()

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

◆ ProcessTableInput()

bool wsf::six_dof::PointMassThrustProducerObject::ProcessTableInput ( UtInput & aInput)

References mOmegaDotIncrementSlope_rps2_lbs.

Referenced by operator=().

◆ SetThrustReferenceOffsetAttitude()

◆ UpdateThrust()

void wsf::six_dof::PointMassThrustProducerObject::UpdateThrust ( double aDeltaT_sec,
double aAlt_ft,
double aDynPress_lbsqft,
double aStatPress_lbssqft,
double aSpeed_fps,
double aMach,
double aAlpha_rad,
double aBeta_rad,
ForceAndRotationObject & aForceAndRotation,
double & aFuelBurnRate_pps,
double & aFuelBurned_lbs )
inline

Member Data Documentation

◆ mCurrentThrustFactor

double wsf::six_dof::PointMassThrustProducerObject::mCurrentThrustFactor = 1.0
protected

◆ mOmegaDotIncrementSlope_rps2_lbs

UtVec3dX wsf::six_dof::PointMassThrustProducerObject::mOmegaDotIncrementSlope_rps2_lbs
protected

◆ mThrottleSettingAB

double wsf::six_dof::PointMassThrustProducerObject::mThrottleSettingAB = 0.0
protected

◆ mThrottleSettingMIL

double wsf::six_dof::PointMassThrustProducerObject::mThrottleSettingMIL = 0.0
protected

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