1 /**********************************************************************
3 FILENAME: uiuc_coef_roll.cpp
5 ----------------------------------------------------------------------
7 DESCRIPTION: computes aggregated aerodynamic roll coefficient
9 ----------------------------------------------------------------------
13 ----------------------------------------------------------------------
15 REFERENCES: Roskam, Jan. Airplane Flight Dynamics and Automatic
16 Flight Controls, Part I. Lawrence, KS: DARcorporation,
19 ----------------------------------------------------------------------
21 HISTORY: 04/15/2000 initial release
23 ----------------------------------------------------------------------
25 AUTHOR(S): Bipin Sehgal <bsehgal@uiuc.edu>
26 Jeff Scott <jscott@mail.com>
28 ----------------------------------------------------------------------
32 ----------------------------------------------------------------------
37 -roll coefficient components
41 ----------------------------------------------------------------------
45 ----------------------------------------------------------------------
47 CALLED BY: uiuc_coefficients.cpp
49 ----------------------------------------------------------------------
51 CALLS TO: uiuc_1Dinterpolation
55 ----------------------------------------------------------------------
57 COPYRIGHT: (C) 2000 by Michael Selig
59 This program is free software; you can redistribute it and/or
60 modify it under the terms of the GNU General Public License
61 as published by the Free Software Foundation.
63 This program is distributed in the hope that it will be useful,
64 but WITHOUT ANY WARRANTY; without even the implied warranty of
65 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
66 GNU General Public License for more details.
68 You should have received a copy of the GNU General Public License
69 along with this program; if not, write to the Free Software
70 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
71 USA or view http://www.gnu.org/copyleft/gpl.html.
73 **********************************************************************/
75 #include "uiuc_coef_roll.h"
84 command_list = aeroRollParts -> getCommands();
86 for (LIST command_line = command_list.begin(); command_line!=command_list.end(); ++command_line)
88 linetoken1 = aeroRollParts -> getToken(*command_line, 1);
89 linetoken2 = aeroRollParts -> getToken(*command_line, 2);
91 switch(Cl_map[linetoken2])
97 Clo = uiuc_ice_filter(Clo_clean,kClo);
106 Cl_beta = uiuc_ice_filter(Cl_beta_clean,kCl_beta);
108 Cl += Cl_beta * Beta;
115 Cl_p = uiuc_ice_filter(Cl_p_clean,kCl_p);
117 /* Cl_p must be mulitplied by b/2U
118 (see Roskam Control book, Part 1, pg. 147) */
119 Cl += Cl_p * P_body * b_2U;
126 Cl_r = uiuc_ice_filter(Cl_r_clean,kCl_r);
128 /* Cl_r must be mulitplied by b/2U
129 (see Roskam Control book, Part 1, pg. 147) */
130 Cl += Cl_r * R_body * b_2U;
137 Cl_da = uiuc_ice_filter(Cl_da_clean,kCl_da);
139 Cl += Cl_da * aileron;
146 Cl_dr = uiuc_ice_filter(Cl_dr_clean,kCl_dr);
148 Cl += Cl_dr * rudder;
155 Cl_daa = uiuc_ice_filter(Cl_daa_clean,kCl_daa);
157 Cl += Cl_daa * aileron * Alpha;
162 ClfadaI = uiuc_2Dinterpolation(Clfada_aArray,
174 ClfbetadrI = uiuc_2Dinterpolation(Clfbetadr_betaArray,
177 Clfbetadr_nBetaArray,
190 // end uiuc_coef_roll.cpp