]> git.mxchange.org Git - flightgear.git/blobdiff - src/FDM/UIUCModel/uiuc_iced_nonlin.cpp
Port over remaining Point3D usage to the more type and unit safe SG* classes.
[flightgear.git] / src / FDM / UIUCModel / uiuc_iced_nonlin.cpp
index 0977c3da92344a379d5dde80328e29a7e3afa9cd..30ac008fa5637fb57fc9a96fe5579e1548abf82d 100644 (file)
@@ -1,6 +1,9 @@
-//     SIS Twin Otter Iced aircraft Nonlinear model\r
-//     Version 020409\r
-//     read readme_020212.doc for information\r
+//     SIS Twin Otter Iced aircraft Nonlinear model
+//     Version 020409
+//     read readme_020212.doc for information
+
+// 11-21-2002 (RD) Added e code from Kishwar to fix negative lift problem at
+//            high etas
 
 #include "uiuc_iced_nonlin.h"
 
@@ -12,6 +15,7 @@ void Calc_Iced_Forces()
        double eta_ref_wing = 0.08;                      // eta of iced data used for curve fit
        double eta_ref_tail = 0.20; //changed from 0.12 10-23-2002
        double eta_wing;
+       double e;
        //double delta_CL;                              // CL_clean - CL_iced;
        //double delta_CD;                              // CD_clean - CD_iced;
        //double delta_Cm;                              // CM_clean - CM_iced;
@@ -29,7 +33,7 @@ void Calc_Iced_Forces()
        
        
        
-       alpha = Alpha*RAD_TO_DEG;
+       alpha = Std_Alpha*RAD_TO_DEG;
        de = elevator*RAD_TO_DEG;
        // lift fits
        if (alpha < 16)
@@ -44,7 +48,15 @@ void Calc_Iced_Forces()
                }
        KCL = -delta_CL/eta_ref_wing;
        eta_wing = 0.5*(eta_wing_left + eta_wing_right);
-       delta_CL = eta_wing*KCL;
+       if (eta_wing <= 0.1)
+         {
+           e = eta_wing;
+         }
+       else
+         {
+           e = -0.3297*exp(-5*eta_wing)+0.3;
+         }
+       delta_CL = e*KCL;
        
                
        // drag fit