]> git.mxchange.org Git - flightgear.git/blobdiff - src/FDM/LaRCsim/c172_aero.c
Latest round of JSBim updates.
[flightgear.git] / src / FDM / LaRCsim / c172_aero.c
index 04da35502faaeea5b0fd310b59ab2173d8048f5b..0128040d842e09111f5740bdb663d0719cfb1539 100644 (file)
 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;
@@ -141,10 +204,10 @@ SCALAR interp(SCALAR *y_table, SCALAR *x_table, int Ntable, SCALAR x)
 }      
                                
 
-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;
@@ -357,7 +420,7 @@ void aero( SCALAR dt, int Initialize ) {
  
   
   /* 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);
@@ -373,13 +436,13 @@ void aero( SCALAR dt, int Initialize ) {
  
 
 
-  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);
  */