1 /**********************************************************************
3 FILENAME: uiuc_betaprobe.cpp
5 ----------------------------------------------------------------------
7 DESCRIPTION: Computes flow angle, beta, for use in ice detection
10 ----------------------------------------------------------------------
14 ----------------------------------------------------------------------
18 ----------------------------------------------------------------------
20 HISTORY: 05/15/2000 initial release
22 ----------------------------------------------------------------------
24 AUTHOR(S): Jeff Scott <jscott@mail.com>
26 ----------------------------------------------------------------------
30 ----------------------------------------------------------------------
37 ----------------------------------------------------------------------
39 OUTPUTS: Dbeta_flow_wing
42 ----------------------------------------------------------------------
44 CALLED BY: uiuc_wrapper
46 ----------------------------------------------------------------------
50 ----------------------------------------------------------------------
52 COPYRIGHT: (C) 2000 by Michael Selig
54 This program is free software; you can redistribute it and/or
55 modify it under the terms of the GNU General Public License
56 as published by the Free Software Foundation.
58 This program is distributed in the hope that it will be useful,
59 but WITHOUT ANY WARRANTY; without even the implied warranty of
60 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
61 GNU General Public License for more details.
63 You should have received a copy of the GNU General Public License
64 along with this program; if not, write to the Free Software
65 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
67 **********************************************************************/
69 #include "uiuc_betaprobe.h"
76 CLclean_wing = CXclean_wing * sin(Std_Alpha) - CZclean_wing * cos(Std_Alpha);
77 CLiced_wing = CXiced_wing * sin(Std_Alpha) - CZiced_wing * cos(Std_Alpha);
78 CLclean_tail = CXclean_tail * sin(Std_Alpha) - CZclean_tail * cos(Std_Alpha);
79 CLiced_tail = CXiced_tail * sin(Std_Alpha) - CZiced_tail * cos(Std_Alpha);
82 /* calculate lift per unit span*/
83 Lift_clean_wing = CLclean_wing * Dynamic_pressure * Sw / bw;
84 Lift_iced_wing = CLiced_wing * Dynamic_pressure * Sw / bw;
85 Lift_clean_tail = CLclean_tail * Dynamic_pressure * Sh / bh;
86 Lift_iced_tail = CLiced_tail * Dynamic_pressure * Sh / bh;
88 Gamma_clean_wing = Lift_clean_wing / (Density * V_rel_wind);
89 Gamma_iced_wing = Lift_iced_wing / (Density * V_rel_wind);
90 Gamma_clean_tail = Lift_clean_tail / (Density * V_rel_wind);
91 Gamma_iced_tail = Lift_iced_tail / (Density * V_rel_wind);
93 w_clean_wing = Gamma_clean_wing / (2 * LS_PI * x_probe_wing);
94 w_iced_wing = Gamma_iced_wing / (2 * LS_PI * x_probe_wing);
95 w_clean_tail = Gamma_clean_tail / (2 * LS_PI * x_probe_tail);
96 w_iced_tail = Gamma_iced_tail / (2 * LS_PI * x_probe_tail);
98 V_total_clean_wing = sqrt(w_clean_wing*w_clean_wing +
99 V_rel_wind*V_rel_wind -
100 2*w_clean_wing*V_rel_wind *
101 cos(LS_PI/2 + Std_Alpha));
102 V_total_iced_wing = sqrt(w_iced_wing*w_iced_wing +
103 V_rel_wind*V_rel_wind -
104 2*w_iced_wing*V_rel_wind *
105 cos(LS_PI/2 + Std_Alpha));
106 V_total_clean_tail = sqrt(w_clean_tail*w_clean_tail +
107 V_rel_wind*V_rel_wind -
108 2*w_clean_tail*V_rel_wind *
109 cos(LS_PI/2 + Std_Alpha));
110 V_total_iced_tail = sqrt(w_iced_tail*w_iced_tail +
111 V_rel_wind*V_rel_wind -
112 2*w_iced_tail*V_rel_wind *
113 cos(LS_PI/2 + Std_Alpha));
115 beta_flow_clean_wing = asin((w_clean_wing / V_total_clean_wing) *
116 sin (LS_PI/2 + Std_Alpha));
117 beta_flow_iced_wing = asin((w_iced_wing / V_total_iced_wing) *
118 sin (LS_PI/2 + Std_Alpha));
119 beta_flow_clean_tail = asin((w_clean_tail / V_total_clean_tail) *
120 sin (LS_PI/2 + Std_Alpha));
121 beta_flow_iced_tail = asin((w_iced_tail / V_total_iced_tail) *
122 sin (LS_PI/2 + Std_Alpha));
124 Dbeta_flow_wing = fabs(beta_flow_clean_wing - beta_flow_iced_wing);
125 Dbeta_flow_tail = fabs(beta_flow_clean_tail - beta_flow_iced_tail);
127 pct_beta_flow_wing = beta_flow_iced_wing / beta_flow_clean_wing;
128 pct_beta_flow_tail = beta_flow_iced_tail / beta_flow_clean_tail;
131 //end uiuc_betaprobe.cpp