1 /**********************************************************************
3 FILENAME: uiuc_coef_yaw.cpp
5 ----------------------------------------------------------------------
7 DESCRIPTION: computes aggregated aerodynamic yaw 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 -yaw 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_yaw.h"
84 command_list = aeroYawParts -> getCommands();
86 for (LIST command_line = command_list.begin(); command_line!=command_list.end(); ++command_line)
88 linetoken1 = aeroYawParts -> getToken(*command_line, 1);
89 linetoken2 = aeroYawParts -> getToken(*command_line, 2);
91 switch(Cn_map[linetoken2])
97 Cno = uiuc_ice_filter(Cno_clean,kCno);
106 Cn_beta = uiuc_ice_filter(Cn_beta_clean,kCn_beta);
108 Cn += Cn_beta * Beta;
115 Cn_p = uiuc_ice_filter(Cn_p_clean,kCn_p);
117 /* Cn_p must be mulitplied by b/2U
118 (see Roskam Control book, Part 1, pg. 147) */
119 Cn += Cn_p * P_body * b_2U;
126 Cn_r = uiuc_ice_filter(Cn_r_clean,kCn_r);
128 /* Cn_r must be mulitplied by b/2U
129 (see Roskam Control book, Part 1, pg. 147) */
130 Cn += Cn_r * R_body * b_2U;
137 Cn_da = uiuc_ice_filter(Cn_da_clean,kCn_da);
139 Cn += Cn_da * aileron;
146 Cn_dr = uiuc_ice_filter(Cn_dr_clean,kCn_dr);
148 Cn += Cn_dr * rudder;
155 Cn_q = uiuc_ice_filter(Cn_q_clean,kCn_q);
157 Cn += Cn_q * Q_body * cbar_2U;
164 Cn_b3 = uiuc_ice_filter(Cn_b3_clean,kCn_b3);
166 Cn += Cn_b3 * Beta * Beta * Beta;
171 CnfadaI = uiuc_2Dinterpolation(Cnfada_aArray,
183 CnfbetadrI = uiuc_2Dinterpolation(Cnfbetadr_betaArray,
186 Cnfbetadr_nBetaArray,
199 // end uiuc_coef_yaw.cpp