1 /**********************************************************************
3 FILENAME: uiuc_coef_sideforce.cpp
5 ----------------------------------------------------------------------
7 DESCRIPTION: computes aggregated aerodynamic sideforce 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 -sideforce 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_sideforce.h"
78 void uiuc_coef_sideforce()
84 command_list = aeroSideforceParts -> getCommands();
86 for (LIST command_line = command_list.begin(); command_line!=command_list.end(); ++command_line)
88 linetoken1 = aeroSideforceParts -> getToken(*command_line, 1);
89 linetoken2 = aeroSideforceParts -> getToken(*command_line, 2);
91 switch(CY_map[linetoken2])
97 CYo = uiuc_ice_filter(CYo_clean,kCYo);
106 CY_beta = uiuc_ice_filter(CY_beta_clean,kCY_beta);
108 CY += CY_beta * Beta;
115 CY_p = uiuc_ice_filter(CY_p_clean,kCY_p);
117 /* CY_p must be mulitplied by b/2U
118 (see Roskam Control book, Part 1, pg. 147) */
119 CY += CY_p * P_body * b_2U;
126 CY_r = uiuc_ice_filter(CY_r_clean,kCY_r);
128 /* CY_r must be mulitplied by b/2U
129 (see Roskam Control book, Part 1, pg. 147) */
130 CY += CY_r * R_body * b_2U;
137 CY_da = uiuc_ice_filter(CY_da_clean,kCY_da);
139 CY += CY_da * aileron;
146 CY_dr = uiuc_ice_filter(CY_dr_clean,kCY_dr);
148 CY += CY_dr * rudder;
155 CY_dra = uiuc_ice_filter(CY_dra_clean,kCY_dra);
157 CY += CY_dra * rudder * Alpha;
164 CY_bdot = uiuc_ice_filter(CY_bdot_clean,kCY_bdot);
166 CY += CY_bdot * Beta_dot * b_2U;
171 CYfadaI = uiuc_2Dinterpolation(CYfada_aArray,
183 CYfbetadrI = uiuc_2Dinterpolation(CYfbetadr_betaArray,
186 CYfbetadr_nBetaArray,
199 // end uiuc_coef_sideforce.cpp