12#ifndef P6DOFAEROMOVABLEOBJECT_H
13#define P6DOFAEROMOVABLEOBJECT_H
17#include "UtCloneablePtr.hpp"
60 void SetReferenceAreas(
double aWingChord_ft,
double aWingSpan_ft,
double aWingArea_sqft);
70 const UtVec3dX& aAngularRates_rps,
71 UtVec3dX& aMoment_ftlbs,
74 double& aSideForce_lbs,
102 double CL_AngleAlphaMach(
double aMach,
double aAlpha_rad,
double aAngle_deg)
const;
106 double Cd_AngleAlphaMach(
double aMach,
double aAlpha_rad,
double aAngle_deg)
const;
108 double Cd_AngleBetaMach(
double aMach,
double aBeta_rad,
double aAngle_deg)
const;
111 double aAngle_deg)
const;
114 double CY_AngleBetaMach(
double aMach,
double aBeta_rad,
double aAngle_deg)
const;
117 double Cm_AngleAlphaMach(
double aMach,
double aAlpha_rad,
double aAngle_deg)
const;
121 double Cn_AngleBetaMach(
double aMach,
double aBeta_rad,
double aAngle_deg)
const;
125 double Cl_AngleMach(
double aMach,
double aAngle_deg)
const;
126 double Cl_AngleAlphaBeta(
double aAlpha_rad,
double aBeta_rad,
double aAngle_deg)
const;
UtCloneablePtr< UtTable::Table > mCl_AngleAlphaBetaTablePtr
Definition P6DofAeroMovableObject.hpp:176
UtCloneablePtr< UtTable::Table > mCL_AngleAlphaMachTablePtr
Definition P6DofAeroMovableObject.hpp:152
size_t GetControlSurfaceHandle() const
Definition P6DofAeroMovableObject.cpp:820
UtCloneablePtr< UtTable::Table > mClr_AngleMachTablePtr
Definition P6DofAeroMovableObject.hpp:180
double mRefWingChord_ft
Definition P6DofAeroMovableObject.hpp:137
void SetReferenceAreas(double aWingChord_ft, double aWingSpan_ft, double aWingArea_sqft)
Definition P6DofAeroMovableObject.cpp:33
double Cnr_AngleMach(double aMach, double aAngle_deg) const
Definition P6DofAeroMovableObject.cpp:479
UtCloneablePtr< UtTable::Table > mCd_AngleMachTablePtr
Definition P6DofAeroMovableObject.hpp:160
double CalculateMovableAeroCdArea(double aMach, double aAlpha_rad, double aAngle_deg) const
Definition P6DofAeroMovableObject.cpp:766
std::string GetName() const
Definition P6DofAeroMovableObject.cpp:351
double Cd_AngleBetaMach(double aMach, double aBeta_rad, double aAngle_deg) const
Definition P6DofAeroMovableObject.cpp:397
double mExtendedValue
Definition P6DofAeroMovableObject.hpp:140
UtCloneablePtr< UtTable::Table > mClq_AngleMachTablePtr
Definition P6DofAeroMovableObject.hpp:179
bool mUseInternalRefArea
Definition P6DofAeroMovableObject.hpp:134
double CalculateMovableAeroCLArea(double aMach, double aAlpha_rad, double aAngle_deg) const
Definition P6DofAeroMovableObject.cpp:740
P6DofAeroMovableObject(const P6DofAeroMovableObject &aSrc)=default
UtCloneablePtr< UtTable::Table > mCm_AngleAlphaMachTablePtr
Definition P6DofAeroMovableObject.hpp:167
std::string mName
Definition P6DofAeroMovableObject.hpp:131
UtCloneablePtr< UtTable::Table > mCY_AngleBetaMachTablePtr
Definition P6DofAeroMovableObject.hpp:164
double Cn_AngleBetaMach(double aMach, double aBeta_rad, double aAngle_deg) const
Definition P6DofAeroMovableObject.cpp:465
void SetAngle_deg(double aAngle_deg)
Definition P6DofAeroMovableObject.cpp:810
double Cl_AngleMach(double aMach, double aAngle_deg) const
Definition P6DofAeroMovableObject.cpp:492
size_t mControlSurfaceHandle
Definition P6DofAeroMovableObject.hpp:143
bool mUseExternalRefArea
Definition P6DofAeroMovableObject.hpp:133
UtCloneablePtr< UtTable::Table > mCLFactor_AngleMachTablePtr
Definition P6DofAeroMovableObject.hpp:153
double Clr_AngleMach(double aMach, double aAngle_deg) const
Definition P6DofAeroMovableObject.cpp:545
bool mUseReducedFrequency
Definition P6DofAeroMovableObject.hpp:149
double Cd_AngleMach(double aMach, double aAngle_deg) const
Definition P6DofAeroMovableObject.cpp:411
bool Initialize()
Definition P6DofAeroMovableObject.cpp:346
double mRefWingArea_sqft
Definition P6DofAeroMovableObject.hpp:139
UtCloneablePtr< UtTable::Table > mCd_AngleAlphaMachTablePtr
Definition P6DofAeroMovableObject.hpp:156
P6DofAeroMovableObject & operator=(const P6DofAeroMovableObject &other)=delete
~P6DofAeroMovableObject()=default
double Cm_AngleAlphaMach(double aMach, double aAlpha_rad, double aAngle_deg) const
Definition P6DofAeroMovableObject.cpp:438
UtCloneablePtr< UtTable::Table > mCl_AngleMachTablePtr
Definition P6DofAeroMovableObject.hpp:175
double CalculateMovableAeroCL(double aMach, double aAlpha_rad, double aAngle_deg) const
Definition P6DofAeroMovableObject.cpp:761
double CL_AngleAlphaMach(double aMach, double aAlpha_rad, double aAngle_deg) const
Definition P6DofAeroMovableObject.cpp:356
void SetExtendedValue(double aExtendedValue)
Definition P6DofAeroMovableObject.cpp:805
double Cl_AngleAlphaBeta(double aAlpha_rad, double aBeta_rad, double aAngle_deg) const
Definition P6DofAeroMovableObject.cpp:505
void SetReferenceArea(double aRefArea_sqft)
Definition P6DofAeroMovableObject.cpp:26
double Cmq_AngleMach(double aMach, double aAngle_deg) const
Definition P6DofAeroMovableObject.cpp:452
double CLFactor_AngleMach(double aMach, double aAngle_deg) const
Definition P6DofAeroMovableObject.cpp:370
bool UseLegacyAero() const
Definition P6DofAeroMovableObject.hpp:96
double mRefInternalArea_sqft
Definition P6DofAeroMovableObject.hpp:136
double CalculateMovableAeroCmArea(double aMach, double aAlpha_rad, double aAngle_deg) const
Definition P6DofAeroMovableObject.cpp:718
double Cd_AngleAlphaMach(double aMach, double aAlpha_rad, double aAngle_deg) const
Definition P6DofAeroMovableObject.cpp:383
double CY_AngleBetaMach(double aMach, double aBeta_rad, double aAngle_deg) const
Definition P6DofAeroMovableObject.cpp:424
double mRefExternalArea_sqft
Definition P6DofAeroMovableObject.hpp:135
bool mUseLegacy
Definition P6DofAeroMovableObject.hpp:146
UtCloneablePtr< UtTable::Table > mClp_AngleMachTablePtr
Definition P6DofAeroMovableObject.hpp:178
bool ProcessInput(UtInput &aInput)
Definition P6DofAeroMovableObject.cpp:40
P6DofAeroMovableObject * Clone() const
Definition P6DofAeroMovableObject.cpp:21
void SetControlSurfaceHandle(size_t aHandle)
Definition P6DofAeroMovableObject.cpp:815
double Clq_AngleMach(double aMach, double aAngle_deg) const
Definition P6DofAeroMovableObject.cpp:532
P6DofAeroMovableObject()=default
UtCloneablePtr< UtTable::Table > mCn_AngleBetaMachTablePtr
Definition P6DofAeroMovableObject.hpp:171
UtCloneablePtr< UtTable::Table > mCmq_AngleMachTablePtr
Definition P6DofAeroMovableObject.hpp:168
UtCloneablePtr< UtTable::Table > mCd_AngleBetaMachTablePtr
Definition P6DofAeroMovableObject.hpp:158
double mRefWingSpan_ft
Definition P6DofAeroMovableObject.hpp:138
double mAngle_deg
Definition P6DofAeroMovableObject.hpp:141
double Clp_AngleMach(double aMach, double aAngle_deg) const
Definition P6DofAeroMovableObject.cpp:519
UtCloneablePtr< UtTable::Table > mCnr_AngleMachTablePtr
Definition P6DofAeroMovableObject.hpp:172
void CalculateMovableAeroFM(double aDynPress_lbsqft, double aMach, double aSpeed_fps, double aAlpha_rad, double aBeta_rad, const UtVec3dX &aAngularRates_rps, UtVec3dX &aMoment_ftlbs, double &aLift_lbs, double &aDrag_lbs, double &aSideForce_lbs, double &aLiftFactor, double aAngle_deg)
Definition P6DofAeroMovableObject.cpp:558