Aerospace Control Framework 1.0
Classes | Typedefs | Functions
sc_aero.h File Reference

Aerodynamic functions. More...

Go to the source code of this file.

Classes

struct  aero_angles_s
 Structure for storing orbit data. More...
 
struct  low_speed_aero_s
 Structure for storing the low speed aero data. More...
 
struct  suborb_aero_s
 Structure for storing the suborb aero data. More...
 

Typedefs

typedef struct aero_angles_s aero_angles_t
 Structure for storing orbit data.
 
typedef struct low_speed_aero_s low_speed_aero_t
 Structure for storing the low speed aero data.
 
typedef struct suborb_aero_s suborb_aero_t
 Structure for storing the suborb aero data.
 

Functions

ml_matrix low_speed_lift_and_drag (double angle, low_speed_aero_t d, const ml_matrix &v, double rho, const ml_matrix &c, double speedOfSound, double kinematicViscosity)
 Low speed lift and drag torque. More...
 
ml_matrix suborb_lift_and_drag (double angle, suborb_aero_t d, const ml_matrix &v, double rho, const ml_matrix &c, double speedOfSound)
 suborb lift and drag torque
 
ml_matrix simple_lift_and_drag (double v, double k, double cD0, double cLAlpha, double s, double density, double alpha)
 Simple lift and drag coefficients. More...
 
ml_matrix lift_and_drag (double v, double rho, double kinematicViscosity, double speedOfSound, double length, double s, double oswaldEff, double aspectRatio, double zetaTrans, double thickness)
 Mach dependent lift and drag. More...
 
aero_angles_t alpha_and_beta (const ml_matrix &v_body, const ml_matrix &v_body_dot)
 Compute the angle of attack and sideslip. More...
 
aero_angles_t alpha_and_beta (const ml_matrix &v_body)
 Compute the angle of attack and sideslip. More...
 
ml_matrix lift_vector (const ml_matrix &v_body)
 Lift vector. More...
 
ml_matrix body_to_wind (double alpha, double beta)
 Body to wind axes. More...
 
double local_angle_of_attack (double alpha, const ml_matrix &aB, double delta)
 Body to wind axes. More...
 
double rankine_hugoniot_factor (double gamma, double m, double p_inf)
 Pressure modification for Newtonian. More...
 

Function Documentation

◆ low_speed_lift_and_drag()

ml_matrix low_speed_lift_and_drag ( double  angle,
low_speed_aero_t  d,
const ml_matrix &  v,
double  rho,
const ml_matrix &  c,
double  speedOfSound,
double  kinematicViscosity 
)

Low speed lift and drag torque.

Good above Mach 4.

Parameters
angleHinge angle
dLow speed aero data structure
vVelocity vector in the body frame (3x1)
rhoAtmospheric density
cCenter of mass
cPAerodynamic center
speedOfSoundSpeed of sound
kinematicViscosityKinematic viscosity
Returns
ml_matrix [force;torque].

References aero_angles_s::alpha, low_speed_aero_s::alpha0, alpha_and_beta(), low_speed_aero_s::aspectRatio, low_speed_aero_s::axis, low_speed_aero_s::cP, low_speed_aero_s::length, lift_vector(), local_angle_of_attack(), low_speed_aero_s::oswaldEff, low_speed_aero_s::s, low_speed_aero_s::thickness, and low_speed_aero_s::zetaTrans.

Referenced by aero_low_speed::update().

◆ simple_lift_and_drag()

ml_matrix simple_lift_and_drag ( double  v,
double  k,
double  cD0,
double  cLAlpha,
double  s,
double  density,
double  alpha 
)

Simple lift and drag coefficients.

Parameters
vVelocity (m/s)
kInduced drag constant
cD0Drag coefficient at zero angle of attack
cLAlphaLinear lift slope
sEffective area (m^2)
densityAtmospheric density (kg/m^3)
alphaAngle of attack (rad)
Returns
ml_matrix [lift;drag].

References lift_and_drag().

◆ lift_and_drag()

ml_matrix lift_and_drag ( double  v,
double  density,
double  kinematicViscosity,
double  speedOfSound,
double  length,
double  s,
double  oswaldEff,
double  aspectRatio,
double  zetaTrans,
double  thickness 
)

Mach dependent lift and drag.

Parameters
vVelocity (m/s)
densityDensity
kinematicViscosityKinematic viscosity
speedOfSoundSpeed of sound
lengthCharacteristic length
sArea
oswaldEffOswald efficiency factor
aspectRatioAspect ratio of wing
zetaTransDamping factor for transonic region
thicknessWing thickness
Returns
ml_matrix [lift;drag].

Referenced by simple_lift_and_drag().

◆ alpha_and_beta() [1/2]

aero_angles_t alpha_and_beta ( const ml_matrix &  v_body,
const ml_matrix &  v_body_dot 
)

Compute the angle of attack and sideslip.

Parameters
v_bodyVelocity vector in the body frame (m/s)
v_body_dotVelocity vector derivative in the body frame (m/s)
Returns
Data structure with alpha, beta, their derivatives and total velocities

References aero_angles_s::alpha, aero_angles_s::alpha_dot, aero_angles_s::beta, aero_angles_s::beta_dot, aero_angles_s::v_total, and aero_angles_s::v_total_dot.

Referenced by lift_vector(), and low_speed_lift_and_drag().

◆ alpha_and_beta() [2/2]

aero_angles_t alpha_and_beta ( const ml_matrix &  v_body)

Compute the angle of attack and sideslip.

Parameters
v_bodyVelocity vector in the body frame (m/s)
v_body_dotVelocity vector derivative in the body frame (m/s)
Returns
Data structure with alpha, beta, their derivatives and total velocities

References aero_angles_s::alpha, aero_angles_s::alpha_dot, aero_angles_s::beta, aero_angles_s::beta_dot, aero_angles_s::v_total, and aero_angles_s::v_total_dot.

◆ lift_vector()

ml_matrix lift_vector ( const ml_matrix &  v_body)

Lift vector.

Parameters
v_bodyVelocity vector in the body frame (m/s)
Returns
Data structure with alpha, beta, their derivatives and total velocities

References aero_angles_s::alpha, alpha_and_beta(), aero_angles_s::beta, and body_to_wind().

Referenced by low_speed_lift_and_drag().

◆ body_to_wind()

ml_matrix body_to_wind ( double  alpha,
double  beta 
)

Body to wind axes.

Parameters
alphaAngle of attack
betaSideslip
Returns
Body to wind axes matrix

Referenced by lift_vector().

◆ local_angle_of_attack()

double local_angle_of_attack ( double  alpha,
const ml_matrix &  aB,
double  delta 
)

Body to wind axes.

Parameters
alphaAngle of attack
aBAxis of rotation
deltaLocal angle
Returns
Body to wind axes matrix

Referenced by low_speed_lift_and_drag().

◆ rankine_hugoniot_factor()

double rankine_hugoniot_factor ( double  gamma,
double  m,
double  p_inf 
)

Pressure modification for Newtonian.

Parameters
gammaRatio of specific heats
mMach number
p_infPressure at infinity
Returns
Maximum pressure coefficient