Aerospace Control Framework 1.0
|
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... | |
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.
angle | Hinge angle |
d | Low speed aero data structure |
v | Velocity vector in the body frame (3x1) |
rho | Atmospheric density |
c | Center of mass |
cP | Aerodynamic center |
speedOfSound | Speed of sound |
kinematicViscosity | Kinematic viscosity |
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().
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.
v | Velocity (m/s) |
k | Induced drag constant |
cD0 | Drag coefficient at zero angle of attack |
cLAlpha | Linear lift slope |
s | Effective area (m^2) |
density | Atmospheric density (kg/m^3) |
alpha | Angle of attack (rad) |
References 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.
v | Velocity (m/s) |
density | Density |
kinematicViscosity | Kinematic viscosity |
speedOfSound | Speed of sound |
length | Characteristic length |
s | Area |
oswaldEff | Oswald efficiency factor |
aspectRatio | Aspect ratio of wing |
zetaTrans | Damping factor for transonic region |
thickness | Wing thickness |
Referenced by simple_lift_and_drag().
aero_angles_t alpha_and_beta | ( | const ml_matrix & | v_body, |
const ml_matrix & | v_body_dot | ||
) |
Compute the angle of attack and sideslip.
v_body | Velocity vector in the body frame (m/s) |
v_body_dot | Velocity vector derivative in the body frame (m/s) |
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().
aero_angles_t alpha_and_beta | ( | const ml_matrix & | v_body | ) |
Compute the angle of attack and sideslip.
v_body | Velocity vector in the body frame (m/s) |
v_body_dot | Velocity vector derivative in the body frame (m/s) |
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.
ml_matrix lift_vector | ( | const ml_matrix & | v_body | ) |
Lift vector.
v_body | Velocity vector in the body frame (m/s) |
References aero_angles_s::alpha, alpha_and_beta(), aero_angles_s::beta, and body_to_wind().
Referenced by low_speed_lift_and_drag().
ml_matrix body_to_wind | ( | double | alpha, |
double | beta | ||
) |
Body to wind axes.
alpha | Angle of attack |
beta | Sideslip |
Referenced by lift_vector().
double local_angle_of_attack | ( | double | alpha, |
const ml_matrix & | aB, | ||
double | delta | ||
) |
Body to wind axes.
alpha | Angle of attack |
aB | Axis of rotation |
delta | Local angle |
Referenced by low_speed_lift_and_drag().
double rankine_hugoniot_factor | ( | double | gamma, |
double | m, | ||
double | p_inf | ||
) |
Pressure modification for Newtonian.
gamma | Ratio of specific heats |
m | Mach number |
p_inf | Pressure at infinity |