]> git.mxchange.org Git - flightgear.git/blobdiff - src/FDM/UIUCModel/uiuc_coef_pitch.cpp
Port over remaining Point3D usage to the more type and unit safe SG* classes.
[flightgear.git] / src / FDM / UIUCModel / uiuc_coef_pitch.cpp
index cad3ae43164e41d18519eb82ab5a2064b0603fba..613261d4b3379f2dc83aa2aa42e642f15c0e13ae 100644 (file)
@@ -80,8 +80,7 @@
 
  You should have received a copy of the GNU General Public License
  along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
- USA or view http://www.gnu.org/copyleft/gpl.html.
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
 
 **********************************************************************/
 
@@ -112,7 +111,7 @@ void uiuc_coef_pitch()
                 Cmo = uiuc_ice_filter(Cmo_clean,kCmo);
               }
            Cmo_save = Cmo;
-            Cm += Cmo;
+            Cm += Cmo_save;
             break;
           }
         case Cm_a_flag:
@@ -121,8 +120,8 @@ void uiuc_coef_pitch()
               {
                 Cm_a = uiuc_ice_filter(Cm_a_clean,kCm_a);
               }
-           Cm_a_save = Cm_a * Alpha;
-            Cm += Cm_a * Alpha;
+           Cm_a_save = Cm_a * Std_Alpha;
+            Cm += Cm_a_save;
             break;
           }
         case Cm_a2_flag:
@@ -131,8 +130,8 @@ void uiuc_coef_pitch()
               {
                 Cm_a2 = uiuc_ice_filter(Cm_a2_clean,kCm_a2);
               }
-           Cm_a2_save = Cm_a2 * Alpha * Alpha;
-            Cm += Cm_a2 * Alpha * Alpha;
+           Cm_a2_save = Cm_a2 * Std_Alpha * Std_Alpha;
+            Cm += Cm_a2_save;
             break;
           }
         case Cm_adot_flag:
@@ -143,8 +142,7 @@ void uiuc_coef_pitch()
               }
             /* Cm_adot must be mulitplied by cbar/2U 
                (see Roskam Control book, Part 1, pg. 147) */
-           Cm_adot_save = Cm_adot * Alpha_dot * cbar_2U;
-            //Cm        += Cm_adot * Alpha_dot * cbar_2U;
+           Cm_adot_save = Cm_adot * Std_Alpha_dot * cbar_2U;
            if (eta_q_Cm_adot_fac)
              {
                Cm += Cm_adot_save * eta_q_Cm_adot_fac;
@@ -164,7 +162,6 @@ void uiuc_coef_pitch()
             /* Cm_q must be mulitplied by cbar/2U 
                (see Roskam Control book, Part 1, pg. 147) */
            Cm_q_save = Cm_q * Q_body * cbar_2U;
-            // Cm    += Cm_q * Q_body * cbar_2U;
            if (eta_q_Cm_q_fac)
              {
                Cm += Cm_q_save * eta_q_Cm_q_fac;
@@ -178,7 +175,7 @@ void uiuc_coef_pitch()
         case Cm_ih_flag:
           {
            Cm_ih_save = Cm_ih * ih;
-            Cm += Cm_ih * ih;
+            Cm += Cm_ih_save;
             break;
           }
         case Cm_de_flag:
@@ -188,7 +185,14 @@ void uiuc_coef_pitch()
                 Cm_de = uiuc_ice_filter(Cm_de_clean,kCm_de);
               }
            Cm_de_save = Cm_de * elevator;
-            Cm += Cm_de * elevator;
+           if (eta_q_Cm_de_fac)
+             {
+               Cm += Cm_de_save * eta_q_Cm_de_fac;
+             }
+           else
+             {
+               Cm += Cm_de_save;
+             }
             break;
           }
         case Cm_b2_flag:
@@ -197,8 +201,8 @@ void uiuc_coef_pitch()
               {
                 Cm_b2 = uiuc_ice_filter(Cm_b2_clean,kCm_b2);
               }
-           Cm_b2_save = Cm_b2 * Beta * Beta;
-            Cm += Cm_b2 * Beta * Beta;
+           Cm_b2_save = Cm_b2 * Std_Beta * Std_Beta;
+            Cm += Cm_b2_save;
             break;
           }
         case Cm_r_flag:
@@ -208,7 +212,7 @@ void uiuc_coef_pitch()
                 Cm_r = uiuc_ice_filter(Cm_r_clean,kCm_r);
               }
            Cm_r_save = Cm_r * R_body * b_2U;
-            Cm += Cm_r * R_body * b_2U;
+            Cm += Cm_r_save;
             break;
           }
         case Cm_df_flag:
@@ -217,8 +221,20 @@ void uiuc_coef_pitch()
               {
                 Cm_df = uiuc_ice_filter(Cm_df_clean,kCm_df);
               }
-           Cm_df_save = Cm_df * flap;
-            Cm += Cm_df * flap;
+           Cm_df_save = Cm_df * flap_pos;
+            Cm += Cm_df_save;
+            break;
+          }
+        case Cm_ds_flag:
+          {
+           Cm_ds_save = Cm_ds * spoiler_pos;
+            Cm += Cm_ds_save;
+            break;
+          }
+        case Cm_dg_flag:
+          {
+           Cm_dg_save = Cm_dg * gear_pos_norm;
+            Cm += Cm_dg_save;
             break;
           }
         case Cmfa_flag:
@@ -226,7 +242,7 @@ void uiuc_coef_pitch()
             CmfaI = uiuc_1Dinterpolation(Cmfa_aArray,
                                          Cmfa_CmArray,
                                          Cmfa_nAlpha,
-                                         Alpha);
+                                         Std_Alpha);
             Cm += CmfaI;
             break;
           }
@@ -240,7 +256,7 @@ void uiuc_coef_pitch()
                  case 100:            
                    if (V_rel_wind < dyn_on_speed)
                      {
-                       alphaTail = Alpha;
+                       alphaTail = Std_Alpha;
                      }
                    else
                      {
@@ -248,7 +264,7 @@ void uiuc_coef_pitch()
                        // printf("gammaWing = %.4f\n", (gammaWing));
                        downwash  = downwashCoef * gammaWing;
                        downwashAngle = atan(downwash/V_rel_wind);
-                       alphaTail = Alpha - downwashAngle;
+                       alphaTail = Std_Alpha - downwashAngle;
                      }
                    CmfadeI = uiuc_2Dinterpolation(Cmfade_aArray,
                                                   Cmfade_deArray,
@@ -267,7 +283,7 @@ void uiuc_coef_pitch()
                                               Cmfade_CmArray,
                                               Cmfade_nAlphaArray,
                                               Cmfade_nde,
-                                              Alpha,
+                                              Std_Alpha,
                                               elevator); 
              }
            if (eta_q_Cmfade_fac)
@@ -285,7 +301,7 @@ void uiuc_coef_pitch()
             CmfdfI = uiuc_1Dinterpolation(Cmfdf_dfArray,
                                           Cmfdf_CmArray,
                                           Cmfdf_ndf,
-                                          flap);
+                                          flap_pos);
             Cm += CmfdfI;
             break;
           }
@@ -296,8 +312,8 @@ void uiuc_coef_pitch()
                                            Cmfadf_CmArray,
                                            Cmfadf_nAlphaArray,
                                            Cmfadf_ndf,
-                                           Alpha,
-                                           flap);
+                                           Std_Alpha,
+                                           flap_pos);
             Cm += CmfadfI;
             break;
           }
@@ -312,8 +328,8 @@ void uiuc_coef_pitch()
                                               Cmfabetaf_nb_nice,
                                               Cmfabetaf_nf,
                                               flap_pos,
-                                              Alpha,
-                                              Beta);
+                                              Std_Alpha,
+                                              Std_Beta);
            else
              CmfabetafI = uiuc_3Dinterpolation(Cmfabetaf_fArray,
                                                Cmfabetaf_aArray,
@@ -323,8 +339,8 @@ void uiuc_coef_pitch()
                                                Cmfabetaf_nbeta,
                                                Cmfabetaf_nf,
                                                flap_pos,
-                                               Alpha,
-                                               Beta);
+                                               Std_Alpha,
+                                               Std_Beta);
             Cm += CmfabetafI;
             break;
           }
@@ -339,7 +355,7 @@ void uiuc_coef_pitch()
                                             Cmfadef_nde_nice,
                                             Cmfadef_nf,
                                             flap_pos,
-                                            Alpha,
+                                            Std_Alpha,
                                             elevator);
            else
              CmfadefI = uiuc_3Dinterpolation(Cmfadef_fArray,
@@ -350,7 +366,7 @@ void uiuc_coef_pitch()
                                              Cmfadef_nde,
                                              Cmfadef_nf,
                                              flap_pos,
-                                             Alpha,
+                                             Std_Alpha,
                                              elevator);
            Cm += CmfadefI;
             break;
@@ -367,7 +383,7 @@ void uiuc_coef_pitch()
                                            Cmfaqf_nq_nice,
                                            Cmfaqf_nf,
                                            flap_pos,
-                                           Alpha,
+                                           Std_Alpha,
                                            q_nondim);
            else
              CmfaqfI = uiuc_3Dinterpolation(Cmfaqf_fArray,
@@ -378,7 +394,7 @@ void uiuc_coef_pitch()
                                             Cmfaqf_nq,
                                             Cmfaqf_nf,
                                             flap_pos,
-                                            Alpha,
+                                            Std_Alpha,
                                             q_nondim);
             Cm += CmfaqfI;
             break;