12#ifndef WSFRIGIDBODYSIXDOFAEROMOVABLEOBJECT_HPP
13#define WSFRIGIDBODYSIXDOFAEROMOVABLEOBJECT_HPP
17#include "UtCloneablePtr.hpp"
63 void SetReferenceAreas(
double aWingChord_ft,
double aWingSpan_ft,
double aWingArea_sqft);
73 const UtVec3dX& aAngularRates_rps,
74 UtVec3dX& aMoment_ftlbs,
77 double& aSideForce_lbs,
101 double CL_AngleAlphaMach(
double aMach,
double aAlpha_rad,
double aAngle_deg)
const;
104 double Cd_AngleAlphaMach(
double aMach,
double aAlpha_rad,
double aAngle_deg)
const;
106 double Cd_AngleBetaMach(
double aMach,
double aBeta_rad,
double aAngle_deg)
const;
109 double aAngle_deg)
const;
112 double CY_AngleBetaMach(
double aMach,
double aBeta_rad,
double aAngle_deg)
const;
115 double Cm_AngleAlphaMach(
double aMach,
double aAlpha_rad,
double aAngle_deg)
const;
119 double Cn_AngleBetaMach(
double aMach,
double aBeta_rad,
double aAngle_deg)
const;
123 double Cl_AngleAlphaBeta(
double aAlpha_rad,
double aBeta_rad,
double aAngle_deg)
const;
UtCloneablePtr< UtTable::Table > mCl_AngleAlphaBetaTablePtr
Definition WsfRigidBodySixDOF_AeroMovableObject.hpp:168
bool ProcessInput(UtInput &aInput)
Definition WsfRigidBodySixDOF_AeroMovableObject.cpp:40
void SetControlSurfaceHandle(size_t aHandle)
Definition WsfRigidBodySixDOF_AeroMovableObject.cpp:747
double Cn_AngleBetaMach(double aMach, double aBeta_rad, double aAngle_deg) const
Definition WsfRigidBodySixDOF_AeroMovableObject.cpp:416
UtCloneablePtr< UtTable::Table > mCmq_AngleMachTablePtr
Definition WsfRigidBodySixDOF_AeroMovableObject.hpp:161
UtCloneablePtr< UtTable::Table > mCd_AngleMachTablePtr
Definition WsfRigidBodySixDOF_AeroMovableObject.hpp:153
double mRefExternalArea_sqft
Definition WsfRigidBodySixDOF_AeroMovableObject.hpp:132
RigidBodyAeroMovableObject * Clone() const
Definition WsfRigidBodySixDOF_AeroMovableObject.cpp:21
bool mUseInternalRefArea
Definition WsfRigidBodySixDOF_AeroMovableObject.hpp:131
double Clp_AngleMach(double aMach, double aAngle_deg) const
Definition WsfRigidBodySixDOF_AeroMovableObject.cpp:457
std::string mName
Definition WsfRigidBodySixDOF_AeroMovableObject.hpp:128
double CY_AngleBetaMach(double aMach, double aBeta_rad, double aAngle_deg) const
Definition WsfRigidBodySixDOF_AeroMovableObject.cpp:375
bool mUseReducedFrequency
Definition WsfRigidBodySixDOF_AeroMovableObject.hpp:143
double Cd_AngleBetaMach(double aMach, double aBeta_rad, double aAngle_deg) const
Definition WsfRigidBodySixDOF_AeroMovableObject.cpp:348
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 WsfRigidBodySixDOF_AeroMovableObject.cpp:496
bool Initialize()
Definition WsfRigidBodySixDOF_AeroMovableObject.cpp:310
UtCloneablePtr< UtTable::Table > mClp_AngleMachTablePtr
Definition WsfRigidBodySixDOF_AeroMovableObject.hpp:170
RigidBodyAeroMovableObject()=default
double CalculateMovableAeroCL(double aMach, double aAlpha_rad, double aAngle_deg) const
Definition WsfRigidBodySixDOF_AeroMovableObject.cpp:691
double Cd_AngleMach(double aMach, double aAngle_deg) const
Definition WsfRigidBodySixDOF_AeroMovableObject.cpp:362
UtCloneablePtr< UtTable::Table > mCY_AngleBetaMachTablePtr
Definition WsfRigidBodySixDOF_AeroMovableObject.hpp:157
double Cmq_AngleMach(double aMach, double aAngle_deg) const
Definition WsfRigidBodySixDOF_AeroMovableObject.cpp:403
UtCloneablePtr< UtTable::Table > mCn_AngleBetaMachTablePtr
Definition WsfRigidBodySixDOF_AeroMovableObject.hpp:164
double mRefWingChord_ft
Definition WsfRigidBodySixDOF_AeroMovableObject.hpp:134
UtCloneablePtr< UtTable::Table > mClr_AngleMachTablePtr
Definition WsfRigidBodySixDOF_AeroMovableObject.hpp:172
UtCloneablePtr< UtTable::Table > mClq_AngleMachTablePtr
Definition WsfRigidBodySixDOF_AeroMovableObject.hpp:171
double mExtendedValue
Definition WsfRigidBodySixDOF_AeroMovableObject.hpp:137
void SetAngle_deg(double aAngle_deg)
Definition WsfRigidBodySixDOF_AeroMovableObject.cpp:742
double mRefWingArea_sqft
Definition WsfRigidBodySixDOF_AeroMovableObject.hpp:136
UtCloneablePtr< UtTable::Table > mCnr_AngleMachTablePtr
Definition WsfRigidBodySixDOF_AeroMovableObject.hpp:165
void SetExtendedValue(double aExtendedValue)
Definition WsfRigidBodySixDOF_AeroMovableObject.cpp:737
void SetReferenceArea(double aRefArea_sqft)
Definition WsfRigidBodySixDOF_AeroMovableObject.cpp:26
double Cnr_AngleMach(double aMach, double aAngle_deg) const
Definition WsfRigidBodySixDOF_AeroMovableObject.cpp:430
UtCloneablePtr< UtTable::Table > mCL_AngleAlphaMachTablePtr
Definition WsfRigidBodySixDOF_AeroMovableObject.hpp:146
double Cl_AngleAlphaBeta(double aAlpha_rad, double aBeta_rad, double aAngle_deg) const
Definition WsfRigidBodySixDOF_AeroMovableObject.cpp:443
UtCloneablePtr< UtTable::Table > mCd_AngleBetaMachTablePtr
Definition WsfRigidBodySixDOF_AeroMovableObject.hpp:151
double mAngle_deg
Definition WsfRigidBodySixDOF_AeroMovableObject.hpp:138
RigidBodyAeroMovableObject(const RigidBodyAeroMovableObject &aSrc)=default
double mRefInternalArea_sqft
Definition WsfRigidBodySixDOF_AeroMovableObject.hpp:133
std::string GetName() const
Definition WsfRigidBodySixDOF_AeroMovableObject.cpp:315
size_t mControlSurfaceHandle
Definition WsfRigidBodySixDOF_AeroMovableObject.hpp:140
~RigidBodyAeroMovableObject()=default
UtCloneablePtr< UtTable::Table > mCm_AngleAlphaMachTablePtr
Definition WsfRigidBodySixDOF_AeroMovableObject.hpp:160
double CL_AngleAlphaMach(double aMach, double aAlpha_rad, double aAngle_deg) const
Definition WsfRigidBodySixDOF_AeroMovableObject.cpp:320
UtCloneablePtr< UtTable::Table > mCd_AngleAlphaMachTablePtr
Definition WsfRigidBodySixDOF_AeroMovableObject.hpp:149
size_t GetControlSurfaceHandle() const
Definition WsfRigidBodySixDOF_AeroMovableObject.cpp:752
bool mUseExternalRefArea
Definition WsfRigidBodySixDOF_AeroMovableObject.hpp:130
double mRefWingSpan_ft
Definition WsfRigidBodySixDOF_AeroMovableObject.hpp:135
double Clr_AngleMach(double aMach, double aAngle_deg) const
Definition WsfRigidBodySixDOF_AeroMovableObject.cpp:483
double Cm_AngleAlphaMach(double aMach, double aAlpha_rad, double aAngle_deg) const
Definition WsfRigidBodySixDOF_AeroMovableObject.cpp:389
double Clq_AngleMach(double aMach, double aAngle_deg) const
Definition WsfRigidBodySixDOF_AeroMovableObject.cpp:470
RigidBodyAeroMovableObject & operator=(const RigidBodyAeroMovableObject &other)=delete
double CalculateMovableAeroCdArea(double aMach, double aAlpha_rad, double aAngle_deg) const
Definition WsfRigidBodySixDOF_AeroMovableObject.cpp:696
double CalculateMovableAeroCmArea(double aMach, double aAlpha_rad, double aAngle_deg) const
Definition WsfRigidBodySixDOF_AeroMovableObject.cpp:644
double Cd_AngleAlphaMach(double aMach, double aAlpha_rad, double aAngle_deg) const
Definition WsfRigidBodySixDOF_AeroMovableObject.cpp:334
void SetReferenceAreas(double aWingChord_ft, double aWingSpan_ft, double aWingArea_sqft)
Definition WsfRigidBodySixDOF_AeroMovableObject.cpp:33
double CalculateMovableAeroCLArea(double aMach, double aAlpha_rad, double aAngle_deg) const
Definition WsfRigidBodySixDOF_AeroMovableObject.cpp:668
Definition WsfSA_Processor.hpp:35
Function definitions for those who need run-time access to the version.
Definition WsfComm.cpp:32