1 // SIS Twin Otter Iced aircraft Nonlinear model
\r
3 // read readme_020212.doc for information
\r
5 #include "uiuc_iced_nonlin.h"
\r
7 void Calc_Iced_Forces()
\r
12 double eta_ref_wing = 0.08; // eta of iced data used for curve fit
\r
13 double eta_ref_tail = 0.12;
\r
15 //double delta_CL; // CL_clean - CL_iced;
\r
16 //double delta_CD; // CD_clean - CD_iced;
\r
17 //double delta_Cm; // CM_clean - CM_iced;
\r
18 double delta_Cm_a; // (Cm_clean - Cm_iced) as a function of AoA;
\r
19 double delta_Cm_de; // (Cm_clean - Cm_iced) as a function of de;
\r
31 alpha = Alpha*RAD_TO_DEG;
\r
32 de = elevator*RAD_TO_DEG;
\r
36 delta_CL = (0.088449 + 0.004836*alpha - 0.0005459*alpha*alpha +
\r
37 4.0859e-5*pow(alpha,3));
\r
41 delta_CL = (-11.838 + 1.6861*alpha - 0.076707*alpha*alpha +
\r
42 0.001142*pow(alpha,3));
\r
44 KCL = -delta_CL/eta_ref_wing;
\r
45 eta_wing = 0.5*(eta_wing_left + eta_wing_right);
\r
46 delta_CL = eta_wing*KCL;
\r
50 delta_CD = (-0.0089 + 0.001578*alpha - 0.00046253*pow(alpha,2) +
\r
51 -4.7511e-5*pow(alpha,3) + 2.3384e-6*pow(alpha,4));
\r
52 KCD = -delta_CD/eta_ref_wing;
\r
53 delta_CD = eta_wing*KCD;
\r
55 // pitching moment fit
\r
56 delta_Cm_a = (-0.01892 - 0.0056476*alpha + 1.0205e-5*pow(alpha,2)
\r
57 - 4.0692e-5*pow(alpha,3) + 1.7594e-6*pow(alpha,4));
\r
59 delta_Cm_de = (-0.014928 - 0.0037783*alpha + 0.00039086*pow(de,2)
\r
60 - 1.1304e-5*pow(de,3) - 1.8439e-6*pow(de,4));
\r
62 delta_Cm = delta_Cm_a + delta_Cm_de;
\r
63 KCm_alpha = delta_Cm_a/eta_ref_wing;
\r
64 KCm_de = delta_Cm_de/eta_ref_tail;
\r
65 delta_Cm = (0.75*eta_wing + 0.25*eta_tail)*KCm_alpha + (eta_tail)*KCm_de;
\r
70 delta_Ch_a = (-0.0012862 - 0.00022705*alpha + 1.5911e-5*pow(alpha,2)
\r
71 + 5.4536e-7*pow(alpha,3));
\r
77 delta_Ch_e = -0.0011851 - 0.00049924*de;
\r
78 delta_Ch = -(delta_Ch_a + delta_Ch_e);
\r
79 KCh = -delta_Ch/eta_ref_tail;
\r
80 delta_Ch = eta_tail*KCh;
\r
83 CL_diff = (eta_wing_left - eta_wing_right)*KCL;
\r
84 delta_Cl = CL_diff/4;
\r
88 void add_ice_effects()
\r
90 CL_clean = -1*CZ*cos(Alpha) + CX*sin(Alpha); //Check later
\r
91 CD_clean = -1*CZ*sin(Alpha) - CX*cos(Alpha);
\r
96 CL_iced = CL_clean + delta_CL;
\r
97 CD_iced = CD_clean + delta_CD;
\r
98 Cm_iced = Cm_clean + delta_Cm;
\r
99 Cl_iced = Cl_clean + delta_Cl;
\r
100 //Ch_iced = Ch_clean + delta_Ch;
\r
108 CZ = -1*CL*cos(Alpha) - CD*sin(Alpha);
\r
109 CX = CL*sin(Alpha) - CD*cos(Alpha);
\r