-
Notifications
You must be signed in to change notification settings - Fork 1
/
getThrust_Power.m
135 lines (54 loc) · 1.81 KB
/
getThrust_Power.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
%ASSUMED CONSTANT SO FAR
rho_atm = 1.229; %kg/m^3
SpeedOfSound = 340; % m/s
% Rotor and ducted fan performance based on configuration
% All units in SI
% Rotor geometry defines performance
% function definition
% outputs [thrust, power]
% a = lift slope curve a = f(M) PER RADIAN
% b = number of blades
% rR = r/R non dimensional chord ARRAY OF POINTS
% cR = c/R non dimensional chord ARRAY OF POINTS
% local Mach M = (r/R)*[(omega*R)/SpeedOfSound] ARRAY OF POINTS
% local twist dtheta ARRAY OF POINTS
% collective pitch = theta0 note theta0 should be chosen so NEVER < 0
% cl, cd will have to be inputed
M = (r/R)*((omega*R)/SpeedOfSound);
%define get constant chord function
% TODO 5
v1_omegar = getLocalInflowConstant(a,sigma,rR,theta);
%TODO 6
alpha = getAlpha(theta,v1_omegar);
%MUST extract this data from UIUC --- 7
% cl = get cl
% cd = get cd
%get cl and cd ARRAY for given configuration based on M or Re and blade elements
%8
dCT_drR = getRunningThrustLoading(b, rR, cR, cl);
%TODO 9
CTnoTipLoss = getCTnoTipLoss(dCT_drR, rR);
%TODO 10
B = getTipLoss(CTnoTipLoss, b);
%TODO 11
CT = getCTwithTipLoss(CTnoTipLoss, B,dCT_drR, rR);
%TODO 12
dCQ0_drR = getRunningTorqueLoading(b, rR, cR, cd);
% TODO 13
CQ0 = getCQ0(dCQ0_drR, rR);
% 14
dCQi_drR = getRunningInducedTorqueLoading(b,rR,cR,cl, v1_omegar);
%TODO x0 will be considered zero for now -- 15
CQi = getCQi(dCQi_drR, rR, x0, B);
% TODO 16 linear fit with data
dCQ0 = getDQ0(swirl_i,thrust_i, CQ0);
% tODO 17
disk_loading = getDiskLoading(CT, rho_atm, omega, R);
% TODO 18
CT_sigma = getCT_sigma(CT,b,c,R);
% best linear fit for correction factor 19
%TODO CHECK 20
CQ = CQ0 + CQi + dCQ0;
% 21
Thrust = rho_atm * Area * ((omega* R)^2) * CT;
horsePower = (rho_atm * Area * ((omega* R)^3) * CQ)/(550);