extern COCKPIT cockpit_;
-SCALAR interp(SCALAR *y_table, SCALAR *x_table, int Ntable, SCALAR x)
+ SCALAR CLadot;
+ SCALAR CLq;
+ SCALAR CLde;
+ SCALAR CLob;
+
+
+ SCALAR Cdob;
+ SCALAR Cda; /*Not used*/
+ SCALAR Cdde;
+
+ SCALAR Cma;
+ SCALAR Cmadot;
+ SCALAR Cmq;
+ SCALAR Cmob;
+ SCALAR Cmde;
+
+ SCALAR Clbeta;
+ SCALAR Clp;
+ SCALAR Clr;
+ SCALAR Clda;
+ SCALAR Cldr;
+
+ SCALAR Cnbeta;
+ SCALAR Cnp;
+ SCALAR Cnr;
+ SCALAR Cnda;
+ SCALAR Cndr;
+
+ SCALAR Cybeta;
+ SCALAR Cyp;
+ SCALAR Cyr;
+ SCALAR Cyda;
+ SCALAR Cydr;
+
+ /*nondimensionalization quantities*/
+ /*units here are ft and lbs */
+ SCALAR cbar; /*mean aero chord ft*/
+ SCALAR b; /*wing span ft */
+ SCALAR Sw; /*wing planform surface area ft^2*/
+ SCALAR rPiARe; /*reciprocal of Pi*AR*e*/
+ SCALAR lbare; /*elevator moment arm MAC*/
+
+ SCALAR Weight; /*lbs*/
+ SCALAR MaxTakeoffWeight,EmptyWeight;
+ SCALAR Cg; /*%MAC*/
+ SCALAR Zcg; /*%MAC*/
+
+
+ SCALAR CLwbh,CL,cm,cd,cn,cy,croll,cbar_2V,b_2V,qS,qScbar,qSb;
+ SCALAR CLo,Cdo,Cmo;
+
+ SCALAR F_X_wind,F_Y_wind,F_Z_wind;
+
+ SCALAR long_trim;
+
+
+ SCALAR elevator, aileron, rudder;
+
+
+ SCALAR Flap_Position;
+
+ int Flaps_In_Transit;
+
+static SCALAR interp(SCALAR *y_table, SCALAR *x_table, int Ntable, SCALAR x)
{
SCALAR slope;
int i=1;
}
-void aero( SCALAR dt, int Initialize ) {
+void c172_aero( SCALAR dt, int Initialize ) {
- static int init = 0;
+ // static int init = 0;
static int fi=0;
static SCALAR lastFlapHandle=0;
static SCALAR Ai;
/* sum coefficients */
- CLwbh = interp(CLtable,alpha_ind,NCL,Alpha);
+ CLwbh = interp(CLtable,alpha_ind,NCL,Std_Alpha);
/* printf("CLwbh: %g\n",CLwbh);
*/
CLo = CLob + interp(dCLf,flap_ind,Ndf,Flap_Position);
- CL = CLo + CLwbh + (CLadot*Alpha_dot + CLq*Theta_dot)*cbar_2V + CLde*elevator;
+ CL = CLo + CLwbh + (CLadot*Std_Alpha_dot + CLq*Theta_dot)*cbar_2V + CLde*elevator;
cd = Cdo + rPiARe*Ai*Ai*CL*CL + Cdde*elevator;
- cy = Cybeta*Beta + (Cyp*P_body + Cyr*R_body)*b_2V + Cyda*aileron + Cydr*rudder;
+ cy = Cybeta*Std_Beta + (Cyp*P_body + Cyr*R_body)*b_2V + Cyda*aileron + Cydr*rudder;
- cm = Cmo + Cma*Alpha + (Cmq*Q_body + Cmadot*Alpha_dot)*cbar_2V + Cmde*(elevator);
- cn = Cnbeta*Beta + (Cnp*P_body + Cnr*R_body)*b_2V + Cnda*aileron + Cndr*rudder;
- croll=Clbeta*Beta + (Clp*P_body + Clr*R_body)*b_2V + Clda*aileron + Cldr*rudder;
+ cm = Cmo + Cma*Std_Alpha + (Cmq*Q_body + Cmadot*Std_Alpha_dot)*cbar_2V + Cmde*(elevator);
+ cn = Cnbeta*Std_Beta + (Cnp*P_body + Cnr*R_body)*b_2V + Cnda*aileron + Cndr*rudder;
+ croll=Clbeta*Std_Beta + (Clp*P_body + Clr*R_body)*b_2V + Clda*aileron + Cldr*rudder;
/* printf("aero: CL: %7.4f, Cd: %7.4f, Cm: %7.4f, Cy: %7.4f, Cn: %7.4f, Cl: %7.4f\n",CL,cd,cm,cy,cn,croll);
*/