Documente Academic
Documente Profesional
Documente Cultură
PROGRAMMI MATLAB
C01
C02
C03
C04
C05
C06
C07
C08
C09
C10
C11
C12
C13
WTO Preliminare
Alta velocit
Verifiche configurazioni
Analisi dei costi
Forma in pianta
Grafico decollo
Progetto ipersostentatori
Centraggio
Flessibilit
Polare
Analisi dei carichi
Pannello dorsale
Pannello ventrale
C01
07/07/06 1.49
1 of 4
07/07/06 1.49
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
2 of 4
% BAGAGLI
Wbag = Np*wbag
% MERCI
Wcargo = VsBULK_cargo*roBULK_cargo
[kg]
%
%
%
%
% CONTAINER
% non si trasportano container
% PESO OPERATIVO [kg]
%
%
%
%
% 2. DIVERSIONE
% Salita
% Discesa
07/07/06 1.49
3 of 4
07/07/06 1.49
4 of 4
165
% valore iniziale peso al
decollo (dati aereo di riferimento) [kg]
166
while abs((Wto-Wtoi)/Wto) > 0.01
167
168
169
% PESO A VUOTO
170
% Rapporto Peso a vuoto / Peso
al decollo
171
% PESO AL DECOLLO
172
173
end
174
% peso a vuoto [kg]
175
176
% peso a vuoto operativo [kg]
177
% peso del combustibile [kg]
178
179
180
181
% PLOTTAGGIO RISULTATI
182
disp(sprintf('%0.2f %4.0f %7.1f %9.0f %9.0f %10.0f',[Mcr(j1) AR(j2) Emax Weo
183
end
184
185 end
186
187
188 save('Wto_preliminare', 'Wpayload','Wvlp','memo_Emax','memo_WTO')
189
07/07/06 1.50
1 of 5
07/07/06 1.50
2 of 5
58
% diametro equivalente fusoliera
59
% coefficiente cockpit
60
% coefficiente coda
61
62 % -----------------------------------------63 % 2. DIMENSIONAMENTO DEL COMPARTIMENTO MERCI
64 % -----------------------------------------65
66 % CARATTERISTICHE CONTAINER LD3/46
67 % Dimensioni [m]
68
% larghezza maggiore
% larghezza minore
69
70
% altezza maggiore
71
% altezza minore
72
% lunghezza
73 % Tangente angolo di inclinazione della base del container
74
75 % Area della sezione trasversale [m]
76
77 % Volume [m]
78
% volume esterno
% volume interno
79
80
81 % COMPARTMENTO MERCI AEREO DI RIFERIMENTO
82 % Dimensioni della sezione delle stive (escluso cono di coda) [m]
% larghezza maggiore
83
84
% larghezza minore
% altezza totale
85
86
% altezza minore
87 % Lunghezza delle stive [m]
88
% anteriore
89
% posteriore (parte a sez. costante)
% posteriore (cono di coda)
90
91
% posteriore totale
92
% totale (escluso cono di coda)
93 % Numero container trasportati nelle stive
94
% numero container LD3/46 nella stiva anteriore
95
% numero container LD3/46 nella stiva
posteriore
96
% numero container trasportabili
97 % Area della sezione trasversale delle stive (escluso cono di coda) [m]
98
99 % Volume delle stive [m]
100
% anteriore
% posteriore totale
101
102
% posteriore (parte a sez. costante)
103
% posteriore (cono di coda)
104
% totale (escluso cono di coda)
105
106 % COMPARTIMENTO MERCI DEL VELIVOLO
107 % Lunghezza delle stive [m]
108
% lunghezza totale stive nella parte a sez.
costante
109
% anteriore
110
% posteriore (parte a sez. costante)
111
% posteriore (cono di coda)
112 % Volume delle stive [m]
113
% anteriore
07/07/06 1.50
3 of 5
114
% posteriore (parte a sez. costante)
115
% posteriore (cono di coda)
116
% posteriore totale
117
% totale
118
119 % Numero di container trasportabili
120
% numero container trasportabili nella stiva
anteriore
121
% numero container trasportabili nella stiva
posteriore
% numero container trasportabili
122
123
% volume singolo bagaglio [m]
124
125
% volume totale bagagli [m]
126
% volume totale interno ai container [m]
127
128 if Vbag<=Vc_int
129
% Numero di container trasportati
130
% numero container nella stiva anteriore
131
% numero container nella stiva posteriore
132
% numero container
133
% Volume delle stive occupato dai container [m]
% stiva anteriore
134
% stiva posteriore
135
136
% totale
137
% Volume delle stive non occupato dai container [m]
138
% stiva anteriore
% stiva posteriore
139
140
% totale
141
% Volume dei container occupato dai bagagli [m]
142
143
% Volume dei container occupato dalle merci [m]
144
145
% Volume esterno ai container occupato dalle merci [m]
146
147
% Volume esterno ai container occupato dai bagagli [m]
148
149 else
150
% Volume delle stive [m]
151
% stiva anteriore
152
% stiva posteriore
153
% totale
154
% Volume delle stive occupato dai bagagli [m]
155
156
% Volume delle stive occupato dalle merci [m]
157
158
% Numero di container trasportati
159
% numero container nella stiva anteriore
160
% numero container nella stiva posteriore
161
% numero container trasportati
162 end
163
164 % ------------------------165 % VISUALIZZAZIONE RISULTATI
166 % ------------------------167 disp('1. SCALATURA DELLA FUSOLIERA ')
168 fprintf('\n')
169 disp('
AIRBUS A320-200 SCALATO
AIRBUS A320-200')
07/07/06 1.50
4 of 5
170 fprintf('\n')
171 disp(['seat single class
' num2str(Np) '
' num2str
(Np_r) ' '])
172 disp(['seat abreast
' num2str(Sa) '
' num2str
(Sa_r) ' '])
173 disp(['seat pitch [in]
' num2str(Sp/in2m) '
'
num2str(Sp_r/in2m) ' '])
174 fprintf('\n')
175 disp('EXTERNAL DIMENSIONS')
176 disp(['overall lenght [m]
' num2str(L,4) '
' num2str
(L_r) ' '])
177 disp(['max width [m]
' num2str(W) '
' num2str(W_r)
' '])
178 disp(['max depth [m]
' num2str(H) '
' num2str(H_r)
' '])
179 disp(['cockpit lenght [m]
' num2str(Lcc) '
' num2str
(Lcc_r) ' '])
180 disp(['tail lenght [m]
' num2str(Lt) '
' num2str
(Lt_r) ' '])
181 fprintf('\n')
182 disp('INTERNAL DIMENSIONS')
183 disp(['cabin lenght [m]
' num2str(Lcabin,4) '
'
num2str(Lcabin_r) ' '])
184 disp(['front hold lenght [m]
' num2str(Lsf,3) '
' num2str
(Lsf_r) ' '])
185 disp(['rear hold lenght [m]'])
186 disp(['
central
' num2str(Lsrc,3) '
' num2str
(Lsrc_r) ' '])
187 disp(['
tail
' num2str(Lsrt) '
' num2str
(Lsrt_r) ' '])
188 disp(['front hold volume [m]
' num2str(Vsf,3) '
' num2str
(Vsf_r) ' '])
189 disp(['rear hold volume [m]
' num2str(Vsr,4) '
' num2str
(Vsr_r) ' '])
190 fprintf('\n')
191 disp('TRASPORTABLE CONTAINERS')
192 disp(['N LD3/46 front hold
' num2str(ncf_t) '
'
num2str(ncf_r) ' '])
193 disp(['N LD3/46 rear hold
' num2str(ncr_t) '
'
num2str(ncr_r) ' '])
194 fprintf('\n')
195 fprintf('\n')
196 disp('2. DIMENSIONAMENTO DEL COMPARTIMENTO MERCI ')
197 fprintf('\n')
198 if Vbag > Vc_int
199
disp('Il numero dei container necessari per i bagagli superiore a quello dei
container trasportabili.'
200
disp('Si decide pertanto di non utilizzare container.'
201 else
202
disp(['internal container volume: ' num2str(Vc_int) ' m'])
203
disp(['
baggage: ' num2str(Vsc_bag) ' m'])
204
disp(['
cargo: ' num2str(Vsc_cargo) ' m'])
205
fprintf('\n')
206
disp(['external container volume: ' num2str(Vsc) ' m'])
207
disp(['
front: ' num2str(Vscf) ' m'])
208
disp(['
rear: ' num2str(Vscr) ' m'])
209 end
210 fprintf('\n')
07/07/06 1.50
211
212
213
214
215
216
217
218
disp(['bulk volume:
disp(['
front:
disp(['
rear:
disp(['
baggage:
disp(['
cargo:
'
'
'
'
'
save('scalatura_fusoliera','VsBULK_cargo','W','H','L','nc'
5 of 5
07/07/06 1.53
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
% 20000 m conditions
if H<11000
1 of 2
07/07/06 1.53
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
else
if H<20000
else
end
end
switch lower(par)
case 't'
case 'p'
case 'rho'
case 'mu'
case 'ni'
case 'a'
otherwise
end
2 of 2
C02
07/07/06 3.01
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
clc
clear all
global ft2m nm2m lb2kg g d2r r2d in2m
% Costanti & fattori di conversione
%..........................................................................
% 1 ft = 0.3048 m
% 1 n.m. = 1852 m
% 1 lb = 0.45359237 kg
% accelerazione gravitazionale [m/s2]
% fattore di conversione deg --> rad
% fattore di conversione rad --> deg
% 1 in = 0.0254 m
%..........................................................................
%
% Payload
----------- D
I -----------
%
%
%
%
%
numero di mach
tratta di diversione [m]
quota crociera di diversione [m]
durata attesa di diversione [s]
quota attesa diversione [m]
% 2. Diversione
load('scalatura_fusoliera')
(indice iAR)
NOTA
La variazione dei due parametri (M e AR) sopra elencati deve essere preceduta
dall'aggiornamento del file 'Wto_preliminare' tramite il programma
Wto_preliminare0.m
1 of 7
07/07/06 3.01
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
for iM = 1:length(Mv)
%Ciclo for su M
%Ciclo for su AR
% Spessori Percentuali ---------------------------------------------------% Distribuzione di spessore percentuale del profilo alare lungo l'apertura alare
% Si ipotizza una distribuzione lineare
% spessore percentuale al root
% spessore percentuale al kink
% spessore percentuale al tip
% Spessore percentuale dei profili alari degli impennaggi (profilo NACA N63010A)
% individuato dalle ultime 2 cifre della denominazione
%-------------------------------------------------------------------------% Desing Point -----------------------------------------------------------% Il design point viene scelto a met della crociera essendo questa a quota
% costante pari ad Hcr
2 of 7
07/07/06 3.01
3 of 7
07/07/06 3.01
4 of 7
174
175
% Dimensionamento della coda
176
% ------------------------------------------------------------177
[SHt, sweepHt, ARHt, bHt, lambdaHt, cRHt, cTHt, macHt, xmacHt, ymacHt, LHt,
yRHt, SVt, sweepVt,...
178
ARVt, hVt, lambdaVt, cRVt, cTVt, macVt, xmacVt, ymacVt, LVt] = tail(S, L, b,
179
%-------------------------------------------------------------180
181
% Scalatura dei motori
182
% ------------------------------------------------------------183
[Tdes, airFlow_des, Weng, Leng, Dfan, kSFC, mBPR, Tcruise_des, n_cruise, BPR,
OPR, ESF] = ...
184
185
%-------------------------------------------------------------186
187
% Dimensionamento gondole motori (Short Fan Duct - SFD)
188
% ------------------------------------------------------------189
[LFf_DFC, DFe, Dlh, DFC, DGe, DGC, LFC, LGC] = nacelles_SFD(BPR, airFlow_des,
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
LFC, DFC,...
219
b, cT,...
220
221
222
223
224
225
% Coefficiente di attrito
% Fattore di efficienza di Oswald
07/07/06 3.01
5 of 7
226
% Coefficiente di resistenza indotta
227
228
%-------------------------------------------------------------229
230
% Aggiornamento del peso al design
231
232
233
% Aggiornamento del CL al design
234
235
236
% Aggiornamento della superficie di minima resistenza
237
238
239
end % Fine del ciclo while su S.
240
241
242
243
else % Relativo all'if su iKS. Se iKS > 1 S nota essendo nota SmD
244
% (calcolata quando iKS=1). In pratica nell'else non si fa altro
245
% che che appicare il MODELLO GEOMETRIA E AERODINAMICA senza
246
% bisogno del while su S.
247
248
% MODELLO GEOMETRIA E AERODINAMICA
249
% ================================
250
% Per i commenti si faccia riferimento all'analogo modello
251
% all'interno del ciclo while su S
252
253
% Noti una volta calcolata SmD
254
%
255
256
257
[b, bK, etaR, etaK, lambdaW, alfa, lambdaN, lambdaK, lambda, cT, cCL, cK, cR,
...
258
259
260
[SHt, sweepHt, ARHt, bHt, lambdaHt, cRHt, cTHt, macHt, xmacHt, ymacHt, LHt,
yRHt, SVt, sweepVt,...
261
ARVt, hVt, lambdaVt, cRVt, cTVt, macVt, xmacVt, ymacVt, LVt] = tail(S, L, b,
262
[Tdes, airFlow_des, Weng, Leng, Dfan, kSFC, mBPR, Tcruise_des, n_cruise, BPR,
OPR, ESF] = ...
263
264
[LFf_DFC, DFe, Dlh, DFC, DGe, DGC, LFC, LGC] = nacelles_SFD(BPR, airFlow_des,
265
266
267
268
269
270
271
272
273
LFC, DFC,...
274
b, cT,...
275
276
07/07/06 3.01
6 of 7
277
278
279
280
281
282
283
end % Fine dell'if. Si rientra nel ciclo while sul Wto.
284
285
%--------------------%
286
if iKS==1
%
%
287
288
else
%
289
%
290
end
%
291
%--------------------%
292
293
% Calcolo del volume complessivo dei serbatoi
294
295
296
% Prestazioni
297
% ------------------------------------------------------------------298
% Calcolo della frazione di combustibile relativa al Wto
299
[Wf_Wto,Wfris_Wto] = Wfuel_fun(M, Hcr, Xcr, Hdiv, Xdiv, tloi_mis, Hloi_mis, Mdiv,
tloi_div, ...
300
301
% Calcolo del peso di combustibile
302
303
304
%-------------------------------------------------------------------305
306
% Pesi strutturali
307
% ------------------------------------------------------------------308
% Generazione del vettore di input per la routine che implementa il
309
% modello di calcolo dei pesi per i vari componenti (modello NASA CR151970)
310
[General, Engine, Nacelle, Wing, Fuselage, Tail, System] = ...
311
NASA_input(Wto, Wf_Wto, Weng, Tcruise_des, Vtank, BPR, Dfan, S, b, AR, lambdaW,
sweep25deg, t_c, ...
312
313
% Calcolo dei pesi dei vari componenti
314
[Weo, We, Wparziali, Wdetail] = NASA_weights(General, Wing, Fuselage, Tail, Engine,
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
-------- O
T ---------
07/07/06 3.01
332
333
334
335
336
337
338
339
340
7 of 7
% Nota
% La prima riga della matrice di ogni campo rapresenta gli output relativi
% al valore della superficie di minima resistenza
341
342
343
344 config(iM,iAR,it_c).wing(iKS,:) = [S AR b bK etaR etaK alfa lambda lambdaW lambdaN lambdaK
...
345
cCL cR cK cT t_c t_cR t_cK t_cT sweep25deg sweepLE...
346
347
348 config(iM,iAR,it_c).H_tail(iKS,:) = [SHt ARHt bHt lambdaHt cRHt cTHt t_c_tail sweepHt
macHt...
349
350
351 config(iM,iAR,it_c).V_tail(iKS,:) = [SVt ARVt hVt lambdaVt cRVt cTVt t_c_tail sweepVt...
352
353
354 config(iM,iAR,it_c).engine(iKS,:) = [Tdes airFlow_des Weng Leng Dfan kSFC mBPR
Tcruise_des...
355
356
357
358
359
360
361
362
363
364 disp(['M = ' num2str(Mv(iM)) ' ' 'AR = ' num2str(ARv(iAR)) ' ' 't_c = ' num2str(t_cv
(it_c))...
365
' ' 'KS = ' num2str(KS(iKS))])
366
367
368
369
370
371 end % end del for su KS
372
373 end % end del for su t_c
374
375 end % end del for su AR
376
377 end % end del For su M
378
379 save('config','config')
380
381 time=cputime-time
07/07/06 3.02
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
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
function res=Airfoils(file,treq,n)
if
end
if
end
if nargin<1
error('Incorrect number of inputs.')
end
%---- Apertura e caricamento dati file ---- %
fid=fopen(file,'r'
%
%
%
while 1
%
%
if readline==-1, break, end
%
if isempty(str2num(readline)), break, end %
%
end
%
%
%
%-------------------------------------------%
1 of 2
07/07/06 3.02
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
for j=1:npts
end
for j=1:n
end
2 of 2
07/07/06 3.02
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
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
1 of 1
Calcolo di alfa
[alfa0] = alfazero(sweep25, AR, S, etaR, etaK, lambdaW)
La funzione calcola il valore di alfa (= estensione della corda in
corrispondenza della mezzeria in frazioni di corda al kink
cCl=cRn+alfa*cK) imponendo che l'angolo di freccia al bordo di uscita del
kink sia nullo
Input
----sweep25:
AR:
S:
etaR:
etaK:
lambdaW:
Output
-----alfa0: estensione di corda in corrispondenza della mezzeria in frazioni
di corda al kink che annulla sweepTEin.
Si pone infatti: cCL = cRn + alfa*cK
dove: cCL: corda all'asse della fusoliera
cRn: corda alla radice
cK: corda al kink
if alfa0<0
end
function tan_sweepTEin = tan_zero(alfa1,sweep25, AR, S, etaR, etaK, lambdaW)
lambdaN = lambdaW*(1-etaR+alfa1*(1-etaK)*(etaK-etaR)/etaK)/(1-lambdaW*(etaR+alfa1*(etaK% lambdaK = cT/cK
% lambda = cT/cCL
% tan(Angolo di freccia al bordo d'uscita inboard)
tan_sweepTEin = tan(sweep25) + (3*etaK + (4-3*etaK)/lambdaN - 4/lambda)/...
07/07/06 3.02
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
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
Atmosfera Standard
-----------------[T, p, rho, mu, ni, a] = atmosfera(H)
Input
----H: quota [m]
Output
-----T: temperatura [K]
p: pressione [Pa]
rho: density [kg/m]
mu: viscosity [kg/m/s]
ni: viscosit cinematica [m/s]
a: velocit del suono [m/s]
%-------------------------------------------------------------------------if H<11000
else
1 of 2
07/07/06 3.02
59
if H<20000
60
61
62
63
64
65
66
else
67
68
69
70
71
72
73
end
74 end
2 of 2
07/07/06 3.02
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
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
Input
----M:
Hdes:
CLdes:
S:
SwetF:
SwetW:
SwetN:
SwetHt:
SwetVt:
L:
W:
H:
LFC:
DFC:
mac:
t_c:
sweep25:
macHt:
macVt:
sweepHt:
sweepVt:
c_pyl:
SwetP:
b:
cT:
lambdaN:
cRHt:
cTHt:
bHt:
cRVt:
cTVt:
hVt:
Output
-----CD0: coefficiente di resistenza parassita del velivolo
function CD0 = CD0_fun(M, Hdes, CLdes, S, SwetF, SwetW, SwetHt, SwetVt, ...
SwetN, L, W, H, LFC, DFC, mac, t_c, sweep25, ...
macHt, macVt, sweepHt, sweepVt, c_pyl, SwetP,...
b, cT, lambdaN, cRHt, cTHt, bHt, cRVt, cTVt, hVt)
% Coefficienti di resistenza dei vari componeni
% -------------------------------------------------------% RUGOSITA' DEL RIVESTIMENTO (tab 12.4 Raymer)
1 of 4
07/07/06 3.02
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
%
%
%
%
%
kre=1.015e-5
kre=0.634e-5
kre=0.405e-5
kre=0.152e-5
kre=0.052e-5
-->
-->
-->
-->
-->
2 of 4
% [m]
% ----------------- CD0 fusoliera ----------------------%
% coefficiente d'attrito equivalente
%
%
%
%
% fattore di interferenza
%
%
% fattore di forma
%
% area massima della sezione%
%
%
% coefficiente di resitenza parassita
%
%
%-------------------------------------------------------%
% ----------------------------------- CD0 ala ---------------------------------------%
% coefficiente d'attrito equivalente
%
%
%
%
% fattore di interferenza
%
%
% fattore di forma
%
% coordinata adimensionalizzata con la corda di massimo
%
% spessore del profilo (calcolata nel profilo di riferimento)
%
% Ricavabile attraverso la function Swet
%
%
%
%Calcolo angolo di sweep in corrispondenza della coord di massimo spessore
%
%
%
%
% coefficiente di resitenza parassita
%
%
%------------------------------------------------------------------------------------%
% spessore percenuale delle superfici di coda
% --------------------------- CD0 Coda orizzontale ---------------------------------------%
% coefficiente d'attrito equivalente
%
%
%
%
% fattore di interferenza
%
%
% fattore di forma
%
% coordinata adimensionalizzata con la corda di massimo
%
% spessore del profilo
%
% Ricavabile attraverso la function Swet
%
%
%Calcolo angolo di sweep in corrispondenza della coord di massimo spessore
%
%
%
07/07/06 3.02
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
3 of 4
%
%
%
%-----------------------------------------------------------------------------------------%
% coefficiente di resitenza parassita
07/07/06 3.02
175
176
177
178
179
180
181
182
183
184
185
% [rad]
% coefficiente di resitenza parassita
%
%
%
%------------------------------------------------------------------------%
% Coefficiente di resistenza parassita della configurazione =============%
%
%========================================================================%
%CD0_fus, CD0_ala, CD0_Ht, CD0_Vt, CD0_nac, CD0_pyl, CD0_misc
4 of 4
07/07/06 3.03
07/07/06 3.03
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
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
numero di Mach
angolo di freccia al 25% della corda
spessore percentuale
CL di design
OUTPUT
-----CDcomp:coefficiente di resistenza dovuto alla comprimibilit
function CDcomp=CDcomp_fun(M,sweep25,t_c,CLdes)
1 of 1
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
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
numero di Mach
quota di volo [m]
lunghezza caratteristica [m]
percentuale di L dove avviene la transizione
(misurata dal LE)
kre: indice di rugosit del rivestimento [m]
Output
-----Cf: coefficiente di attrito equivalente
function
% Propriet atmosfera standard alla quota di volo
1 of 1
07/07/06 3.03
07/07/06 3.03
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
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
Output
-----mac: corda media aerodinamica [m]
xmac: ascissa della corda media aerodinamica [m]
ymac: ordinata della corda media aerodinamica [m]
1 of 1
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
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
Output
-----mac: corda media aerodinamica [m]
xmac: ascissa della corda media aerodinamica [m]
ymac: ordinata della corda media aerodinamica [m]
1 of 2
07/07/06 3.03
59
60
61 %==========================================================================
62
63 %mac,xmac,ymac
64
2 of 2
07/07/06 3.04
1 of 3
07/07/06 3.04
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
%
%
%Si sceglie cos il CFM56 3C1 che con i suoi 8391 [kgf] si posiziona
%
%all'interno di tale intevallo
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%xxxxxxxxxxxxxxxxxxxxxxxxxxxxx%
%TESTER
%
%xxxxxxxxxxxxxxxxxxxxxxxxxxxxx%
% Trust Specific Fuel Consumption: coefficiente di taratura --------------% coefficiente dipendente da BPR
2 of 3
07/07/06 3.04
3 of 3
116
%coefficiente di taratura
117
118 % Spinta in crociera [kg] ------------------------------------------------119
120 n_cruise = (log((Tcruise_base/Tbase)/((0.81066-0.01973*BPR)*((rho_base/rho0)^0.6))))/(log
121
122
123
124
125
126
127
128
%==========================================================================
%Tdes, airFlow_des, Weng, Leng, Dfan, kSFC, mBPR, Tcruise_des, n_cruise, BPR, OPR, ESF
07/07/06 3.04
1 of 2
07/07/06 3.04
58
59 %LFf_DFC, DFe, Dlh, DFC, DGe, DGC, LFC, LGC
2 of 2
07/07/06 3.04
1 of 3
07/07/06 3.04
58 %
Tail(1): area superficie impennaggio orizzontale [m]
59 %
Tail(2): area superficie impennaggio verticale [m]
60 %
Tail(3): tipologia coda:
61 %
convenzionale --> 0
62 %
"T" tail --> 2
63 %
Tail(4): indice impianto propulsivo in coda:
64 %
tail mounted nacelle --> 1
65 %
no tail mounted nacelle --> 0
66 %
67 % Engine:
68
69 %
Engine(2): peso motore [kg]
70 %
Engine(3): spinta motore [kg]
71 %
Engine(4): volume totale serbatoi [m]
72 %
Engine(5): numero serbatoi
73 %
Engine(6): bypass ratio
74 %
Engine(7): diametro fan [m]
75 %
76 % Nacelle:
77 %
Nacelle(1): Inlet ratio
78 %
Nacelle(2): Fan ratio
79 %
Nacelle(3): Fan exhaust ratio
80 %
Nacelle(4): Fan translating strucure ratio
81 %
Nacelle(5): Average cowl core ratio
82 %
Nacelle(6): Thrust reverser diam. - fan diam. ratio
83 %
Nacelle(7): Nozzle length [m]
84 %
Nacelle(8): Horiz. dist. front spar to Eng+Nac c.g. [m]
85 %
Nacelle(9): Height of the pylon box [m]
86 %
Nacelle(10): Side profile area of the pylon [m]
87 %
Nacelle(11): Length of the engine exhaust nozzle [m]
88 %
89 % System:
90 %
System(1): tipo di sistema idraulico
91 %
System(2): tipo di sistema anti ghiaccio
92 %
System(3): tipo di avionica
93
94
95 function [General, Engine, Nacelle, Wing, Fusel, Tail, System] = ...
96
NASA_input(Wto, Wf_Wto, Weng, Tcruise_des, Vtank, BPR, Dfan, ...
97
S, b, AR, lambdaW, sweep25deg, t_c, SwetF, SHt, SVt, nLD3)
98
99 % GENERAL
100
% n passeggeri
101
% n piloti
% n assistenti di cabina
102
103
% disposizione dei sedili
104
% tipo di servizio
% peso complessivo container e pallets [kg]
105
???????????????????????
% peso al decollo [kg]
106
107
% peso zero fuel [kg]
108
% fattore di carico ultimo
???????????????????????????????
109
110 % ENGINE
111
% n motori
112
% peso motore [kg]
% spinta motore [kg]
113
2 of 3
07/07/06 3.04
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
3 of 3
% NACELLE
%
%
%
%
%
%
%
%
%
%
%
Inlet ratio
Fan ratio
Fan exhaust ratio
Fan translating strucure ratio
Average cowl core ratio
Thrust reverser diam. - fan diam. ratio
Nozzle length [m]
Horiz. dist. front spar to Eng+Nac c.g. [m]
Height of the pylon box [m]
Side profile area of the pylon [m]
Length of the engine exhaust nozzle [m]
% WING
%
%
%
%
SYSTEM
???????????????????????????????????
% tipo di sistema idraulico
% tipo di sistema anti ghiaccio
% categoria di navigazione
07/07/06 3.04
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
1 of 10
INPUT
----Vedi NASA_input
OUTPUT
-----OWE: Peso a vuoto operativo [kg]
MEW: Manufacturers empty weight [kg]
Wout_split: peso dei vari gruppi costituenti il velivolo [kg]
Wout_split(1): peso strutturale
Wout_split(2): peso unit di potenza
Wout_split(3): peso sistemi
Wout_split(4): peso allestimenti fissi
Wout_split(5): peso operativo
Wout_detail: peso dei vari componenti del velivolo
Wout_detail(1): ala
Wout_detail(2): fusoliera
Wout_detail(3): impennaggio orizzontale
Wout_detail(4): impennaggio verticale
Wout_detail(5): carrelli d'atterraggio
Wout_detail(6): piloni
Wout_detail(7): equipaggiamento motori
Wout_detail(8): sistemi carburante
Wout_detail(9): sistemi ausiliari motori
Wout_detail(10): unit di potenza ausiliaria (APU)
Wout_detail(11): impianto idraulico
Wout_detail(12): impianto aria condizionata
Wout_detail(13): impianto pneumatico
Wout_detail(14): impianto antighiaccio
Wout_detail(15): superfici di controllo
Wout_detail(16): avionica
Wout_detail(17): strumentazione
Wout_detail(18): impianto elettrico
Wout_detail(19): sistemi di carico e movimentazione
Wout_detail(20): allestimenti fissi
Wout_detail(21): olio
Wout_detail(22): equipaggio
Wout_detail(23): sedili equipaggio
Wout_detail(24): documentazione velivolo
Wout_detail(25): sedili passeggeri
Wout_detail(26): servizi per catering
Wout_detail(27): servizi di emergenza
Wout_detail(28): fluidi per bagni e cambuse
Wout_detail(29): container
07/07/06 3.04
2 of 10
59
60
61
62
63 % INPUT DATA AND PARAMETER SETTING
64 %--------------------------------65 % GENERAL
66
% n passeggeri
67
% n piloti
% n assistenti di cabina
68
% configurazione dei sedili
69
70
% tipo di servizio
% peso complessivo container e pallets [kg]
71
72
% peso al decollo [kg]
% peso zero fuel [kg]
73
% fattore di carico ultimo
74
75
76 % WING
77
% area superficie alare di riferimento [m]
78
% allungamento alare
% apertura alare [m]
79
% rapporto di rastremazione ala
80
81
% angolo di freccia [deg]
% spessore percentuale medio
82
83
84 % FUSELAGE
85
% superficie bagnata fusoliera [m]
86
87 % TAIL
% area superficie impennaggio orizzontale [m]
88
% area superficie impennaggio verticale [m]
89
90
% tipologia coda
% indice impianto propulsivo in coda
91
92
93 % LANDING GEAR
94
% set to 1 for low pressure tires
95
% set to 1 for increased sink speed
% Increase in sink speed [ft/s] with respect to 10 ft/s
96
% set to 1 kneeling preposition requirements
97
98
% set to 1 for for carbon brakes
99
100 % ENGINE
101
% n motori
102
% peso motore [kg]
% spinta motore [kg]
103
104
% volume totale serbatoi [m]
105
% numero serbatoi
% bypass ratio
106
107
% diametro fan [m]
% type of engine exhaust reversers and nozzles:
108
109
%
1 - cascade or target type reverser with traslating sleeve
110
%
2 - simple target type reverser with separate flowex haust
nozzle
111
%
3 - simple target type reverser with mixed flow exhaust
nozzle
112
%
4 - separate flow engine exhaust system without thrust
reverser
%
5 - short duct engine exhaust system without thrust reverser
113
07/07/06 3.04
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
% NACELLES
%
%
%
%
%
%
%
%
%
%
%
Inlet ratio
Fan ratio
Fan exhaust ratio
Fan translating strucure ratio
Average cowl core ratio
Thrust reverser diam. - fan diam. ratio
Nozzle length [m]
Horiz. dist. front spar to Eng+Nac c.g. [m]
Height of the pylon box [m]
Side profile area of the pylon [m]
Length of the engine exhaust nozzle [m]
% SYSTEMS
% tipo di sistema idraulico
% tipo di sistema anti ghiaccio
% tipo di avionica
% WING WEIGHT
% ----------% Superficie alare in pianta [ft]
% Carico alare [lb/ft]
% Bending materail weight index IW
% FUSELAGE WEIGHT
% --------------% Peso fusoliera
if (Npn>100)
% Medium and Large Aircraft
% [lb]
else
% Small Aircraft
% [lb]
end
% [kg]
% TAIL WEIGHT
% ----------% superficie totale piani di coda [ft]
% peso complessivo Conventional Tail
% Peso impennaggio orizzontale (piano di coda) e impennaggio verticale (deriva)
if VTtype==0
3 of 10
07/07/06 3.04
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
4 of 10
07/07/06 3.04
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
5 of 10
[lb]
[lb]
[lb]
[lb]
[lb]
% Engine system
if(ithrle==0)
% without auto throttle
% [lb]
else
% with auto throttle
% [lb]
end
% Peso totale sistemi motori [kg]
% peso totale propulsion system [lb]
% peso totale propulsion systems [kg]
% Nacelle Cowl
vic = ((1.316 + 0.0125*df)*rlidf *df + rlfdf*df+(1.316 + 0.0191*df)*rlfedf*df +
277
% peso totale nacelle cowls [lb]
278
279 % Nacelle Pylon
280
% demountable weigth for the power plant pod
[lb/eng]
281
% pilon index [lb/ft]
282
% peso totale piloni motore [lb]
283
284 % Nacelle Cowl correction for tail mounted S type nacelle
285 if VTtype2 == 1
07/07/06 3.04
6 of 10
286
% weight penalty due to tail
mounted
287
% S type nacelle [lb]
288 else
289
290 end
% peso totale nacelle [lb]
291
292
293
% peso COMPLESSIVO fan reversers [kg]
% peso COMPLESSIVO exaust reversers [kg]
294
% Peso COMPLESSIVO piloni [kg]
295
296
% peso COMPLESSIVO nacelles motori [lb]
297
298 % peso totale equipaggiamnento motori [kg]
299
300
301
302 % SYSTEMS WEIGHT
303 % -------------304 % Flight control and Hydraulics
305 % Electrical
306 % Pneumatic, Air Conditioning and Auxiliary Power
307 % Anti-icing
308 % Furnishing and Equipement
309 % Instruments
310 % Fuel Quantity Instruments
311 % Propulsion Instruments
312 % Other Instruments
313 % Avionics
314 % Load and Handling
315
316
% numero motori
% superficie bagnata fusoliera [m]
317
318
% volume serbatoi [lt]
319
320 % Conversioni unit di misura
321
% Superficie alare in pianta [ft]
% Superficie totale piani coda [ft]
322
% Superficia bagnata fusoliera [ft]
323
324
% Spinta motore [lb]
% Volume totale serbatoi [galloni]
325
326
327 % FLIGHT CONTROLS, HYDRAULICS
328
% superficie combinata ala-coda [ft]
329 if ityhys == 1 % Single Hydraulic system
330
% [lb]
331 else
332
if AAA <= 3000
% Multi-Hydraulic system with (sw + 1.44*st)<=3000)
% [lb]
333
334
else
% Multi-Hydraulic system with (sw + 1.44*st)>3000)
% [lb]
335
336
end
337 end
338
339
% peso sistemi controllo superfici [kg]
% peso sistemi idraulici [kg]
340
341
342
07/07/06 3.04
7 of 10
343 % ELECTRICAL
% peso sistemi elettrici [lb]
344
345
% peso sistemi elettrici [kg]
346
347
348 % PNEUMATIC, AIR CONDITIONING, AUXILIARY POWER
% pneumatic + air conditioning + APU [lb]
349
% APU [kg]
350
351
% pneumatic + air conditioning [lb]
% pneumatic [kg]
352
% air conditioning [kg]
353
354
355
356 % ANTI-ICING
357 if(ianice == 1)
% Nacelle Air Induction and Misc. Only
358
% [lb]
359 elseif(ianice == 2) % Wing Mounted Turbofan or Jet Engines without Tail Anti-icing
360
% [lb]
361 elseif(ianice == 3) % Wing Mounted Turbofan or Jet Engines with Tail Anti-icing
362
% [lb]
363 elseif(ianice == 4) % Fuselage and/or Tail Mounted Turbofan or Jet Engines with Tail Antiicing
364
% [lb]
365 else
% Wing Mounted Turboprop Engines with Tail Anti-icing
% [lb]
366
367 end
368
369
% peso sistemi anti ghiaccio [kg]
370
371
372 % INSTRUMENTS
373
% [lb]
% Peso strumentazione [kg]
374
375
376
377 % AVIONICS
378 if (iavion == 1)
% General Aviation
379
% [lb]
380 elseif(iavion == 2) % Category I or II Domestic
381
% [lb]
382 elseif(iavion == 3) % Category I or II Overwater
% [lb]
383
384 elseif(iavion == 4) % Category III Domestic
385
% [lb]
386 else (iavion == 5) % Category III Overwater
387
% [lb]
388 end
% Peso avionica [kg]
389
390
391
392 % LOAD AND HANDLING
393
% peso sistemi di carico e movimentazione [lb]
% peso sistemi di carico e movimentazione [kg]
394
395
396
397 % FURNISHINGS
398 if Npn < 80
% Commercial Npn <= 80
399
% [lb]
07/07/06 3.04
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
else
% Commercial
Npn > 80
% [lb]
end
% peso allestimenti fissi [kg]
% OPERATING WEIGHT
% ---------------% UNUSABLE FUEL, OIL FOR ENGINES, OIL FOR APU
% [kg] following Torenbeek
% CREW
% [Kg] following AEA requirements
% CREW SEATS
if Serv_type == 1
% following Raymer and Torenbeek [kg]
else
% following Raymer and Torenbeek [kg]
end
% AIRCRAFT DOCUMENT AND TOOL KIT
% [kg] may be reduce to 2 kg for modern CD manuals
% PASSENGERS SEATS
if Serv_type == 1
% [Kg] following Torenbeek
% [Kg] following Torenbeek
% [Kg] following Torenbeek
else
% [Kg] following Torenbeek
% [Kg] following Torenbeek
% [Kg] following Torenbeek
end
for i=1:3
if ns(i)==0
elseif ns(i)==1
elseif ns(i)==2
elseif ns(i)==3
elseif ns(i)==4
elseif ns(i)==5
else
error('Invalid Seats Abreast Parameter')
8 of 10
07/07/06 3.04
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
end
end
if ns(i)==0
elseif ns(i)==1
elseif ns(i)==2
elseif ns(i)==3
elseif ns(i)==4
elseif ns(i)==5
elseif ns(i)==6
elseif ns(i)==7
elseif ns(i)==8
else
error('Invalid Seats Abreast Parameter')
end
% GALLEY STRUCTURES, TABLES AND BABY BASSINETS, CATERING
if Serv_type == 3
% following AEA requirements [kg]
else
% following AEA requirements [kg]
end
% EMERGENCY
if Serv_type == 3
% following AEA requirements [kg]
else
% following AEA requirements [kg]
end
% WATER FOR GALLEY AND TOILETS, FLUIDS FOR TOILETS
if Serv_type == 1
% following Simpking & Rhodes [kg]
elseif Serv_type == 2
% following Simpking & Rhodes [kg]
else
% following Simpking & Rhodes [kg]
end
% OUTPUT
% -----% Peso strutturale
% Peso unit di potenza
% Peso sistemi
W_SYSTEMS = W_APU + W_hydr + W_air_cond + W_pneum + W_anti_ice + ...
9 of 10
07/07/06 3.04
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
10 of 10
% Peso allestimenti
% Peso operativo
W_OPERATING = W_oil + W_crew + W_seat_cr + W_acdocs + W_seat_pax + ...
07/07/06 3.04
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
function
%------------------------------------------------------------------------------%- funtion to calculate perimeter to chord ratio of a given airfoil geometry
%%- Inputs:
%- Outputs:
%- Used function and routines:
%------------------------------------------------------------------------------%------------------------------------------------------------------------------if col~=3
error('Function ndep. Input must be a mx3 matrix of airfoil geometry.')
end
for i=1:(row-1)
end
1 of 1
07/07/06 3.05
1 of 2
1 % CALCOLO DEL RAPPORTO AREA/CORDA DI UN PROFILO ALARE DI GEOMETRIA ASSEGNATA TRA UNA SEZIONE
INIZIALE E UNA
2 %
===============================================================================================
==========
3 % SEZIONE FINALE DEL PROFILO
4 % ==========================
5
6 % INPUT
7 % ----8 % in: vettore di 3 elementi contenente le propriet del profilo alare da analizzare. La
prima colonna
9 %
contiene la spaziatura dei punti in cui viene suddivisa la corda del profilo,
adimensionalizzata
10 %
(corda=1). Il primo elemento il TE (trailing edge x=1) e l'ultimo il LE (leading
edge x=0).
11 %
La seconda e la terza colonna contengono rispettivamente le coordinate del dorso e
del ventre dei
12 %
profili in corrispondenza dei punti selezionati.
13 % xLE: posizione del punto iniziale del profilo a partire dal quale si vuole calcolare
l'area sottesa dal
14 %
profilo
15 % xTE: posizione del punto finale del profilo a partire dal quale si vuole calcolare l'area
sottesa dal
16 %
profilo
17
18 % OUTPUT
19 % -----20 % area: rapporto area della sezione del profilo / corda al quadrato
21
22
23
24 function area = ndsa(in,xLE,xTE)
25
26 % Ascisse dei punti in cui suddiviso il profilo: da 1 a 0
27
28 % Coordinata dei punti del dorso del profilo
29
30 % Coordinata dei punti del ventre del profilo
31
32
33 % Calcolo dello spessore del profilo lungo la corda (t/c)
34
35
36 % Calcolo della corda
37
38
39
40
41
42
43 %
-----------------------------------------------------------------------------------------------------44 % Funzione integranda per il calcolo dell'area del profilo tra LE e TE
45
46 function F = integrando_area(x,xdata,h_airfoil)
47
07/07/06 3.05
48
% Interpolo i dati ottenuti dalla function airfoil e calcolo lo spessore del
profilo tra LE e TE
49
F = interp1(xdata,h_airfoil,x,'spline'
2 of 2
07/07/06 3.05
07/07/06 3.05
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
%
%
%
%
%
%
%
%
%
%
%
%
%
%
% Calcolo coefficiente C1
C1 = interp2(x,y,z,lambdaW,AR,'cubic'
% Calcolo coefficiente C2 e fattori di correzione dovuti a viscosit e twist
1 of 1
1 of 3
07/07/06 3.05
53
legend('AR=7','AR=8','AR=9'
54
%set(gca,'YLim',[10 31],'LineWidth',1.5)
55
string = {['\color{blue}S_m_D = ' num2str(S(i,1,k).s(1),'%6.0f') '
'\color{blue}\Lambda_2_5_m_D = ' num2str(var(i,1,k).graf(1,6),'%6.0f')],
56
['\color{red}S_m_D = ' num2str(S(i,2,k).s(1),'%6.0f') '
'\color{red}\Lambda_2_5_m_D = ' num2str(var(i,2,k).graf(1,6),'%6.0f')],
57
['\color{green}S_m_D = ' num2str(S(i,3,k).s(1),'%6.0f') '
'\color{green}\Lambda_2_5_m_D = ' num2str(var(i,3,k).graf(1,6),'%6.0f'
58
59
%text(85,28,string,'FontSize',8)
60
text(85,var(i,1,k).graf(5,g),string,'FontSize',8)
61
end
62
end
63
64
if g == 1
65
string = {['\color{blue}S_m_D = ' num2str(S(i,1,k).s(1),'%6.0f') '
'
{blue}W_T_O _m_D = ' num2str(var(i,1,k).graf(1,1),'%6.0f')],
66
['\color{red}S_m_D = ' num2str(S(i,2,k).s(1),'%6.0f') '
'
{red}W_T_O _m_D = ' num2str(var(i,2,k).graf(1,1),'%6.0f')],
67
['\color{green}S_m_D = ' num2str(S(i,3,k).s(1),'%6.0f') '
'
{green}W_T_O _m_D = ' num2str(var(i,3,k).graf(1,1),'%6.0f'
68
69
%text(105,8000,string,'FontSize',8)
70
text(105,var(i,1,k).graf(5,g),string,'FontSize',8)
71
72
elseif g == 2
73
string = {['\color{blue}S_m_D = ' num2str(S(i,1,k).s(1),'%6.0f') '
'
{blue}W_f_u_e_l _m_D = ' num2str(var(i,1,k).graf(1,2),'%6.0f')],
74
['\color{red}S_m_D = ' num2str(S(i,2,k).s(1),'%6.0f') '
'
{red}W_f_u_e_l _m_D = ' num2str(var(i,2,k).graf(1,2),'%6.0f')],
75
['\color{green}S_m_D = ' num2str(S(i,3,k).s(1),'%6.0f') '
'
{green}W_f_u_e_l _m_D = ' num2str(var(i,3,k).graf(1,2),'%6.0f'
76
77
%text(85,51000,string,'FontSize',8)
78
text(85,var(i,1,k).graf(5,g),string,'FontSize',8)
79
80
elseif g == 3
81
string = {['\color{blue}S_m_D = ' num2str(S(i,1,k).s(1),'%6.0f') '
'
{blue}W_e_o _m_D = ' num2str(var(i,1,k).graf(1,3),'%6.0f')],
82
['\color{red}S_m_D = ' num2str(S(i,2,k).s(1),'%6.0f') '
'
{red}W_e_o _m_D = ' num2str(var(i,2,k).graf(1,3),'%6.0f')],
83
['\color{green}S_m_D = ' num2str(S(i,3,k).s(1),'%6.0f') '
'
{green}W_e_o _m_D = ' num2str(var(i,3,k).graf(1,3),'%6.0f'
84
85
%text(85,51000,string,'FontSize',8)
86
text(85,var(i,1,k).graf(5,g),string,'FontSize',8)
87
88
elseif g == 4
89
string = {['\color{blue}S_m_D = ' num2str(S(i,1,k).s(1),'%6.0f') '
'
{blue}W_e _m_D = ' num2str(var(i,1,k).graf(1,4),'%6.0f')],
90
['\color{red}S_m_D = ' num2str(S(i,2,k).s(1),'%6.0f') '
'
{red}W_e _m_D = ' num2str(var(i,2,k).graf(1,4),'%6.0f')],
91
['\color{green}S_m_D = ' num2str(S(i,3,k).s(1),'%6.0f') '
'
{green}W_e _m_D = ' num2str(var(i,3,k).graf(1,4),'%6.0f'
92
93
%text(85,51000,string,'FontSize',8)
94
text(85,var(i,1,k).graf(5,g),string,'FontSize',8)
95
2 of 3
'
'
'
'\color
'\color
'\color
'\color
'\color
'\color
'\color
'\color
'\color
'\color
'\color
'\color
07/07/06 3.05
3 of 3
96
elseif g == 5
97
string = {['\color{blue}S_m_D = ' num2str(S(i,1,k).s(1),'%6.0f') '
' '\color
{blue}W_d_e_s _m_D = ' num2str(var(i,1,k).graf(1,5),'%6.0f')],
98
['\color{red}S_m_D = ' num2str(S(i,2,k).s(1),'%6.0f') '
' '\color
{red}W_d_e_s _m_D = ' num2str(var(i,2,k).graf(1,5),'%6.0f')],
99
['\color{green}S_m_D = ' num2str(S(i,3,k).s(1),'%6.0f') '
' '\color
{green}W_d_e_s _m_D = ' num2str(var(i,3,k).graf(1,5),'%6.0f'
100
101
%text(105,8000,string,'FontSize',8)
102
text(105,var(i,1,k).graf(5,g),string,'FontSize',8)
103
104
end
105
106
box on
107
set(gca,'XLim',[80 140],'LineWidth',1.5)
108
109
110
set(legend,'FontSize',6,'FontWeight','b')
111
112
subplot(3,3,4)
113
ylabel(xstr(g),'FontSize',10,'FontWeight','b')
114
115
subplot(3,3,8)
116
xlabel('S [m]','FontSize',10,'FontWeight','b')
117
end
118
end
119 end
120
121 %line([Sr(1,1,1).Sz(5) Sr(1,1,1).Sz(5)],[pesi(1,1,1).Wdes(1) pesi(1,1,1).Wdes(5)])
122 %line([Sr(1,1,1).Sz(1) Sr(1,1,1).Sz(5)],[pesi(1,1,1).Wdes(5) pesi(1,1,1).Wdes(5)])
123
124 %line([Sr(2,1,1).Sz(5) Sr(2,1,1).Sz(5)],[pesi(2,1,1).Wdes(1) pesi(2,1,1).Wdes
(5)],'Color','r')
125 %line([Sr(2,1,1).Sz(1) Sr(2,1,1).Sz(5)],[pesi(2,1,1).Wdes(5) pesi(2,1,1).Wdes
(5)],'Color','r')
126 %axis xy
127
128
07/07/06 3.05
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
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
1 of 1
Dimensionamento piloni
---------------------[b_eng, c_eng, c_pyl] = pylon(b, bK, cR, cK, cT, etaR, LFC,
LFf_DFC, DFC, LGC)
Input
----b: apertura alare al tip [m]
bK: apertura alare al kink [m]
cR: corda dell'ala al root [m]
cK: corda dell'ala al kink [m]
cT: corda dell'ala al tip [m]
etaR: posizione adimensionalizzata del root dell'ala
LFC: lunghezza della gondola (parte anteriore) [m]
LFf_DFC: parametro LFf_DFC della gondola
DFC: diametro della gondola [m]
LGC: lunghezza della gondola (parte posteriore) [m]
Output
-----b_eng: apertura alare in corrispondenza della posizione del motore [m]
c_eng: corda dell'ala in corrispondenza della posizione del motore [m]
c_pyl: corda del pilone all'attacco sulla gondola [m]
function [b_eng, c_eng, c_pyl] = pylon(b, bK, cR, cK, cT, etaR, LFC, LFf_DFC, DFC, LGC)
%xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx%
%TESTER
%
%xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx%
% apertura alare in corrispondenza della posizione del motore
% posizione trasversale motore rispetto all'asse fusoliera
% posizione root dell'ala rispetto all'asse fusoliera
% posizione kink dell'ala rispetto all'asse fusoliera
% posizione tip dell'ala rispetto all'asse fusoliera
07/07/06 3.06
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
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
function [sweep25,sweep25deg]=sweep(Mdd,CL,t_c)
%xxxxxxxxxxx
%TESTER
%
%xxxxxxxxxxx
% Parametri di correlazione
if CL>0
MddStar
= KDD0/cos_sweepStar - ...
KDDtc*t_c/cos_sweepStar^2 - ...
else
end
if Mdd>MddStar
warning('Function sweep: Richiesto Mach di drag rise troppo alto.')
else
1 of 2
07/07/06 3.06
59
if Mdd<MddMin
60
61
else
62
63
64
65
66
67
68
69
70
71
if isempty(fs2)
72
73
else
74
75
if isempty(fs1)
76
77
else
78
79
end
80
end
81
if abs(sol-1.0)<0.0001
82
83
else
84
85
end
86
end
87 end
88
89
90
91 %sweep25,sweep25deg
2 of 2
07/07/06 3.06
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
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
lunghezza della parte di ala considerata (da una sezione ad un'altra) [m]
corda all'estremit iniziale [m]
corda all'estremit finale [m]
propriet del profilo alare che si trova all'estremit iniziale
propriet del profilo alare che si trova all'estremit finale
numero dei punti in cui si valuta il contorno del profilo
Output
-----Sww: superficie bagnata della superficie alare considerata
%xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx%
% Discretizzazione dell'ala lungo l'apertura
% numero di tratti in cui viene suddivisa l'ala
%
%
%
1 of 2
07/07/06 3.06
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
%x(imax(2),1)
%
%
%
%
end
%
%-------------------------------------------------------------------------%
2 of 2
% <-------------------------|
%end
%
%
%
%plot(eta,ndep_L,'r')
%plot(eta,ndep_span)
%
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
07/07/06 3.06
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
%
%
%
%
%
%
%
%
%
%
%
%
%
%
1 of 1
07/07/06 3.06
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
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
|
|
|
| > Dimensioni gondola motore
|
|
|
|
Output
-----SwetN: superficie bagnata di UNA gondola motore [m]
function SwetN = Swet_nacelle(LFC, DFC, LFf_DFC, Dlh, DFe, LGC, DGC, DGe)
1 of 1
07/07/06 3.06
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
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
1 of 1
07/07/06 3.07
07/07/06 3.06
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
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
[m]
[m]
[m]
[m]
[m]
[m]
[m]
Output
-----SwetHt: superficie bagnata impennaggio orizzontale [m]
SwetVt: superficie bagnata impennaggio verticale
[m]
function [SwetHt, SwetVt] = Swet_tail(yRHt, cRHt, cRVt, cTHt, cTVt, bHt, hVt)
%xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx%
%TESTER
%
%xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx%
% Propriet del profilo degli impennaggi ---------------------------------%
% rapporto t/c per un profilo NACA 63A010
%
% numero di punti in cui calcolo le dimensioni del profilo%
tail_sect_data = './airfoil_data/N63010A.dat'
%
%
%-------------------------------------------------------------------------%
% Calcolo superficie bagnata ---------------------------------------------%
% Coda orizzontale
% posizione dell'estremit (tip)
% lunghezza dal root al tip di una semicoda
%-------------------------------------------------------------------------% Coda verticale
%il /2 tiene di conto il fatto che il pennone verticale una semiala
%--------------------------------------------------------------------------
1 of 1
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
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
Output
-----SwetW: superficie bagnata dell'ala [m]
function SwetW = Swet_wing(cR, cT, cK, b, bK, etaR, t_cR, t_cK, t_cT)
%xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx%
%TESTER
%
%xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx%
% Ordinate dei vari profili -------%
% posizione del root %
% posizione del kink %
% posizione del tip %
%----------------------------------%
% Profili alari --------------------------------------------------%
%
%
% numero di punti in cui calcolo le dimensioni del profilo %
%
%
% Profilo alla radice (root)
%
root_sect_data = './airfoil_data/sc_root.dat'
%
%
% Profilo al kink
%
kink_sect_data = './airfoil_data/sc_kink.dat'
%
%
% Profilo all'estremit (tip)
%
tip_sect_data = './airfoil_data/sc_tip.dat'
%
%
%-----------------------------------------------------------------%
% Calcolo superficie bagnata ---------------------------------------------%
% Si considera l'ala con kink come unione di 2 ali trapezie: le 2 parti
%
% sono la parte interna e la parte esterna al kink
%
1 of 2
07/07/06 3.07
58
59
60
61
62
63
64
65
66
67
%
%
%
%
%
% distanza dal kink al tip di una semiala
%
%
%
%
%=========================================================================%
%
%=========================================================================%
% distanza dal root al kink di una semiala
2 of 2
07/07/06 3.07
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
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
Input
----S:
L:
b:
mac:
sweep25:
Output
-----IMPENNAGGIO ORIZZONTALE
SHt: superficie di coda necessaria [m]
sweepHt: freccia al 25% della corda [rad]
ARHt: allungamento alare
bHt: apertura alare coda orizzontale[m]
lambdaHt: rapporto di rastremazione
cRHt: corda alla radice [m]
cTHt: corda all'estremit [m]
macHt: corda media aerodinamica [m]
xmacHt: ascissa della corda media aerodinamica [m]
ymacHt: ascissa della corda media aerodinamica [m]
LHt: distanza tra i punti al 25% della mac dell'ala e della coda orizzontale
yRHt: Posizione della radice della coda orizzontale
IMPENNAGGIO VERTICALE
SVt: superficie di coda necessaria [m]
sweepVt: freccia al 25% della corda [rad]
ARVt: allungamento alare
hVt: semi-apertura alare coda verticale [m]
lambdaVt: rapporto di rastremazione
cRVt: corda alla radice [m]
cTVt: corda all'estremit [m]
macVt: corda media aerodinamica [m]
xmacVt: ascissa della corda media aerodinamica [m]
ymacVt: ascissa della corda media aerodinamica [m]
LVt: distanza tra i punti al 25% della mac dell'ala e della coda verticale
1 of 3
07/07/06 3.07
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
%xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx%
%%%%PARMAMETRI DECISIONALI%%%%%%%%
% LHt/L
[0.50,0.55]%
% LVt/LHt
[0.90,1.00]%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%PARAMETRI PROGETTUALI%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
| Coefficienti del volume di coda
%
% |
%
%
%
% | Rapporti di ratremazione
%
% |
%
%
%
% | Maggiorazioni sulla freccia rispetto a sweep25
%
% |
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Impennaggio orizzontale
% ------------------------------------------------------------------------%
% Ordinata della radice della coda orizzontale. Si ipotizza che%
% la fusoliera sia diminuita di circa il 50% in larghezza.
%
% Coincide con la larghezza di fusoliera all'altezza della coda%
%
%
% Lunghezza della fusoliera rettificata per un'aereo con motori sulle ali %
%[m]
%
% Superficie orizzontale di coda
%
%[m]
%
%
%
% Freccia al 25% della corda
%
%
% [deg]
%
% [rad]
%
% Aspect Ratio
%
%
% Apertura alare [m]
%
%
% Corda alla radice [m]
%
%
% Corda all'estremit [m]
%
%
% Freccia al bordo d'attacco [rad]
%
%
% Corda media aerodinamica e sua posizione [m]
%
%
%-------------------------------------------------------------------------%
% Impennaggio verticale
% ------------------------------------------------------------------------%
% Lunghezza della fusoliera rettificata per un'aereo con motori sulle ali %
% [m]
%
% Superficie verticale di coda [m]
%
%
%
% Freccia al 25% della corda
%
% [deg]
%
2 of 3
07/07/06 3.07
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
%
%
% Aspect Ratio
%
%
% Altezza della coda [m]
%
%
% Corda alla radice [m]
%
%
% Corda all'estremit [m]
%
%
% Freccia al bordo d'attacco [rad]
%
%
% Corda media aerodinamica e sua posizione [m]
%
%
%-------------------------------------------------------------------------%
%yRHt,cRHt,cRVt,cTHt,cTVt,bHt,hVt,sweepHt,sweepVt
3 of 3
07/07/06 3.07
1 of 3
07/07/06 3.07
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
%
%
% Bordi di attacco e di uscita delle varie sezioni del cassone
%
% Kink
%
%
%
% Tip
%
%
%
% Root
%
%
%
% Tip tank
%
%
%
%-------------------------------------------------------------------%
% Propriet dei profili alari --------------------------------------------%
%
% Profilo al root
%
root_sect_id = './airfoil_data/sc_root.dat'
%
%
% Profilo al kink
%
kink_sect_id = './airfoil_data/sc_kink.dat'
%
%
% Profilo al tip
%
tip_sect_id = './airfoil_data/sc_tip.dat'
%
%
%
%
% distanza percentuale del Tip Tank
%
%
for i=1:m
%
% Calcolo della geometria del profilo al TT
%
%
%
%
% Profilo alla radice dimensionato (c = cR)
%
%
%
%
end
%
%-------------------------------------------------------------------------%
% Serbatoi alari ---------------------------------------------------------% Volume serbatoi relativo alla parte interna al kink [m]
% Volume serbatoi relativo alla parte esterna al kink [m]
Vtank_out = volume(dKTT, cK, cTT, kink_sect, tiptank_sect, xtLE_K, xtLE_TT, xtTE_K,
% Volume complessivo serbatoi sulle ali [m]
%-------------------------------------------------------------------------% Serbatoio di fusoliera -------------------------------------------------%
% Nell'ipotesi di prolungare il profilo alla radice nel cassone alare
%
%
%
2 of 3
07/07/06 3.07
114
115
116
117
118
119
120
121
122
123
124
125
126
%
%
%Nell'ipotesi che il serbatoi all'interno del cassone sia rettangolare di %
%altezza pari all'altezza massima del profilo di radice
%
%Vtank_fus = ctR*(t_cR*cR)*yR
%
%-------------------------------------------------------------------------%
% Volume complessivo [m]
%====================================================%
% Si introduce una riduzione del 5% per tenere conto %
% del volume proprio delle strutture
%
%
%
%====================================================%
3 of 3
07/07/06 3.07
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
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
lunghezza della parte di ala considerata (da una sezione ad un'altra) [m]
corda all'estremit iniziale [m]
corda all'estremit finale [m]
propriet del profilo alare che si trova all'estremit iniziale
propriet del profilo alare che si trova all'estremit finale
posizione del bordo di attacco del cassone nel profilo maggiore
posizione del bordo di attacco del cassone nel profilo minore
posizione del bordo di uscita del cassone nel profilo maggiore
posizione del bordo di uscita del cassone nel profilo minore
numero dei punti in cui si valuta il contorno del profilo
Output
-----Vtank: superficie bagnata della superficie alare considerata
function Vtank = volume(L, c1, c2, sect1, sect2, xLE1, xLE2, xTE1, xTE2, m)
%xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx%
%TESTER
%
%xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx%
% Discretizzazione ala
% numero di tratti in cui viene suddivisa l'ala
% coordinata adimensionale del profilo lungo l'apertura dell'ala
% Calcolo di ndsa
for j=1:n
for i=1:m
end
1 of 2
07/07/06 3.07
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
end
%Volume del serbatoio alare (ALA COMPLETA)===%
%
%============================================%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%La sezione seguente calcola il volume del serbatoio ipotizzando che sia %
%ndsa ad avere un andamento lineare e non le dimesioni dei profili
%
%hold on
%
%for k=1:m
%
%end
%
%
%
%plot(eta,ndsa_L,'r')
%
%plot(eta,ndsa_span)
%
%Vtank_L=(L*2)*trapz(eta,ndsa_L.*chord.^2)
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2 of 2
07/07/06 3.07
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
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
Output
-----Wdes: peso del velivolo al design [N]
|--------------------------|
|Schema delle fasi di volo |
|--------------------------|
3 _______des_______ 4
/
\
/
\
/
\
8 _____ 9
/
\
/
\
/
5
/
10
/
(())
/
((()))
/
6__/
11
1____/ 2
\____7
\__
1 of 2
07/07/06 3.07
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
%
%
% Velocit di volo [m/s]
%
%
% Pressione dinamica [Pa]
%
%
%
%
%
% Calcolo della razione di combustibile
%
%
%
%
%
%
%--------------------------------------------------------------------%
% ===================%
% % Peso del velivolo al design [N]
%====================%
2 of 2
07/07/06 3.07
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
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
Output
-----Wdes_pre: peso preliminare del velivolo al design [N]
|--------------------------|
|Schema delle fasi di volo |
|--------------------------|
3 _______des_______ 4
/
\
/
\
/
\
8 _____ 9
/
\
/
\
/
5
/
10
/
(())
/
((()))
/
6__/
11
1____/ 2
\____7
\__
1 of 1
07/07/06 3.08
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
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
1 of 3
mach di volo
quota di crociera [m]
lunghezza tratta di crociera [m]
quota crociera di diversione [m]
lunghezza tratta di diversione [m]
durata attesa missione [s]
quota attesa missione [m]
mach di volo in diversione
durata attesa diversione [s]
quota attesa diversione [m]
coefficienti della polare del velivolo
coefficienti relativi al motore (pag 28 Fanteria)
peso al decollo [kg]
superficie alare di riferimento [m]
Output
-----Wf_Wto: rapporto peso di combustibile/peso al decollo velivolo
|--------------------------|
|Schema delle fasi di volo |
|--------------------------|
3 _________________ 4
/
\
/
\
/
\
8 _____ 9
/
\
/
\
/
5
/
10
/
(())
/
((()))
/
6__/
11
1____/ 2
\____7
\__
function [Wf_Wto,Wfris_Wto] = Wfuel_fun(M, Hcr, Xcr, Hdiv, Xdiv, dt_m, Hloi_m, Mdiv, dt_r,
Hloi_r, CD0, K, kSFC, mBPR, Wto, S)
global g
% Temperatura s.l. [K]
% Calcolo della frazione di combustibile per la missione
% ------------------------------------------------------
07/07/06 3.08
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
% Decollo (1-2)
% Salita (2-3)
% Crociera (3-4):
C
R
O
C
I
E
R
A
% Discesa (4-5)
%
%
% Attesa (5-6)----------------------------------------------------------%
% Propriet dell'atmosfera standard alla quota di attesa
%
%
% Velocit di volo
%
% La velocit di volo si considera costante e pari alla velocit di
%
% efficienza massima all'inizio della fase di loiter
%
%
%
% Pressione dinamica [Pa]
%
%
% Consumo specifico [1/s]
%
%
% Calcolo frazione di combustibile
%
%
%
%
%-----------------------------------------------------------------------%
% Discesa e atterraggio (6-7)
%
% Frazione di combustibile necessario per la missione ==|
%|
%=======================================================|
A
T
T
E
S
A
2 of 3
07/07/06 3.08
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
C
R
O
C
I
E
R
A
A
T
T
E
S
A
3 of 3
07/07/06 3.08
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
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
1 of 2
function [b, bK, etaR, etaK, lambdaW, alfa, lambdaN, lambdaK, lambda, cT, cCL, cK, cR, ...
sweepLE, sweepTEin, sweepTEout] = wing_geometry(sweep25, AR, S, W)
global d2r r2d
%xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx%
%TESTER
%
%xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx%
%xxxxxxxxxxxxx-PARAMETRI DA SCEGLIERE IN BASE AD AEREI SIMILI-xxxxxxxxxxxx|
%
|
%(etaK=KetaK*etaR) intervallo di variazione [2.5,3.5]|
%rapporto di rastremazione dell'ala
|
%
intervallo di variazione [0.20,0.25]|
%-------------------------------------------------------------------------|
% ---------- Aperture alari e coordinate adimensionali --------------%
% coordinata adimensionale della radice dell'ala
%
% apertura alare [m]
%
% coordinata adimensionale corda di radice %
% coordinata adimensionale del kink
%
%
% Estensione di corda in corrispondenza della mezzeria in frazioni
%
% di corda al kink (si sceglie alfa in modo che l'angolo di freccia %
% al bordo di uscita interno al kink - sweepTEin - sia nullo
%
07/07/06 3.08
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
%
%
% Apertura alare al kink [m]
%
%--------------------------------------------------------------------%
2 of 2
C03
07/07/06 3.56
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
%
%
%
%
%
%
%
%
%
%
%
%
%
clear all
clc
global ft2m min2s g
% Costanti & fattori di conversione
%..........................................................................
% 1 ft = 0.3048 m
% 1 min = 60 s
% accelerazione gravitazionale [m/s]
%..........................................................................
%--------------------------- D A T I ----------------------------------% Dati per le verifiche
load('Wto_preliminare', 'Wvlp')
% volume limited payload [kg]
% quota di crociera [m]
% densit carburante (da AEA) [kg/m]
% Caricamento configurazioni ottenute dal progetto di alta velocit
load config.mat
% Variazioni dei parametri di progetto
%..........................................................................
% (indice iM)
Variazione del Mach di crociera
% (indice iAR)
Variazione di AR
1 of 3
07/07/06 3.56
59
60 for iM = 1:length(Mv)
61
for iAR = 1:length(ARv)
62
for it_c = 1:length(t_cv)
63
for iKS = 1:length(KSv)
64
65
66
% Parametri della configurazione
67
% Mach
% allungamento alare
68
% spessore percentuale riferimento
69
70
% coefficiente superficie
71
72
% Dati per le verifiche (dal progetto di alta velocit)
73
% peso di carburante necessario per la missione [kg]
74
75
% peso al decollo [kg]
76
77
% superficie alare di riferimento [m]
78
79
% coefficiente resistenza parassita velivolo
80
81
% coefficiente resistenza indotta velivolo
82
83
% spinta a punto fisso dei motori [kg]
84
85
% rapporto di bypass
86
87
% fattore n della spinta installata
88
89
% angolo di freccia al 25% della corda [deg]
90
91
92
% 1) VERIFICA CAPACITA' SERBATOI
93
% --------------------------------------------------------94
% Volume carburante necessario (requisito AEA 10)
95
%[m]
96
% Volume carburante disponibile (volume serbatoi)
%[m]
97
98
% Verifica
99
if Vtank>=Vnec
100
101
else
102
103
end
104
105
% --------------------------------------------------------106
107
% 2) VERIFICA SPINTA INSTALLATA IN CROCIERA
108
% --------------------------------------------------------109
% Calcolo della spinta installata in crociera [kg]
110
111
% Calcolo della spinta necessaria in crociera [kg]
112
113
% Verifica
114
if Tnec <= Tinst
115
116
else
2 of 3
07/07/06 3.56
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
3 of 3
end
% ---------------------------------------------------------
07/07/06 3.57
% 3) VERIFICA ANGOLO DI FRECCIA DELL'ALA
% --------------------------------------------------------if sweep25 >= 10
else
end
% --------------------------------------------------------% MEMORIZZAZIONE RISULTATI VERIFICHE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
OUTPUT
-----Tinst: spinta installata in crociera[kg]
1 of 1
07/07/06 3.57
07/07/06 3.57
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
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
OUTPUT
-----Tnec: spinta necessaria in crociera [kg]
1 of 1
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
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
clear all
clc
% Costanti & fattori di conversione
%..........................................................................
% 1 ft = 0.3048 m
% 1 lb = 0.45359237 kg
% accelerazione gravitazionale [m/s]
%..........................................................................
% Variazioni dei parametri di progetto
%..........................................................................
% (indice iM)
Variazione del Mach di crociera
% (indice iAR)
Variazione di AR
1 of 5
07/07/06 3.57
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
% Requisiti normativi (FAR 25.121a/b/c) ----------------------------------% gli indici 1 2 3 si riferiscono rispettivamente al 1 2 3 segmento di salita
% 1 motore in avaria per tutti i segmenti di salita
% gradienti di salita
2 of 5
07/07/06 3.57
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
dCDO_gear = K_gear*Sgear/S
% formule statistiche
% Raymer (table 12.5)
%
% flap decollo + carrelli estratti
% flap decollo + carrelli retratti
% flap retratti + carrelli retratti
% Fattore di Oswald
% Si trascura la variazione del
% fattore di Oswald rispetto
% alla configurazione di crociera
% CALCOLO DEI Tpf/Wto NECESSARI PER I 3 SEGMENTI DI SALITA
% -------------------------------------------------------% 1 SEGMENTO DI SALITA
Tpf_Wto1 = T_Wnecessario(CGR1, CLmaxTO, CD01, e1, AR,...
% 2 SEGMENTO DI SALITA
Tpf_Wto2 = T_Wnecessario(CGR2, CLmaxTO, CD02, e2, AR,...
% 3 SEGMENTO DI SALITA
Tpf_Wto3 = T_Wnecessario(CGR3, CLmaxTO, CD03, e3, AR,...
3 of 5
07/07/06 3.57
175
% VERIFICA 1 SEGMENTO DI SALITA
176
% --------------------------------------------------------177
if Tpf_Wto1 <= Tpf_Wto_inst
178
179
else
180
181
end
182
183
% --------------------------------------------------------184
185
% VERIFICA 2 SEGMENTO DI SALITA
186
% --------------------------------------------------------187
if Tpf_Wto2 <= Tpf_Wto_inst
188
189
else
190
191
end
192
193
% --------------------------------------------------------194
195
% VERIFICA 3 SEGMENTO DI SALITA
196
% --------------------------------------------------------197
if Tpf_Wto3 <= Tpf_Wto_inst*0.96
198
199
else
200
201
end
202
203
% --------------------------------------------------------204
205 % MEMORIZZAZIONE RISULTATI VERIFICHE
206
207
208
209
210
211
212 % ISOLAMENTO CONFIGURAZIONI ACCETTABILI
213 if checkTO1==1 & checkTO2==1 & checkTO3==1
214
215
216 end
217
218
end
219
end
220
end
221 end
222
223 % VISUALIZZAZIONE DEI RISULTATI
224 % ----------------------------225 disp('VERIFICA DELLE PRESTAZIONI DI DECOLLO')
226 fprintf('\n')
227 disp('Analisi delle 243 configurazioni ottenute dal progetto di alta velocit:')
228 disp(' N
M
AR
t/c
KS
Tinst/Tnec1 Tinst/Tnec2 Tinst/Tnec3
CLmaxTO')
229 disp(TO_check)
230 fprintf('\n')
231 disp('Le configurazioni che soddisfano i requisiti di decollo sono:')
4 of 5
07/07/06 3.57
232 disp(' N
M
AR
t/c
CLmaxTO')
233 disp(TO_acceptable)
234
235 % SALVATAGGIO RISULTATI
236 % --------------------237 save('decollo', 'TO_memo')
KS
Tinst/Tnec1
Tinst/Tnec2
Tinst/Tnec3
5 of 5
07/07/06 3.57
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
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
clear all
clc
% Costanti & fattori di conversione
%..........................................................................
% 1 ft = 0.3048 m
% fattore di conversione nodi-->m/s
% accelerazione gravitazionale [m/s]
%..........................................................................
% Variazioni dei parametri di progetto
%..........................................................................
% (indice iM)
Variazione del Mach di crociera
% (indice iAR)
Variazione di AR
1 of 6
07/07/06 3.57
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
%----------------------------- D A T I --------------------------------% Caricamento configurazioni ottenute dal progetto di alta velocit ------load config.mat
% Requisiti da specifica: ATTERRAGGIO ------------------------------------% velocit massima di avvicinamento [m/s]
% lunghezza pista [m]
% quota pista [m]
Requisiti normativi (FAR 25.119/25.121d) -------------------------------gli indici 1/2 si riferiscono rispettivamente alla 1/2 condizione di
go around
numero di motori in avaria
% gradienti di salita
2 of 6
07/07/06 3.57
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
3 of 6
% Fattore di Oswald
% Si trascura la variazione del fattore di Oswald rispetto
% alla configurazione di crociera
%
%
%
%
%
07/07/06 3.57
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
end
if check1==0 | check2==0
CLinf = ' ga '
CLsup = ' ga '
end
% --------------------------------------------------------% C) CALCOLO DELL'INTERVALLO DI CLmaxLA CHE SODDISFI TUTTI
%
I REQUISITI DI ATTERRAGGIO
% --------------------------------------------------------% Se la verifica al punto B) ha prodotto esito positivo,
% possono verificarsi 3 casi:
if check3==1
if CLmin<=CLinf
end
if CLmin>CLinf & CLmin<=CLsup
end
4 of 6
07/07/06 3.57
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
if CLsup1>=10
strCL=num2str(CLsup1,'%2.1f'
else
strCL=num2str(CLsup1,'%1.2f'
end
LA_check = vertcat(LA_check, [sprintf(formato_check,check)...
'
' num2str(CLinf1,'%1.2f')...
'
' strCL...
'
' num2str(CLinf2,'%1.2f')...
'
' num2str(CLsup2,'%1.2f')...
'
' num2str(CLmaxLAinf,'%1.2f')...
'
' num2str(CLmaxLAsup,'%1.2f'
% MEMORIZZAZIONE RISULTATI VERIFICHE
if check1==0
end
if check2==0
end
if check3==0
end
if check3==1 & checkLA==0
end
memoLA = [CLmaxLA_app CLmaxLA_LLA CLinf1 CLsup1 CLinf2 CLsup2 CLmaxLAinf CLmaxLAsup
5 of 6
07/07/06 3.57
6 of 6
07/07/06 3.57
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
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
clear all
clc
% Caricamento risultati ottenuti dalle verifiche di decollo
load decollo.mat
Variazione di AR
1 of 4
07/07/06 3.57
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
DECOLLO
ATTERRAGGIO
% CALCOLO DI CLmaxLA
% --------------------------------------------------------% Se le verifiche di atterraggio hanno prodotto esito
% positivo, possono verificarsi 3 casi:
if checkLA==1
% CLmaxLA minimo accettabile
if CLmaxLA_MIN<=CLmaxLAinf
end
if CLmaxLA_MIN>CLmaxLAinf & CLmaxLA_MIN<=CLmaxLAsup
end
if CLmaxLA_MIN>CLmaxLAsup
CLmaxLA = ' LS '
k = ' LS '
2 of 4
07/07/06 3.57
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
3 of 4
end
end
% Se le verifiche di atterraggio hanno prodotto esito
% negativo, la configurazione va scartata
if checkLA==0
CLmaxLA = ' LA '
k = ' LA '
end
% --------------------------------------------------------% Output delle verifiche di bassa velocit
if CLinf1==0
CLinf1 = ' ga '
CLsup1 = ' ga '
end
if CLinf2==0
CLinf2 = ' ga '
CLsup2 = ' ga '
end
if CLmaxLAinf==0
CLmaxLAinf = ' ga '
CLmaxLAsup = ' ga '
end
if CLmaxLAinf==-1
CLmaxLAinf = ' LA '
CLmaxLAsup = ' LA '
end
if CLsup1>10
strCL=num2str(CLsup1,'%2.1f'
else
strCL=num2str(CLsup1,'%1.2f'
end
07/07/06 3.57
4 of 4
175
LS_acceptable = vertcat(LS_acceptable, [sprintf(formato_acceptable,acceptable)...
176
'
' num2str(CLinf1,'%1.2f')...
177
'
' strCL...
178
'
' num2str(CLinf2,'%1.2f')...
179
'
' num2str(CLsup2,'%1.2f')...
180
'
' num2str(CLmaxTO,'%1.2f')...
181
'
' num2str(CLmaxLA,'%1.2f')...
182
'
' num2str(k,'%1.2f'
183 end
184
185 % Memorizzazione risultati
186 if checkLA==0
187
188 end
189 if checkLA==1 & checkLS==0
190
191 end
192
193
194
end
195
end
196
end
197 end
198
199
200 % VISUALIZZAZIONE DEI RISULTATI
201 % ----------------------------202 disp('VERIFICHE DI BASSA VELOCITA''')
203 fprintf('\n')
204 disp('Analisi delle 243 configurazioni ottenute dal progetto di alta velocit:')
205 disp('
CONFIGURAZIONE
DECOLLO: Tinst/Tnec
ATTERRAGGIO: CLmaxLA')
206 disp('xxxxxxxxxxxxxxxxxxxxxxxxxxxx
..............................
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx')
207 disp(' N M
AR t/c
KS
1 TO
2 TO
3 TO CLmaxTO 1 LA
2 LA
[3
LA: cond1] [3 LA: cond2] [CLmaxLAinf CLmaxLAsup]')
208 disp(LS_check1)
209 fprintf('\n')
210 disp(' N M
AR t/c
KS
CLmaxTO
[CLmaxLAinf CLmaxLAsup]
CLmaxLA
CLmaxTO/CLmaxLA')
211 disp(LS_check2)
212 fprintf('\n')
213 disp('Le configurazioni che soddisfano i requisiti di bassa velocit sono:')
214 disp('
CONFIGURAZIONE
DECOLLO: Tinst/Tnec
ATTERRAGGIO:
CLmaxLA
RISULTATI')
215 disp('xxxxxxxxxxxxxxxxxxxxxxxxxxxx
.....................
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx .................................')
216 disp(' N M
AR t/c
KS
1 TO
2 TO
3 TO
1 LA
2 LA
[3 LA: cond1]
[3 LA: cond2] CLmaxTO CLmaxLA CLmaxTO/CLmaxLA')
217 disp(LS_acceptable)
218
219 % SALVATAGGIO RISULTATI
220 % --------------------221
222 save('bassa', 'LS_memo')
07/07/06 3.58
07/07/06 3.58
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
1 of 1
1 of 4
07/07/06 3.58
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
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
if CLinf2==0
CLinf2 = ' ga '
CLsup2 = ' ga '
end
if CLmaxLA==0
CLmaxLA = ' LA '
k = ' LA '
else
if CLmaxLA==-1
CLmaxLA = ' LS '
k = ' LS '
else
end
end
if CLsup1>10
strCL=num2str(CLsup1,'%2.1f'
else
strCL=num2str(CLsup1,'%1.2f'
end
07/07/06 3.58
3 of 4
2 of 4
ALTA
BASSA
07/07/06 3.58
166
LA
167
168
169
170
171
disp(' N M
AR t/c
2 LA
[3 LA: cond1]
disp(acceptable_243)
KS
Vtank/Vnec Tinst/Tnec Sweep25 1 TO
2 TO
[3 LA: cond2] CLmaxTO CLmaxLA CLmaxTO/CLmaxLA')
% SALVATAGGIO RISULTATI
% --------------------save('verifiche', 'memo_243')
3 TO
4 of 4
1
C04
07/07/06 4.00
1 of 6
07/07/06 4.00
2 of 6
57
58
% PARAMETRI DELLA CONFIGURAZIONE
59
% -----------------------------60
% Numero della configurazione
% Mach
61
62
% Allungamento alare
% Spessore percentuale riferimento
63
% Coefficiente superficie
64
65
66
% INDICI DELLA CONFIGURAZIONE
67
% --------------------------68
69
70
71
72
73
% DATI RICAVATI DAL PROGETTO DI ALTA VELOCITA'
74
% -------------------------------------------75
% Max Take Off Weight [kg]
76
% Payload Weight [kg]
?????????????????
77
%Wpayload =
% Volume limited payload [kg]
?????????????????
78
Wfuel = config(iM,iAR,it_c).weights(iKS,3)-...
% Fuel Weight [kg]
79
80
!!!!!!!!!!!!!!!!!
81
!!!!!!!!!!!!!!!!!
82
% Operating Empty Weight [kg]
% Manufacturers' Empty Weight [kg]
83
84
% Engine weight [kg]
% Sea level Static TO Trust [kg]
85
86
% Static thrust [lb]
% Bypass ratio
87
% Overall Pressure ratio (Fan included)
88
89
90
% BLOCK TIME
91
% ---------92
% Mean Velocity over Range [m/s]
% Mean Velocity over Range [km/h]
93
94
95
% Flight time [hr]
96
% Block time [hr]
% Utilisation [hr/year]
97
98
% Commercial speed [km/hr]
99
100
% AIRCRAFT DELIVERY PRICE
101
% ----------------------% A/C max speed [m/s]
102
103
Ceng_1995 = 2.451e-14*(Tdes_lb^3) - 2.846e-9*(Tdes_lb^2) + (1.838e-4*Tdes_lb) + 6.321e104
105
106
107
108
109
07/07/06 4.00
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
% FLIGHT COSTS
% ------------
% MAINTENANCE COSTS
% -----------------
end
end
% xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
% xxxxx ANALISI DEI COSTI DELLA CONFIGURAZIONE DI OTTIMO SELEZIONATA xxxxxx
% PARAMETRI DELLA CONFIGURAZIONE
% Numero della configurazione
% Mach
% Allungamento alare
% Spessore percentuale riferimento
% Coefficiente superficie
% BLOCK TIME
%
%
%
%
3 of 6
07/07/06 4.00
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
% FLIGHT COSTS
%
%
%
%
%
%
Flight Costs
Crew costs
Fuel costs
Landing Fees
Navigation Charges
Ground Handling Charges
% MAINTENANCE COSTS
% Mainteinance costs
% Airframe Mainteinance costs
% Engine time dependent costs
% Engine cycle dependent costs
% Total engine Mainteinance costs
% xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
% VISUALIZZAZIONE DEI RISULTATI
% ----------------------------disp('I costi opetativi diretti delle configurazioni che soddisfano i ')
disp('requisiti di alta e bassa velocit sono:')
fprintf('\n')
disp(' N M
AR
t/c
KS
DOC [USD current/(seat*Km)]')
disp(acceptable_DOC)
fprintf('\n')
disp('La configurazione che minimizza i costi operativi diretti :')
disp('-----------------------------------------------------------')
disp(sprintf('Configurazione
= %1.0f',C))
disp(sprintf('Mach
= %1.2f',M))
disp(sprintf('Allungamento alare
= %1.0f',AR))
disp(sprintf('Spessore percentuale
= %1.2f',t_c))
disp(sprintf('Coefficiente superficie
= %1.2f',KS))
disp('-----------------------------------------------------------')
4 of 6
07/07/06 4.00
5 of 6
226 fprintf('\n')
227
228 disp('DIRECT OPERATING COSTS')
229 disp('----------------------')
230 disp(sprintf('Direct Operating Cost [USD/seat*Km] = %1.6f',DOC))
231 disp(sprintf('Block time [Hr]
= %1.2f',Bt))
232 disp(sprintf('Commercial speed [km/hr]
= %1.2f',Vb))
233 disp(sprintf('Utilisation [hr/year]
= %1.0f',U))
234 disp(sprintf('Aircraft Delivery Price [MUSD]
= %1.2f',ADP))
235 fprintf('\n')
236
237 disp('AIRCRAFT OWNERSHIP COSTS [USD/FH]')
238 disp('---------------------------------')
239 disp(sprintf('Depreciation
= %1.0f',Dep))
240 disp(sprintf('Interest
= %1.0f',Int))
241 disp(sprintf('Insurance
= %1.0f',Ins))
242 disp(sprintf('TOT
= %1.0f',AC))
243 fprintf('\n')
244
245 disp('FLIGHT COSTS [USD/FH]')
246 disp('---------------------')
247 disp(sprintf('Crew costs
= %1.0f',CREW_cost))
248 disp(sprintf('Fuel costs
= %1.0f',FUEL_cost))
249 disp(sprintf('Tax (Landing Fees)
= %1.0f',LF_cost))
250 disp(sprintf('Tax (Navigation Charges)
= %1.0f',NC_cost))
251 disp(sprintf('Tax (Ground Handling Charges)
= %1.0f',GHC_cost))
252 disp(sprintf('TOT
= %1.0f',FC))
253 fprintf('\n')
254
255 disp('MAINTENANCE COSTS [USD/FH]')
256 disp('--------------------------')
257 disp(sprintf('Airframe Maintenance Costs
= %1.0f',AMCost))
258 disp(sprintf('Engine Time Dependent Costs
= %1.0f',EMCost_hr))
259 disp(sprintf('Engine Cycle Dependent Costs
= %1.0f',EMCost_cycle))
260 disp(sprintf('TOT
= %1.0f',MC))
261
262 % PLOTTAGGI GRAFICI A TORTA
263 % ------------------------264
265 % RIPARTIZIONE DEGLI AIRCRAFT MANUFACTURERS' STANDARD STUDY PRICE
266 figure(1)
267
268 pie(MSPsplit)
269 leg1 = legend('Engineering','Tooling','Manufacturing','Quality control','Development
support',...
270
'Flight test','Manufacturing materials','Avionics','Engines total'
271 set(leg1,'FontSize',8)
272 title('Aircraft Manufacturers'' Standard Study Price','FontSize',12,'FontWeight','b')
273
274 % RIPARTIZIONE DEI COSTI OPERATIVI DIRETTI
275 figure(2)
276
277 pie(DOC_part)
278 leg2 = legend('Aircraft Ownership Costs','Maintenance Costs','Flight Costs'
279 set(leg2,'FontSize',8)
280 title('Direct Operative Costs (DOC)','FontSize',12,'FontWeight','b')
281
282 colormap(map)
07/07/06 4.00
6 of 6
283
284 figure(3)
285 DOC_comp = [Dep Int Ins AMCost EMCost_hr EMCost_cycle...
286
287
288 pie(DOC_split)
289 leg3 = legend('Depreciation','Interest','Insurance','Crew costs','Fuel costs','Landing
Fees',...
290
'Navigation Charges','Ground Handling Charges','Airframe Mainteinance costs',...
291
'Engine time dependent cost','Engine cycle dependent cost'
292 set(leg3,'FontSize',8)
293 title('Direct Operative Costs (DOC)','FontSize',12,'FontWeight','b')
294
...
295
...
296
297 colormap(map)
07/07/06 4.00
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
1 of 2
07/07/06 4.00
59
60
% Manifacturing Hours
61
62
% Quality control Hours
63
64
65
% Costs
% [USD current]
66
67
% [USD current]
% [USD current]
68
% [USD current]
69
70
71
% Develpement support cost [USD current]
72
73
% Filght test cost [USD current]
74
75
% Manufactoring materials cost [USD current]
76
77
% Avionics cost calulated as a percentage (av_p) of MSP [USD current]
78
79
% MANUFACTURERS' STANDARD STUDY PRICE [USD current]
80
81
82 % AIRCRAFT DELIVERY PRICE [USD current]
83
84
85 % OUTPUT
86
87
2 of 2
07/07/06 4.00
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
1 of 1
07/07/06 4.00
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
% BLOCK TIME
% ---------%
% function [FLT_BT_U] = block_time(R,Vrange)
%
% Input
%
R
[km]
Range (Stage Length)
%
Vrange
[km/hr] Mean Velocity over Range
% Output
%
FLT_BT_U_VB =
%
FLTt
[hr]
Flight time
%
Bt
[hr]
Block time
%
U
[hr/year] Utilisation
%
Vb
[km/hr]
Commercial speed
function [FLT_BT_U_VB] = block_time(R,Vrange)
% FLIGHT TIME
% [hr]
% BLOCK TIME & UTILISATION
if R<5000
% [hr] Block time
% [hr/year] utilisation
else
% [hr] Block time
% [hr/year] utilisation
end
% COMMERCIAL SPEED
% [km/hr] commercial speed
1 of 1
07/07/06 4.00
07/07/06 4.00
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
(USD current/FH)
end
1 of 1
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
% FLIGHT COSTS
% -----------%
% function [Mis_C] = flight_costs(Natt,Wto,Wpay,Wf,R,Bt,FLTt,FP,CPI)
%
% Input
%
Natt
[--]
Number of cabin attendants
%
Wto
[Kg]
Max Take Off weight
%
Wpay
[Kg]
Payload Weight
%
Wf
[Kg]
Fuel weight
%
R
[km]
Range
%
Bt
[hr]
Block time
%
FLTt
[hr]
Flight time
%
FP
[US$/kg] Current Fuel Price
%
CPI
[--]
Consumer Price Index Current Year
% Output
%
Mis_Cost =
%
CREW_cost
[USD current/FH] Crew costs
%
FUEL_cost
[USD current/FH] Fuel costs
%
LF
[USD current/FH] Landing Fees
%
NC
[USD current/FH] Navigation Charges
%
GHC
[USD current/FH] Groud Handling Charges
function [Mis_Cost] = flight_costs(Natt,Wto,Wpay,Wf,R,Bt,FLTt,FP,CPI)
% Consumer Price Index 1986
% PARAMETERS
% Crew Cost rates (1986 USD)
if R<5000
% [(USD 1986)/hr] for 2 pilots
% [((USD 1986)/hr)/crewmemeber]
else
% [(USD 1986)/hr] for 2 pilots
% [((USD 1986)/hr)/crewmemeber]
end
% Preliminary calculations & Unit Conversion
% [Metric Tonnes]
% [Metric Tonnes]
%%%%%% Everything from here on is per flight hour %%%%%%%%
% CREW DEPENDENT COSTS
1 of 2
07/07/06 4.00
59
end
60
61
62
63
64
65
66 % MISSION COSTS PER FLIGHT HOUR
67
%
%
%
%
[USD
[USD
[USD
[USD
current]
current]
current]
current]
(USD current/FH)
Landing Fees
Navigation Charges
Groud Handling Charges
Crew Cost
2 of 2
07/07/06 4.01
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
% MAINTEINANCE COSTS
% -----------------%
% function [M_Cost,M_Cost_split] = maintenance_costs(AC_INFO,ENGINFO,CPI)
%
% Input
%
AC_INFO (i)
%
1
ADP
[MUSD] Aircraft Delivery Price
%
2
FLTt
[hr]
Flight time
%
3
Bt
[hr]
Block time
%
4
We
[Kg]
Manufacturers Empty Weight
%
ENGINFO (i)
%
1
Weng
[kg]
Engine weight
%
2
Neng
[--]
Number of engines
%
3
Ceng
[MUSD] Cost of one engine (Current Year)
%
4
BPR
[--]
Bypass ratio
%
5
OAPR
[--]
Overall Pressure ratio (Fan included)
%
6
Nshaft [--]
Number of shaft
%
7
Ncomp [--]
Number of compressor stages
%
8
Tmax
[Kg]
Sea level Static TO Trust
%
CPI
[--]
Consumer Price Index Current Year
% Output
%
M_Cost
[USD current/FH]
Mainteinance costs
%
M_Cost_split =
%
AMCost
[% of M_Cost]
%
EMCost_hr
[% of M_Cost]
%
EMCost_cycle [% of M_Cost]
%
EMCost
[% of M_Cost]
function [M_Cost,M_Cost_split] = maintenance_costs(AC_INFO,ENGINFO,CPI)
% Consumer Price Index 1986
%[MUSD]
%[Kg]
%[kg]
%[--]
%[MUSD]
%[--]
%[--]
%[--]
%[--]
%[kg]
Engine weight
Number of engines
Cost of one engine (Current Year)
Bypass ratio
Overall Pressure ratio (Fan included)
Number of shaft
Number of compressor stages
Sea level Static TO Trust
% PARAMETERS
% Cost rates (1986 USD/hour)
1 of 2
07/07/06 4.01
2 of 2
C05
07/07/06 4.02
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
% Ala e cassone
% Impennaggio orizzontale
% Impennaggio verticale
1 of 2
07/07/06 4.02
2 of 2
59
60
61
62
63
64
65 tailplane(L_ht, b_ht, cR_ht, cT_ht, AR_ht, lambda_ht, sweep25ht, mac_ht, xmac_ht,...
66
L_vt, h_vt, cR_vt, cT_vt, AR_vt, lambda_vt, sweep25vt, mac_vt, xmac_vt, mac, xmac, Xwf,
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
% Motori
figure(1)
box on
xlabel('[m]','FontSize',12,'FontWeight','b')
ylabel('[m]','FontSize',12,'FontWeight','b')
xmax_plot=Lfus+5
ymin_plot=-0.5*b-2
ymax_plot=0.5*b+2
axis([xmin_plot xmax_plot ymin_plot ymax_plot])
plot(asse,asse_plot,'k-.')
07/07/06 4.02
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
% FUSOLIERA
function ala(Xwf, etaR, bK, b, sweepLE, cCL, cR, cK, cT, lambdaN)
%PARAMETRI DIMENSIONALI PER I SERBATOI xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx%
%Rapporto tra corda-serbatoio al K e corda al K [0.47,0.5] %
%Rapporto tra corda-serbatoio al R e corda cRn [0.47,0.5] %
%Rapporto tra ordinata TipTank e ordinata Tip [0.76,0.82] %
%xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx%
% Posizioni delle varie sezioni
% 2 x distanza
% 2 x distanza
% 2 x distanza
% 2 x distanza
1 of 2
07/07/06 4.02
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
figure(1)
hold on
line([Cs(1)
line([Cd(1)
line([Gs(1)
line([Gd(1)
line([Hs(1)
line([Hd(1)
line([Fs(1)
line([Fd(1)
Gs(1)],[Cs(2)
Gd(1)],[Cd(2)
Hs(1)],[Gs(2)
Hd(1)],[Gd(2)
Fs(1)],[Hs(2)
Fd(1)],[Hd(2)
Ds(1)],[Fs(2)
Dd(1)],[Fd(2)
line([Acs(1)
line([Bcs(1)
line([Acs(1)
line([Acd(1)
line([Dcs(1)
line([Dcd(1)
line([Dcs(1)
line([Dcd(1)
Gs(2)],'Color','b')
Gd(2)],'Color','b')
Hs(2)],'Color','b')
Hd(2)],'Color','b')
Fs(2)],'Color','b')
Fd(2)],'Color','b')
Ds(2)],'Color','b')
Dd(2)],'Color','b')
Acd(1)],[Acs(2)
Bcd(1)],[Bcs(2)
Ccs(1)],[Acs(2)
Ccd(1)],[Acd(2)
Ccs(1)],[Dcs(2)
Ccd(1)],[Dcd(2)
Bcs(1)],[Dcs(2)
Bcd(1)],[Dcd(2)
Acd(2)],'Color','r')
Bcd(2)],'Color','r')
Ccs(2)],'Color','r')
Ccd(2)],'Color','r')
Ccs(2)],'Color','r')
Ccd(2)],'Color','r')
Bcs(2)],'Color','r')
Bcd(2)],'Color','r')
2 of 2
07/07/06 4.02
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
% MOTORI
% ------
function engines(Xwf, etaR, bK, b, sweepLE, cCL, cR, cK, cT, Le, De)
figure(1)
hold on
line([Bis(1) Bos(1)],[Bis(2) Bos(2)],'Color','b')
line([Bos(1) Cos(1)],[Bos(2) Cos(2)],'Color','b')
line([Bis(1) Ais(1)],[Bis(2) Ais(2)],'Color','b')
line([Bs(1) As(1)],[Bs(2) As(2)],'Color','r','LineStyle',':')
line([Bid(1) Bod(1)],[Bid(2) Bod(2)],'Color','b')
line([Bod(1) Cod(1)],[Bod(2) Cod(2)],'Color','b')
line([Bid(1) Aid(1)],[Bid(2) Aid(2)],'Color','b')
line([Bd(1) Ad(1)],[Bd(2) Ad(2)],'Color','r','LineStyle',':')
1 of 2
07/07/06 4.02
2 of 2
07/07/06 4.02
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
% FUSOLIERA
function fusoliera(Lfus, Lcockpit, Lseats, wfus)
figure(1)
hold on
plot(xAC,yAC,'k')
plot(xAB,yAB,'k')
yCE = line([C(1) E(1)],[C(2) E(2)],'Color','k'
yBD = line([B(1) D(1)],[B(2) D(2)],'Color','k'
plot(xEF,yEF,'k')
plot(xDF,yDF,'k')
axis equal
function [a,b,c]=parabola(x1,y1,x2,y2)
1 of 1
07/07/06 4.02
1 of 1
1 % IMPENNAGGIO ORIZZONTALE
2
3 function tailplane(L_ht, b_ht, cR_ht, cT_ht, AR_ht, lambda_ht, sweep25ht, mac_ht,
xmac_ht,...
4
L_vt, h_vt, cR_vt, cT_vt, AR_vt, lambda_vt, sweep25vt, mac_vt, xmac_vt, mac, xmac, Xwf,
sweepLE)
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 figure(1)
28 hold on
29
30 line([Av(1) Bsv(1)],[Av(2) Bsv(2)],'Color','b')
31 line([Dv(1) Csv(1)],[Dv(2) Csv(2)],'Color','b')
32 line([Bsv(1) Csv(1)],[Bsv(2) Csv(2)],'Color','b')
33 line([Av(1)-1 Dv(1)+1],[7 7],'Color','b','Linestyle','-.')
34
35 line([A(1) Bs(1)],[A(2) Bs(2)],'Color','b')
36 line([A(1) Bd(1)],[A(2) Bd(2)],'Color','b')
37 line([D(1) Cs(1)],[D(2) Cs(2)],'Color','b')
38 line([D(1) Cd(1)],[D(2) Cd(2)],'Color','b')
39 line([Bs(1) Cs(1)],[Bs(2) Cs(2)],'Color','b')
40 line([Bd(1) Cd(1)],[Bd(2) Cd(2)],'Color','b')
41
42
43
C06
07/07/06 4.03
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
clear all
clc
% SELEZIONE DELLA CONFIGURAZIONE OTTIMA
% ------------------------------------% identificatore del numero di mach
% identificatore dell'allungamento alare
% identificatore dello spessore percentuale
% identificatore del coefficiente di variazione della superficie
% Costanti & fattori di conversione
%..........................................................................
% 1 ft = 0.3048 m
% 1 lb = 0.45359237 kg
% accelerazione gravitazionale [m/s]
%..........................................................................
%----------------------------- D A T I --------------------------------% Caricamento dati del velivolo ottenuti dal progetto di alta velocit ---load config.mat
% Dati ricavati dal progetto di alta velocit ----------------------------% peso al decollo [kg]
% carico alare al decollo [kg/m]
% superficie alare di riferimento [m]
% allungamento alare
% coefficiente resistenza parassita velivolo
% fattore di Oswald
% rapporto di bypass
1 of 4
07/07/06 4.03
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
% Polare del velivolo nei 3 segmenti di salita ---------------------------% Fattore correttivo per il CD0 nei vari segmenti di salita
% formula 12.37 da Raymer
% formule statistiche
% Raymer (table 12.5)
%
% flap decollo + carrelli estratti
% flap decollo + carrelli retratti
% flap retratti + carrelli retratti
% Coefficiente di resistenza parassita
% Fattore di Oswald
% Si trascura la variazione del
% fattore di Oswald rispetto
% alla configurazione di crociera
% ------------------------------------------------------------------------% CALCOLO DEL TOP
% --------------% Curva BFL vs TOP relativa ad un bimotore in unit anglosassoni
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% ANALISI DELLA PRESTAZIONE DI DECOLLO DELLA CONFIGURAZIONE DI OTTIMO
% SELEZIONATA
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% CL MASSIMO AL DECOLLO
2 of 4
07/07/06 4.03
3 of 4
117
118 % 1 SEGMENTO DI SALITA
119 Tpf_Wto1 = T_Wnecessario(CGR1, CLmaxTO, CD01, e1, AR,...
120
121
122 % 2 SEGMENTO DI SALITA
123 Tpf_Wto2 = T_Wnecessario(CGR2, CLmaxTO, CD02, e2, AR,...
124
125
126 % 3 SEGMENTO DI SALITA
127 Tpf_Wto3 = T_Wnecessario(CGR3, CLmaxTO, CD03, e3, AR,...
128
129
130 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
131 % PLOTTAGGIO DEI RISULTATI
132 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
133 figure(1)
134 hold on
135
136 % CURVE T/W vs CLmaxTO
137 % -------------------138 % Curve Tpf/Wto necessari vs CLmaxTO
139 plot(CLmaxTO,Tpf_Wto1,'g',CLmaxTO,Tpf_Wto2,'r',CLmaxTO,Tpf_Wto3,'y',CLmaxTO,
T_Wtop,'b','LineWidth',1.5)
140
141 % Curva Tpf/Wto installata vs ClmaxTO
142
143 plot(CLmaxTO,T_Winst,'k','LineWidth',1.5,'LineStyle','-.')
144
145 % PUNTI D'INTERSEZIONE TRA LE CURVE
146 % --------------------------------147 % Punto d'intersezione tra la curva relativa al superamento dell'ostacolo
148 % e la spinta disponibile
149
150
151 plot(CLmaxTO_min,Tpf_Wto_inst,'o','MarkerSize',
7,'MarkerEdgeColor','k','MarkerFaceColor','b')
152
153 %Punto d'intersezione tra la curva relativa al 2 segmento e la spinta disponibile
154 CLmaxTO_max = fzero(@(CLmaxTO_max) inters_max(CLmaxTO_max, CGR2, CD02, e2, AR, VstTO_V2,
aTO, rhoTO,...
155
156 plot(CLmaxTO_max,Tpf_Wto_inst,'o','MarkerSize',
7,'MarkerEdgeColor','k','MarkerFaceColor','b')
157
158 % Punto d'intersezione tra la curva relativa al 2 segmento di salita e la
159 % curva relativa al TOP
160 CLmaxTO_opt = fzero(@(CLmaxTO_opt) inters_opt(CLmaxTO_opt, CGR2, CD02, e2, AR, VstTO_V2,
aTO, rhoTO,...
161
162
163
164 plot(CLmaxTO_opt,T_W_opt,'o','MarkerSize',7,'MarkerEdgeColor','k','MarkerFaceColor','m')
165
166 box on
167 grid
168 set(gca,'LineWidth',1.5)
169 hleg = legend('1 segm salita','2 segm salita','3 segm salita','TOP','T/W disponibile'
07/07/06 4.03
170
171
172
173
174
175
176
177
178
179
180
4 of 4
set(hleg,'FontSize',10,'FontWeight','b')
title('Prestazione di Decollo:
T/W vs C_L_m_a_x_T_O','FontSize',12,'FontWeight','b')
xlabel('C_L_m_a_x_T_O','FontSize',10,'FontWeight','b')
ylabel('T/W','FontSize',10,'FontWeight','b','Rotation',0)
disp('Il valore MINIMO ammissibile per il CL massimo al decollo :')
disp([num2str(CLmaxTO_min)])
disp('Il valore OTTIMO per il CL massimo al decollo :')
disp([num2str(CLmaxTO_opt)])
disp('Il valore MASSIMO ammissibile per il CL massimo al decollo :')
disp([num2str(CLmaxTO_max)])
07/07/06 4.03
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function
1 of 1
07/07/06 4.03
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
function
1 of 1
C07
07/07/06 4.04
1 of 3
07/07/06 4.04
2 of 3
58
% approssimazione trapezio (il 2 serve per le 2
semiali)
59
% area interessata dai flaps [m]
60
61 % Slats
62
63
% approssimazione
64
65
66
67
68
% approssimazione trapezio (il 2 serve per le 2
semiali)
69
% approssimazione trapezio (il 2 serve per le 2
semiali)
% area interessata dagli slats [m]
70
71 % ------------------------------------------------------------------------72
73 % CURVA DI PORTANZA DEL PROFILO ALARE IPERSOSTENTATO
74 % -------------------------------------------------75
76
77
78
79 % COEFFICIENTE DI PORTANZA MASSIMO DELL'ALA FINITA IPERSOSTENTATA
80 % --------------------------------------------------------------81
82
83
84 % Coefficiente di portanza massimo dell'ala ipersostentata: si considerano
85 % tutte le possibili combinazioni flaps + slats
86
87 % ssf + plef
88
89 % ssf + s
90
91 % ssff + plef
92
93 % ssff + s
94
95 % dsff_fv + plef
96
97 % dsff_fv + s
98
99 % dsff_vg + plef
100
101 % dsff_vg + s
102
103
104 % COEFFICIENTE DI PORTANZA MASSIMO DEL VELIVOLO IPERSOSTENTATO
105 % -----------------------------------------------------------106
107 % Contributi aggiuntivi
108 [air_ssf_plef, air_ssf_s, air_ssff_plef, air_ssff_s,...
109 air_fv_plef, air_fv_s, air_vg_plef, air_vg_s]...
110
111
112 % CLmax del velivolo ipersostentato: si considerano tutte le possibili
07/07/06 4.04
3 of 3
07/07/06 4.04
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
%
%
%
%
%
%
%
%
%
single
single
double
double
slotted
slotted
slotted
slotted
flaps
fowler flaps
fowler flaps with fixed vane
fowler flaps with variable geometry
% OUTPUT
% -----% air: contributo al coefficiente di portanza massimo del velivolo dovuto
%
al piano di coda orizzontale, all'interferenza flap/fusoliera e ai
%
flap cutouts. Si considerano tutte le possibili combinazioni
%
flaps + slats.
function [air_ssf_plef, air_ssf_s, air_ssff_plef, air_ssff_s,...
air_fv_plef, air_fv_s, air_vg_plef, air_vg_s]...
= aircraft(CLmax_W, deltaCl0_flap, deltaClmax_flap, S, Swf_in, lambdaW, b, bK)
% Coefficiente di portanza massimo dell'ala ipersostentata: si considerano
% tutte le possibili combinazioni flaps + slats
% ssf + plef
% ssf + s
1 of 3
07/07/06 4.04
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
% ssff + plef
% ssff + s
% dsff_fv + plef
% dsff_fv + s
% dsff_vg + plef
% dsff_vg + s
flaps
ssf
ssff
dsff_fv
dsff_vg
% ssf + plef
% ssf + s
% ssff + plef
% ssff + s
% dsff_fv + plef
% dsff_fv + s
% dsff_vg + plef
% dsff_vg + s
2 of 3
07/07/06 4.04
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
% ssff
% dsff_fv
% dsff_vg
3 of 3
07/07/06 4.04
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
%
%
%
%
%
%
%
%
%
1 of 3
single
single
double
double
slotted
slotted
slotted
slotted
flaps
fowler flaps
fowler flaps with fixed vane
fowler flaps with variable geometry
OUTPUT
-----deltaCl0_flap: incremento del Cl0 del profilo dovuto ai flaps
deltaCl0_flap(1) = deltaCl0_ssf
deltaCl0_flap(2) = deltaCl0_ssff
deltaCl0_flap(3) = deltaCl0_dsff_fv
deltaCl0_flap(4) = deltaCl0_dsff_vg
deltaClmax_flap: incremento del Clmax del profilo dovuto ai flaps
deltaClmax_flap(1) = deltaClmax_ssf
deltaClmax_flap(2) = deltaClmax_ssff
deltaClmax_flap(3) = deltaClmax_dsff_fv
deltaClmax_flap(4) = deltaClmax_dsff_vg
deltaClmax_slat: incremento del Clmax del profilo dovuto agli slats
deltaClmax_slat(1) = deltaClmax_plef
deltaClmax_slat(2) = deltaClmax_s
07/07/06 4.04
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
% ssf + plef
% ssf + s
% ssff + plef
% ssff + s
% dsff_fv + plef
% dsff_fv + s
% dsff_vg + plef
% dsff_vg + s
2 of 3
07/07/06 4.04
3 of 3
117 disp
('------------------------------------------------------------------------------------------------')
118
119 % PROFILO ALARE PULITO
120 disp('*) Curva di portanza del profilo alare pulito')
121 disp(sprintf('
Cl0 %6.1f', Cl0))
122 disp(sprintf('
Clmax %6.1f', Clmax))
123 disp(sprintf('
Clalfa %6.1f', Clalfa))
124 fprintf('\n')
125
126 % FLAP
127
128 deltaClmax_flap = [deltaClmax_ssf, deltaClmax_ssff, deltaClmax_dsff_fv,
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
07/07/06 4.04
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
OUTPUT
-----deltaCl0: variazione del Cl0 dovuto agli slat
deltaClmax: incremento del coefficiente portanza massimo dovuto agli slat
I pedici si riferiscono alla tipologia di ipersostentatori scelti per il
bordo d'attacco:
plef: plain leading edge flaps
s: slats & Krueger flaps
1 of 1
07/07/06 4.05
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
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
OUTPUT
-----deltaCl0: incremento del Cl0 del profilo dovuto ai flaps
deltaClmax: incremento del Clmax del profilo dovuto ai flapS
Clalfa: pendenza della curva di portanza del profilo flappato
INPUT
----Cl0: coefficiente di portanza a incidenza nulla del profilo pulito
Clmax: coefficiente di portanza massimo del profilo pulito
Clalfa: pendenza della curva di portanza del profilo pulito
single
single
double
double
slotted
slotted
slotted
slotted
flaps
fowler flaps
fowler flaps with fixed vane
fowler flaps with variable geometry
NB:DIPENDE DA deltaf!
% fig. G5
% CURVA DI PORTANZA DEL PROFILO FLAPPATO
% Incremento del coefficiente di portanza a incidenza nulla
% Incremento del massimo coefficiente di portanza
% Pendenza della curva di portanza flappata
1 of 3
07/07/06 4.05
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
2 of 3
NB:DIPENDE DA deltaf!
% fig. G5
% CURVA DI PORTANZA DEL PROFILO FLAPPATO
% Incremento del coefficiente di portanza a incidenza nulla
% Incremento del massimo coefficiente di portanza
% Pendenza della curva di portanza flappata
% fig. G6
% CURVA DI PORTANZA DEL PROFILO FLAPPATO
% Incremento del coefficiente di portanza a incidenza nulla
% Incremento del massimo coefficiente di portanza
% Pendenza della curva di portanza flappata
% fig. G5
% Effetto dell'aft section
% fig. G7
% cf/c'
[rad]
07/07/06 4.05
117
118
119
120
121
122
123
124
125
126
127
128
3 of 3
% fig. G6
% CURVA DI PORTANZA DEL PROFILO FLAPPATO
% Incremento del coefficiente di portanza a incidenza nulla
07/07/06 4.05
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
%
%
%
%
%
%
%
%
%
1 of 3
single
single
double
double
slotted
slotted
slotted
slotted
flaps
fowler flaps
fowler flaps with fixed vane
fowler flaps with variable geometry
INPUT
----Clmax:
sweep25:
S:
Swf:
Sws:
deltaClmax_flap:
% OUTPUT
% -----% CLmax_W:
%
%
%
%
%
%
%
%
coefficiente
CLmax_W(1) =
CLmax_W(2) =
CLmax_W(3) =
CLmax_W(4) =
CLmax_W(5) =
CLmax_W(6) =
CLmax_W(7) =
CLmax_W(8) =
flaps
ssf
ssff
dsff_fv
dsff_vg
07/07/06 4.05
2 of 3
59
60
61 % COEFFICIENTE DI PORTANZA MASSIMO DELL'ALA IPERSOSTENTATA
62 % -------------------------------------------------------63
64 % INCREMENTO DEL CLmax DELL'ALA DOVUTO AI FLAPS
65 % L'incremento dipende dalla tipologia di ipersostentatori scelti per il
66 % bordo d'uscita
67
68 % Single slotted flaps
69
70 % Single slotted fowler flaps
71
72 % Double slotted fowler flaps with fixed vane
73
74 % Double slotted fowler flaps with variable geometry
75
76
77 % INCREMENTO DEL CLmax DELL'ALA DOVUTO AGLI SLATS
78 % L'incremento dipende dalla tipologia di ipersostentatori scelti per il
79 % bordo d'attacco
80
81 % Plain leading edge flaps
82
83 % Slats & Krueger flaps
84
85
86 % EFFETTO COMPLESSIVO DEGLI IPERSOSTENTATORI SUL CLmax DELL'ALA
87 % Si considerano tutte le possibili combinazioni flaps + slats
88
89 % ssf + plef
90
91 % ssf + s
92
93 % ssff + plef
94
95 % ssff + s
96
97 % dsff_fv + plef
98
99 % dsff_fv + s
100
101 % dsff_vg + plef
102
103 % dsff_vg + s
104
105
106 % MEMORIZZAZIONE E PLOTTAGGIO RISULTATI
107 % ------------------------------------108 CLmax_W = [CLmaxW_ssf_plef, CLmaxW_ssf_s, CLmaxW_ssff_plef, CLmaxW_ssff_s,...
109
110
111 formato_fs = '%11.4f %7.4f %11.4f %7.4f %11.4f %7.4f %11.4f %7.4f'
112
113 fprintf('\n')
114 disp('COEFFICIENTE DI PORTANZA MASSIMO DELL''ALA FINITA')
115 disp
('---------------------------------------------------------------------------------------------
07/07/06 4.05
3 of 3
----')
116 disp('*) Coefficiente di portanza massima dell''ala pulita')
117 disp(sprintf('
CLmax %6.1f', CLmax))
118 fprintf('\n')
119 disp('*) Coefficiente di portanza massima dell''ala ipersostentata')
120 disp('
ssf
ssff
dsff_fv
dsff_vg')
121 disp('
plef
s
plef
s
plef
s
plef
s')
122 disp(['
CLmax_W ', sprintf(formato_fs,CLmax_W)])
123 disp
('------------------------------------------------------------------------------------------------')
124
C08
07/07/06 4.06
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
1 of 5
load './config/config.mat'
% IMPENNAGGIO ORIZZONTALE
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
% IMPENNAGGIO VERTICALE
07/07/06 4.06
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
2 of 5
07/07/06 4.06
3 of 5
%--------------------------------------------------------------------------
07/07/06 4.06
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
4 of 5
07/07/06 4.06
5 of 5
232
233
234 % 3) Angolo di turn over ..................................................
235
236
237
238
239
240
241
242 % 4) Carico sul carrello anteriore ........................................
243
244
245
246 % Nota. Si dovrebbe considerare anche l'ipotesi di baricentro avanzato per
247 % questa verifica. Dato che la posizione avanzata di baricentro si verifica
248 % al Weo non ci sono problemi di sovraccarico del carrello anche se si
249 % superano i limiti di tolleranza del rapporto Fn/W...
250 %
251
252 %
253
254
255 %Fn_Wmin= 1/(1 + bnm/bmm)
256 %
257 % Si ottiene un rapporto leggermente superiore di 0.15. Se per andiamo a
258 % guardare la forza che agisce sul carrello
259 %
260 %Fn1 = Fn_Wmin*Weo % = 4242 N
261 %Fn0 = Fn_W*WTO
% = 6177 N
262
263 disp('VERIFICA CARRELLI')
264 disp(['Angolo diedro dell''ala: ' num2str(gammadeg) '' ' [3 7]'])
265 disp(['Altezza del carrello main: ' num2str(Hlg) ' m'])
266 disp(['Angolo di seduta beta: ' num2str(beta) '' ' [beta > 15]'])
267 disp(['Angolo phi1: ' num2str(phi1) ''])
268 disp(['Angolo di stabilit psi: ' num2str(psi) '' ' [psi < 55]'])
269 disp(['Rapporto tra la reazione vincolare sul carrello nose e il peso: ' num2str(Fn_W) '
[0.08 < Fn/W < 0.15]'])
270 fprintf('\n')
271 disp(['Distanza ventre fusoliera - suolo : ' num2str(Ha) ' m'])
272 disp(['Distanza baricentro - suolo: ' num2str(zCG) ' m'])
273 disp(['Distanza gondole - suolo (carrello scarico): ' num2str(He) ' m'])
274 disp(['Distanza gondole - suolo (carrello carico): ' num2str(Hec) ' m'])
275 disp(['Distanza tra i carrelli lungo la centerline: ' num2str(d) ' m'])
276 disp(['Distanza tra carrello nose e posizione pi arretrata baricentro: ' num2str(bn) '
m'])
277 disp(['Distanza tra carrello main e posizione pi arretrata baricentro: ' num2str(bm) '
m'])
278
279 figure(2)
280 diag_pass = diag_pass(xCGeo,Weo,WTO,Xrif,mac,WcargoF,xCGcargoF,WcargoRT,xCGcargoRT,xCGin,
07/07/06 4.06
1 of 2
07/07/06 4.06
2 of 2
53 %
-----------------------------------------------------------------------------------------------------54 % Funzione integranda per il calcolo dell'area del profilo tra LE e TE
55
56 function Fnum = integrando_mstat(x1,xdata,h_airfoil)
57
58
% Interpolo i dati ottenuti dalla function airfoil e calcolo lo spessore del
profilo tra LE e TE
59
Fnum = interp1(xdata,h_airfoil.*xdata,x1,'spline'
60
61 % Funzione integranda per il calcolo di h*x del profilo tra LE e TE
62 function Fden = integrando_area(x2,xdata,h_airfoil)
63
64
% Interpolo i dati ottenuti dalla function airfoil e calcolo lo spessore del
profilo tra LE e TE
65
Fden = interp1(xdata,h_airfoil,x2,'spline'
07/07/06 4.06
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
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
1 of 1
07/07/06 4.06
1 of 2
07/07/06 4.06
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
%Passeggeri
%Piloti
% 2 piloti
% I piloti si trovano all'incirca a met del cockpit
%Assistenti di volo
2 of 2
07/07/06 4.06
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
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
1 of 1
Baricentro coda
--------------[xCGgt,Wgt] = CG_tail(bHt,cRHt,cTHt,hVt,cRVt,cTVt,mac,LHt,...
ymacHt,sweepHt,LVt,ymacVt,sweepVt,WHt,WVt)
Input
----bHt: apertura coda orizzontale
cRHt: corda sull'asse di fusoliera coda orizzontale
cTHt: corda al tip coda orizzonale
hVt: semiapertura coda verticale
cRVt: corda alla radice coda verticale
cTVt: corda al tip coda verticale
mac: corda media aerodinamica
LHt: distanza 25%mac - 25%macHt
ymacHt: posizione trasversale macHt
sweepHt: angolo di freccia coda orizzontale
LVt: distanza 25%mac - 25%macVt
ymacVt: posizione verticale macVt
sweepVt: angolo di freccia coda verticale
WHt: peso coda orizzontale
WVt: peso coda veticale
Output
-----xCGgt: posizione del baricentro della coda rispetto al LE della mac
Wgt: peso della coda
%Coda verticale
% posizione veticale baricentro dalla sezione di radice
% corda in corrispondenza del baricentro dell'impennaggio
07/07/06 4.06
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
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
1 of 3
07/07/06 4.06
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
%
%
%
% Corde del cassone alare
%
% root
%
% kink
%
% tip
%
% tip tank
%
%
% Bordi di attacco e di uscita delle varie sezioni del cassone
%
% Kink
%
%
%
% Tip
%
%
%
% Root
%
%
%
% Tip tank
%
%
%
%-------------------------------------------------------------------%
% Propriet dei profili alari --------------------------------------------%
%
% Profilo al root
%
%
root_sect_id = './airfoil_data/sc_root.dat'
%
% Profilo al kink
%
%
kink_sect_id = './airfoil_data/sc_kink.dat'
%
% Profilo al tip
%
tip_sect_id = './airfoil_data/sc_tip.dat'
%
%
%
%
% distanza percentuale del Tip Tank
%
%
for i=1:m
%
% Calcolo della geometria del profilo al TT
%
%
%
%
% Profilo alla radice dimensionato (c = cR)
%
%
%
%
% Profilo al kink
dimensionato (c = cK)
%
%
%
%
end
%
%-------------------------------------------------------------------------%
% Serbatoi alari ---------------------------------------------------------% Volume e CG serbatoio relativo alla parte interna al kink [m]
[xCGinLE,yCGinR,Vtank_in] = volume_CG(dRK, cR, cK, root_sect, kink_sect,...
2 of 3
07/07/06 4.06
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
%
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
Nota. :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
Metodo semplificato per il calcolo dell'ordinata del baricentro (Fanteria)
[areaK,xCGKLE] = xCGsez_rel(Ksect,xtLE_K,xtTE_K)
yy=dRK*(areaR + 3*areaK + 2*sqrt(areaR*areaK))/...
%
% La formula stima molto bene l'ordinata del baricentro come si pu vedere
% sbloccando e comparando yy con yCGinR. L'unico problema e che il semplice
% utilizzo di questa formula non basta visto che non fornisce la x del CG
3 of 3
07/07/06 4.06
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
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
function [xCGw,Ww] = CG_wing(b, bK, etaR, cR, cK, cT, lambdaN, ymac,...
sweepLE, Wdetail, b_eng, c_eng, Lnac)
1 of 3
07/07/06 4.06
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
%
%
%
% tip tank
%
%
% Bordi di attacco e di uscita delle varie sezioni del cassone
%
% Kink
%
%
%
% Tip
%
%
%
% Root
%
%
%
% Tip tank
%
%
%
%-------------------------------------------------------------------%
% Calcolo del baricentro della struttura alare
else
end
% Posizione del baricentro ala rispetto al LE della mac
% Posizione del baricentro motore rispetto al LE della mac
%
%
% ala
| Rivedere la attribuzione
% sistemi carburante
| dei pesi ad ala o motore
% superfici di controllo|
|
? ?
%
|
?
?
|
?
% piloni
|
?
% motori e nacelles
|
?
% sistemi ausiliari motori|
?
|
?
%
|
o
2 of 3
07/07/06 4.06
117
3 of 3
07/07/06 4.07
1 of 5
07/07/06 4.07
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
for i= 1:1:Nf
end
for i= 1:1:Nf
if i == Nf
else
end
if i == 1
else
end
end
2 of 5
07/07/06 4.07
3 of 5
116 hold on
117 diag_pass = plot(xCG1TN./mac,W1TN,xCG1NT./mac,W1NT,xCG2TN./mac,W2TN,xCG2NT./mac,W2NT,
xCG3TN./mac,W3TN,xCG3NT./mac,W3NT,'linewidth',2)
118
119 %CARGO - Nell'ipotesi che il velivolo venga caricato con il baricentro dei
120 %passeggeri nella posizione pi avanzata
121
122
123
124
125
126
127
128
129
130 plot([xCGpmin/mac xCGpcFmin/mac],[Wpmin,WpcFmin],'k:',[xCGpcFmin/mac xCGpcmin/mac],[WpcFmin
Wpcmin],'k:')
131
132 %CARGO - Nell'ipotesi che il velivolo venga caricato con il baricentro dei
133 %passeggeri nella posizione pi arretrata
134
135
136
137
138
139
140
141 plot([xCGpmax/mac xCGpcRTmax/mac],[Wpmax,WpcRTmax],'k:',[xCGpcRTmax/mac xCGpcmax/mac],
[WpcRTmax Wpcmax],'k:')
142
143
144
145
146
147
148
149
150 %plot([xCG3TN(end)/mac xCGpcRTdes/mac],[W3TN(end),WpcRTdes],'k:',[xCGpcRTdes/mac
xCGpcdes/mac],[WpcRTdes Wpcdes],'k:')
151
152
153
154
155
156
157
158 %plot([xCGpcmin/mac xCGpcfoutmin/mac],[Wpcmin Wpcfoutmin],'r',[xCGpcfoutmin/mac
xCGpcfmin/mac],[Wpcfoutmin Wpcfmin],'r')
159
160
161
162
163
164
165
166 plot([xCGpmax/mac xCGpfoutmax/mac],[Wpmax Wpfoutmax],'g',[xCGpfoutmax/mac xCGfmax/mac],
[Wpfoutmax Wpfmax],'g')
167
07/07/06 4.07
4 of 5
168
169
170
171
172
173
174 plot([xCGpmin/mac xCGpfinmin/mac],[Wpmin Wpfinmin],'g',[xCGpfinmin/mac xCGfmin/mac],
[Wpfinmin Wpfmin],'g')
175
176
177 %Wpfout = Wpay + Wtank_out + Weo
178 %xCGpfout = (Wpay*xCGpay + Wtank_out*xCGout + Weo*xCGeo)/Wpfout
179
180 %Wpf = Wpfout + Wtank_in
181 %xCGf = (Wpfout*xCGpfout+ Wtank_in*xCGin)/Wpf
182
183
184
185 %plot([xCG/mac xCGpfout/mac],[Wpay+Weo Wpfout],'g',[xCGpfout/mac xCGf/mac],[Wpfout
Wpf],'g')
186
187
188
189
190
191
192
193 %plot([xCGpcFmin/mac xCGpcFfoutmin/mac],[WpcFmin WpcFfoutmin],'m',[xCGpcFfoutmin/mac
xCGpcFfmin/mac],[WpcFfoutmin WpcFfmin],'m')
194
195
196
197
198
199
200
201
202
203
204 %plot([xCGmaxC/mac xCGpfoutdes/mac],[WmaxC Wpfoutdes],'r',[xCGpfoutdes/mac xCGfdes/mac],
[Wpfoutdes Wpfdes],'r')
205
206
207 % Escursione Baricentro --------------------------------------------------208 %plot(xCGeo_mac,Weo,'o','MarkerFaceColor','b','MarkerEdgeColor','k','MarkerSize',10)
209 %hold on
210 %plot(xCGpmax/mac,Wpmax,'o','MarkerFaceColor','r','MarkerEdgeColor','k','MarkerSize',10)
211 %plot(xCGpmin/mac,Wpmin,'o','MarkerFaceColor','g','MarkerEdgeColor','k','MarkerSize',10)
212 %plot(xCGmaxC_mac,WmaxC,'o','MarkerFaceColor','y','MarkerEdgeColor','k','MarkerSize',10)
213 %plot(xCGpcFmin/mac,WpcFmin,'o','MarkerFaceColor','y','MarkerEdgeColor','k','MarkerSize',
10)
214 %plot(xCGpcRTmin/mac,WpcRTmin,'o','MarkerFaceColor','y','MarkerEdgeColor','k','MarkerSize',
10)
215
216 %set(hleg,'FontSize',12,'FontWeight','b')
217 xlabel('Posizione del baricentro [% mac]','FontSize',12,'FontWeight','b')
218 ylabel('Peso [kg]','FontSize',12,'FontWeight','b')
219 title('Diagramma di carico dei passeggeri','FontSize',14,'FontWeight','b')
07/07/06 4.07
220
221
222
223
224
225
226
227
228
229
230
231
232
grid
box on
set(gca,'XLim',[0.1 0.32],'LineWidth',1.5,'XTick',[0.1 0.15 0.2 0.25 0.3 0.32],...
'XTickLabel',[10 15 20 25 30 32])
set(gca,'YLim',[2.5e4 5.5e4],'LineWidth',1.5)
text(0.11,2.95e4,'W_E_O','Color','b','FontSize',15,'FontWeight','b')
text(0.11,5.1e4,'W_T_O','Color','r','FontSize',15,'FontWeight','b')
plot([0.1 0.32],[Weo Weo],'b-.','Linewidth',2)
plot([0.1 0.32],[WTO WTO],'r-.','Linewidth',2)
5 of 5
07/07/06 4.07
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
%xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx%
% Discretizzazione ala
% numero di tratti in cui viene suddivisa l'ala
% coordinata adimensionale del profilo lungo l'apertura dell'ala
%
% Inizializzazione
%
1 of 2
07/07/06 4.07
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
end
end
%Volume del serbatoio alare (ALA COMPLETA)===%
%
%============================================%
2 of 2
C09
07/07/06 4.08
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
% Flessibilit
%
% Il pogramma seguente traccia il diagramma di flessibilit della
% configurazione scelta
clc
clear all
global ft2m nm2m lb2kg g d2r r2d in2m
% Costanti & fattori di conversione
%..........................................................................
% 1 ft = 0.3048 m
% 1 n.m. = 1852 m
% 1 lb = 0.45359237 kg
% accelerazione gravitazionale [m/s2]
% fattore di conversione deg --> rad
% fattore di conversione rad --> deg
% 1 in = 0.0254 m
%..........................................................................
%
% Payload
----------- D
I -----------
%
%
%
%
%
numero di mach
tratta di diversione [m]
quota crociera di diversione [m]
durata attesa di diversione [s]
quota attesa diversione [m]
% 2. Diversione
load './config/config.mat'
iM=3,iAR=3,it_c=3,iKS=8
1 of 4
07/07/06 4.08
2 of 4
59
60
61
62
63
64
65
66
67
68
69
70
71 Wtank =config(iM,iAR,it_c).wing(iKS,27)*ro_fuel%-0.5*config(iM,iAR,it_c).wing(iKS,28))
*ro_fuel
72
73 % Nota. Nel resto del programma con Wfin si indica lo "zero fuel weight"
74
75
76 %- A 77
78 [WinA,WrisA] = Win_flex(Hdiv, Xdiv, tloi_mis, Hloi_mis, Mdiv, tloi_div,...
79
80
81 [XA,WrisA] = X_flex(M, Hcr, Hdiv, Xdiv, tloi_mis, Hloi_mis, Mdiv, ...
82
83 %- B 84
85
86 [XB,WrisB] = X_flex(M, Hcr, Hdiv, Xdiv, tloi_mis, Hloi_mis, Mdiv,...
87
88
89 %- C 90
91 WfinC = Wto - Wtank
92 [XC,WrisC] = X_flex(M, Hcr, Hdiv, Xdiv, tloi_mis, Hloi_mis, Mdiv,...
93
94
95 %- D 96 WinD = Weo + Wtank
97 WfinD = Weo
98 [XD,WrisD] = X_flex(M, Hcr, Hdiv, Xdiv, tloi_mis, Hloi_mis, Mdiv,...
99
100
101 % GRAFICO DEI RISULTATI
102 hold on
103
104 % Zero fuel Weight
105 plot([0 XB],[WfinA WfinB],'b',[XB XC],[WfinB WfinC],'b',[XC XD],...
106
[WfinC WfinD],'b','Linewidth',2)
107 % Take-off Weight
108 plot([0 XB],[WinA WinB],'r',[XB XC],[WinB WinC],'r',[XC XD],[WinC WinD],...
109
'r','Linewidth'
110 % Landing Weight
111 plot([0 XB],[WfinA+WrisA WfinB+WrisB],':b',[XB XC],[WfinB+WrisB ...
112
WfinC+WrisC],':b',[XC XD],[WfinC+WrisC WfinD+WrisD],':b'
113
114 % Maximu Landing Weight
115 plot([0 4300],.92*[Wto Wto],'k-.','Linewidth',2)
07/07/06 4.08
3 of 4
116
117 % Peso operativo
118 plot([0 XB],[Weo+WrisA Wto-WVLP],'g',[XB XC],[Wto-WVLP Weo+Wtank],...
119
'g',[XC XD],[Weo+Wtank Weo+Wtank],'g','Linewidth',2)
120 plot([XD 4300],[Weo+Wtank Weo+Wtank],':g')
121
122 %Peso a vuoto operativo
123 plot([0 4300],[Weo Weo],'b-.','Linewidth',2)
124
125 %Peso massimo al decollo
126 plot([0 4300],[Wto Wto],'r-.','Linewidth',2)
127
128 %Design point
129
130
131 plot([Xdes Xdes],[2.5e4 Wdes],'--m',[0 Xdes],[Wdes Wdes],'--m')
132 plot(Xdes,Wdes,'o','MarkerFaceColor','m','MarkerEdgeColor','k','MarkerSize',10)
133
134 % Assi verticali
135 plot([XB XB],[2.5e4 5.2e4],':k',[XC XC],[2.5e4 5.2e4],':k',[XD XD],[2.5e4 5.2e4],':k')
136
137 %grid
138 box on
139 set(gca,'XLim',[0 4000],'LineWidth',1.5)
140 set(gca,'YLim',[2.5e4 5.2e4],'LineWidth',1.5)
141
142 xlabel('Tratta di crociera [nm]','FontSize',12,'FontWeight','b')
143 ylabel('Peso [kg]','FontSize',12,'FontWeight','b')
144 title('Diagramma di flessibilit','FontSize',14,'FontWeight','b')
145
146 text(100,0.92*Wto,'Maximum Landing Weight','Color','k','FontSize',
8,'VerticalAlignment','bottom')
147 text(100,Wto,'Maximum Take-off Weight','Color','r','FontSize',
8,'VerticalAlignment','bottom')
148 text(100,Weo,'Operational Empty Weight','Color','b','FontSize',
8,'VerticalAlignment','bottom')
149 text(1500,4.90e4,'Take-off Weight','Color','r','FontSize',
10,'VerticalAlignment','bottom','FontWeight','b')
150 text(750,3.5e4,'Operatig Weight','Color','g','FontSize',
10,'VerticalAlignment','bottom','FontWeight','b','rotation',24)
151 text(1650,3.75e4,'Zero Fuel Weight','Color','b','FontSize',
10,'VerticalAlignment','bottom','FontWeight','b','rotation',-16)
152 text(1500,4.12e4,'Landing Weight','Color','b','FontSize',
8,'VerticalAlignment','bottom','rotation',-18)
153
154 %freccie
155 annotation('doublearrow',[0.3575 .3575],[0.545 0.6055],'color','b'
156 annotation('doublearrow',[0.87 .87],[0.215 0.610],'color','g'
157
158 text(780,39500,'Reserve Fuel Weight','Color','b','FontSize',
8,'VerticalAlignment','bottom','rotation',90)
159 text(2385,3.3e4,'Useful Fuel Capacity','Color','g','FontSize',
8,'VerticalAlignment','bottom','rotation',90)
160 text(Xdes,Wdes,'
\leftarrow Design Point','Color','m','FontSize',8,'FontWeight','b')
161 text(XB,Weo,'L_1 ','VerticalAlignment','top','HorizontalAlignment','right')
162 text(Xdes,Weo,' L_D_E_S','VerticalAlignment','top','HorizontalAlignment','left')
163 text(XC,Weo,'L_2 ','VerticalAlignment','top','HorizontalAlignment','right')
164 text(XD,Weo,' L_3','VerticalAlignment','top','HorizontalAlignment','left')
07/07/06 4.08
165
166
167
168
169
170
171
4 of 4
07/07/06 4.08
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
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
Input
----Hdiv:
Xdiv:
tloi_mis:
Hloi_mis:
Mdiv:
tloi_div:
Hloi_div:
CD0, K:
kSFC,mBPR :
Wto:
S:
Output
-----Win: Landing Weight per un tratto nullo di crociera
Wris: Riserve necessarie per la diversione
|--------------------------|
|Schema delle fasi di volo |
|--------------------------|
3 _________________ 4
/
\
/
\
/
\
8 _____ 9
/
\
/
\
/
5
/
10
/
(())
/
((()))
/
6__/
11
1____/ 2
\____7
\__
1 of 2
07/07/06 4.08
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
A
T
T
E
S
A
C
R
O
C
I
E
R
A
2 of 2
07/07/06 4.08
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
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
mach di volo
quota di crociera [m]
quota crociera di diversione [m]
lunghezza tratta di diversione [m]
durata attesa missione [s]
quota attesa missione [m]
mach di volo in diversione
durata attesa diversione [s]
quota attesa diversione [m]
coefficienti della polare del velivolo
coefficienti relativi al motore (pag 28 Fanteria)
Peso al decollo [kg]
Zero fuel weight [kg]
superficie alare di riferimento [m]
Output
-----X: lunghezza tratta di crociera
Wris: Carburante necessario per le riserve
|--------------------------|
|Schema delle fasi di volo |
|--------------------------|
3 _________________ 4
/
\
/
\
/
\
8 _____ 9
/
\
/
\
/
5
/
10
/
(())
/
((()))
/
6__/
11
1____/ 2
\____7
\__
1 of 3
07/07/06 4.08
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
A
T
T
E
S
A
C
R
O
C
I
E
R
A
2 of 3
07/07/06 4.08
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
%
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
%
%
%
%
%
% Pressione dinamica [Pa]
%
%
% Consumo specifico [1/s]
%
%
% Calcolo frazione di combustibile
%
%
%
%
%-----------------------------------------------------------------------%
end
%
A
T
T
E
S
A
end
% Decollo (1-2)
% Salita (2-3)
% Crociera (3-4):
%
%
% Propriet atmosfera standard alla quota di crociera
%
%
% Velocit di volo [m/s]
%
%
% Pressione dinamica [Pa]
%
%
% Consumo specifico [1/s]
%
%
%-----------------------------------------------------------------------%
X = ((M*a_cr)/(SFC_cr*sqrt(K*CD0)))*atan((((W3/S)/(q_cr*sqrt(CD0/K)))*...
C
R
O
C
I
E
R
A
3 of 3
C10
07/07/06 4.09
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
1 of 4
07/07/06 4.09
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
for iCL=1:length(CLv)
for iM=1:length(Mv)
2 of 4
07/07/06 4.09
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
for iM=1:length(Mv)
% Plottaggio
figure(2)
plot(CD,CLv,colore(iM),'LineWidth',1.5)
3 of 4
07/07/06 4.09
175
176
177
178
179
180
181
182
183
184
185
186
187
4 of 4
hold on
end
Mmin = sprintf('%0.2g'
legenda = legend(['M=0 to M=', num2str(Mmin)], ['M = ', num2str(Mv(2))], ...
['M = ', num2str(Mv(3))], ['M = '
set(legenda,'FontSize',8,'FontWeight','b')
title('Effetto del numero di Mach sulla forma della polare','FontSize',12,'FontWeight','b')
xlabel('C_D','FontSize',12,'FontWeight','b')
ylabel('C_L','FontSize',12,'FontWeight','b','Rotation',0)
grid
box on
set(gca,'LineWidth',1)
07/07/06 4.10
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
%
%
%
%
%
%
%
%
%
%
%
%
%
%
% Calcolo coefficiente C1
C1 = interp2(x,y,z,lambdaW,AR,'cubic'
% Calcolo coefficiente C2 e fattori di correzione dovuti a viscosit e twist
1 of 1
C11
07/07/06 4.11
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
% Caratteristiche di sollecitazione
%
% Il programma trova le CDS per ogni configurazione e le salva nel file CDS
clc
clear all
load load_factor
for i=1:3
for j=1:3
1 of 2
07/07/06 4.11
59
60
61
62
63
64
65
66
67 end
68 end
69
70 save('CDS','CDS','M','nz','W','EAS','sweep50e')
71
2 of 2
07/07/06 4.11
1 of 2
07/07/06 4.11
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
% ALLUNGAMENTO ALARE
% ANGOLO DI FRECCIA
% Freccia al 25% della corda
2 of 2
07/07/06 4.11
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
%
%
%
%
%
%
%
clc
clear all
load CDS
% accelerazione gravitazionale [m/s2]
load './config/config.mat'
iM=3,iAR=3,it_c=3,iKS=8
% semiapertura motore
%Posizione dell'attacco del carrello dall'asse di fus
for i=1:3
for j=1:3
fase = ['Decollo
' 'Crociera
' 'Atterraggio '
velocita = ['Va/Vb)' 'Vc)
' 'Vd)
'
disp('CONFIGURAZIONE DI MASSIMA SOLLECITAZIONE')
1 of 3
07/07/06 4.11
59 fprintf('\n')
60
61 disp(['Fase di volo:
' fase(imax1,:) '(velocit = ' velocita(jmax1,:)])
62
63 fprintf('Mach di volo:
M = %4.3f \n',M(imax1,jmax1))%,disp('jj')
64 fprintf('EAS:
%4.3f m/s \n',EAS(imax1,jmax1))
65 fprintf('Fattore di carico: nz = %1.2f \n',nz(imax1,jmax1))
66 fprintf('Peso:
%4.0f kg \n',W(imax1,jmax1)/g)
67
68 fprintf('\n')
69 fprintf('\n')
70
71 disp(['SEZIONE AL ' num2str(Xsect1*100) '%'
72 fprintf('Momento flettente = %4.3e N*m \n',(maxMf1))
73
74 fprintf('\n')
75
76 disp(['SEZIONE AL ' num2str(Xsect2*100) '%'
77 fprintf('Momento flettente = %4.3e N*m \n',(maxMf2))
78
79 % PLOTTAGGIO DEI RISULTATI
80
81 c1 = menu({'Scegliere una fase di volo' 'chiudere per avere condizioni di max
sollecitazione'},'Decollo','Crociera','Atterraggio'
82 c2 = menu({'Scegliere una velocit di volo' 'chiudere per avere condizioni di max
sollecitazione'},'Va/Vb','Vc','Vd'
83 if
84
85 end
86 if c2==0
87
88 end
89
90
91 figure(1)
92 plot(CDS(c1,c2).eta(indR:end),CDS(c1,c2).Mf(indR:end),'r','linewidth',1.5)
93 title('Momento Flettente','FontSize',14,'FontWeight','b')
94 xlabel('\eta','FontSize',12,'FontWeight','b')
95 ylabel('M_f [N*m]','FontSize',12,'FontWeight','b')
96 box on
97 set(gca,'linewidth',1.5)
98 line([0.125 1],[0 0],'color','k','Linestyle',':')
99
100
101 figure(2)
102 plot(CDS(c1,c2).eta(indR:end),CDS(c1,c2).T(indR:end),'linewidth',1.5)
103 title('Taglio','FontSize',14,'FontWeight','b')
104 xlabel('\eta','FontSize',12,'FontWeight','b')
105 ylabel('T [N]','FontSize',12,'FontWeight','b')
106 box on
107 set(gca,'linewidth',1.5)
108 line([0.125 1],[0 0],'color','k','Linestyle',':')
109
110 figure(3)
111 title('Distribuzione dei Carichi','FontSize',14,'FontWeight','b')
112 xlabel('\eta','FontSize',12,'FontWeight','b')
113 ylabel('q [N/m]','FontSize',12,'FontWeight','b')
114 hold on
2 of 3
07/07/06 4.11
3 of 3
115 box on
116 qq = plot(CDS(c1,c2).eta(indR:end),-CDS(c1,c2).q_s(indR:end),...
117
CDS(c1,c2).eta(indR:end),-CDS(c1,c2).q_f(indR:end),...
118
CDS(c1,c2).eta(indR:end),CDS(c1,c2).q_l(indR:end),...
119
120 set(qq,'linewidth',1.5)
121
122
123 line([Xhlg Xhlg],[0 -CDS(c1,c2).Cc1/2],'linewidth',2,'linestyle','-.')
124 line([Xbeng Xbeng],[0 -CDS(c1,c2).Cc2/2],'linewidth',2,'linestyle','-.','color','r')
125
126 plot(Xhlg,-CDS(c1,c2).Cc1/2,'v','MarkerFaceColor','b','MarkerEdgeColor','k','MarkerSize',
10)
127 plot(Xbeng,-CDS(c1,c2).Cc2/2,'v','MarkerFaceColor','r','MarkerEdgeColor','k','MarkerSize',
10)
128 line([0.125 1],[0 0],'color','k')
129 hleg = legend('q_s_t_r_u_c_t','q_f_u_e_l','q_l_i_f_t','q_g_l_o_b_a_l'
130 set(hleg,'FontSize',10,'FontWeight','b')
131
132 text(Xbeng,0,[' F_e_n_g_ = ' num2str(CDS(c1,c2).Cc2,'%10.0f') '
N'],'Color','r','FontSize',8,'VerticalAlignment','middle','rotation',90)
133 text(Xhlg,0,[' F_g_e_a_r = ' num2str(CDS(c1,c2).Cc1,'%10.0f') ' N'],'Color','b','FontSize',
8,'VerticalAlignment','middle','rotation',90)
134
07/07/06 4.12
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
%
%
%
%
%
%
%
Diagramma di manovra
-------------------Il programma seguente plotta i diagrammi di manovra relativi a tre
condizioni di volo e quindi tre pesi diversi.
Salva poi i risultati che trova sui fattori di carico e velocit
equivalenti nel file load_factor.mat
clc
clear all
global ft2m nm2m lb2kg g d2r r2d in2m
% Costanti & fattori di conversione
%..........................................................................
% 1 ft = 0.3048 m
% 1 n.m. = 1852 m
% 1 lb = 0.45359237 kg
% accelerazione gravitazionale [m/s2]
% fattore di conversione deg --> rad
% fattore di conversione rad --> deg
% 1 in = 0.0254 m
%..........................................................................
load './config/config.mat'
iM=3,iAR=3,it_c=3,iKS=8
% Coefficiente di
%
%
%
1 of 4
07/07/06 4.12
2 of 4
07/07/06 4.12
3 of 4
109 figure(6)
110 plot_inviluppo(h, W, M, S, CLmax0, CLmaxF, CLmin, conf,nzBup2,nzCup2,nzDup2,nzDdo2,nzCdo2,
nzBdo2,EAS_B2)
111 xlabel('Equivalent Air Speed
[m/s]','FontSize',12,'FontWeight','b')
112 ylabel('Load Factor
n_z','FontSize',12,'FontWeight','b')
113 title(['Inviluppo di volo ' 'h = ' num2str(h) ' W = W_D_E_S'],'FontSize',
14,'FontWeight','b')
114
115 % CONDIZIONE 3 - Diagrammi in atterraggio
116 figure(7)
117
118
119
120
121
122 xlabel('Equivalent Air Speed
[m/s]','FontSize',12,'FontWeight','b')
123 ylabel('Load Factor
n_z','FontSize',12,'FontWeight','b')
124 title(['Diagramma di manovra ' 'h = ' num2str(h) ' W = W_E_O+W_p_a_y'],'FontSize',
14,'FontWeight','b')
125 figure(8)
126 [nzBup3,nzCup3,nzDup3,nzDdo3,nzCdo3,nzBdo3,EAS_B3]=plot_raffica(h, W, M, S, CLmax0, AR,
127 xlabel('Equivalent Air Speed
[m/s]','FontSize',12,'FontWeight','b')
128 ylabel('Load Factor
n_z','FontSize',12,'FontWeight','b')
129 title(['Diagramma di raffica ' 'h = ' num2str(h) ' W = W_E_O+W_p_a_y'],'FontSize',
14,'FontWeight','b')
130 figure(9)
131 plot_inviluppo(h, W, M, S, CLmax0, CLmaxF, CLmin, conf,nzBup3,nzCup3,nzDup3,nzDdo3,nzCdo3,
nzBdo3,EAS_B3)
132 xlabel('Equivalent Air Speed
[m/s]','FontSize',12,'FontWeight','b')
133 ylabel('Load Factor
n_z','FontSize',12,'FontWeight','b')
134 title(['Inviluppo di volo ' 'h = ' num2str(h) ' W = W_E_O+W_p_a_y'],'FontSize',
14,'FontWeight','b')
135
136 % Per la successiva analisi dei carichi si vanno a riassumere le condizioni
137 % di carico in una matrice. Per quanto riguarda i punti A e B si sceglie
138 % tra i due quello che comporta una situazione di carico + gravosa
139
140
141
142
143
144
145
146
147
148
149 for i=1:3
150
151 if nzBv(i)>2.5
152
153
154 else
155
156
157 end
158
159 if nzCv(i)>2.5
07/07/06 4.12
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
else
end
if nzDv(i)>2.5
else
end
end
save('load_factor','nzTO','nzCR','nzLA','EASto','EAScr','EASla')
4 of 4
07/07/06 4.12
1 of 4
07/07/06 4.12
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
% DISTRIBUZIONE DI CORDA
% ----------------------
% PARAMETRI
% --------% coefficiente di comprimibilit
% freccia alare corretta per gli effetti di comprimibilit
end
% DISTRIBUZIONE DI SVERGOLAMENTO
% -----------------------------switch lower(twist_law)
case 'linear'
% distribuzione lineare
case 'quadratic'
% distribuzione quadratica
case 'cubic'
% distribuzione cubica
2 of 4
07/07/06 4.12
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
otherwise
end
% PARAMETRO DI SIMILITUDINE
% -------------------------
% COEFFICIENTI DI DIEDERICH
% ------------------------% C1:
C1 = b*x + a*x^2
% C3:
C3 = b*x + a*x^2
% C2:
C2 = 1 - C1 - C3
% C4
ff = [1.27
0.90
0.64
1.27
0.98
0.82
1.25
1.11
1.04
1.17
1.27
1.28
1.02
1.19
1.27
0.76
0.90
0.95
0.00
-0.09
-0.08
% CALCOLO f(LAM_beta,etha)
for j=1:length(ystar)
fbase(j) = interp1(Lambda_e,ff(:,j),LAM_beta,'linear'
end
f = interp1(ystar,fbase,etha,'spline'
%
%
%
%
DISTRIBUZIONE DI PORTANZA
------------------------DISTRIBUZIONE DI PORTANZA AGGIUNTIVA
coefficiente di Anderson La
3 of 4
07/07/06 4.12
173
174
175
176
177
178
179
180
181
182
183
4 of 4
07/07/06 4.12
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
clc
clear all
global ft2m nm2m lb2kg g d2r r2d in2m
% Costanti & fattori di conversione
%..........................................................................
% 1 ft = 0.3048 m
% 1 n.m. = 1852 m
% 1 lb = 0.45359237 kg
% accelerazione gravitazionale [m/s2]
% fattore di conversione deg --> rad
% fattore di conversione rad --> deg
% 1 in = 0.0254 m
%..........................................................................
load './config/config.mat'
iM=3,iAR=3,it_c=3,iKS=8
1 of 5
07/07/06 4.12
59 % ------------------------------------60 [S_e, cRe, cCLe, lambda_e, AR_e, sweep25e, sweepLEe, sweepTEe, sweep50e, mac_e,
...
61
62
63 load load_factor
64 % Coefficienti di portanza delle varie configurazioni
65
66 % Configurazione 1. Decollo
67
68
69 for i =1:3
% coefficiente di portanza
70
velivolo
% coefficiente di portanza
71
72
73
74 end
75
76 % Configurazione 2. Crociera
77
78
79 for i =1:3
% coefficiente di portanza
80
velivolo
81
% coefficiente di portanza
82
83
84 end
85
86 % Configurazione 3. Atteraggio
87
88
89 for i =1:3
% coefficiente di portanza
90
velivolo
91
% coefficiente di portanza
92
93
94 end
95
96 CL_to
97
98 % CALCOLO DELLA DISTRIBUZIONE DI PORTANZA IN ALA
99 % ==============================================
100 % Geometria dell'ala trapezia equivalente
101
102
103
104
105 % Svergolamento alare (tip nose down) [deg]
106
107 % Distribuzione di svergolamento
108 twist_law = 'cubic'
109 % Pendenza teorica della curva di portanza dell'ala
110
111 % Pendenza teorica della curva di portanza del profilo alare
112
2 of 5
meanc_e] =
del
dell'ala
del
dell'ala
del
dell'ala
07/07/06 4.12
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
% 1. DECOLLO
% ---------% CONFIGURAZIONE CORRISPONDENTE A VA O A VB
[eta_to1, Clxc_to1, Cl_to1, Claxc_to1, Cla_to1, Clbxc_to1, Clb_to1] = ...
% CONFIGURAZIONE CORRISPONDENTE A VC
[eta_to2, Clxc_to2, Cl_to2, Claxc_to2, Cla_to2, Clbxc_to2, Clb_to2] = ...
% CONFIGURAZIONE CORRISPONDENTE A VD
[eta_to3, Clxc_to3, Cl_to3, Claxc_to3, Cla_to3, Clbxc_to3, Clb_to3] = ...
% 2. CROCIERA
% ----------% CONFIGURAZIONE CORRISPONDENTE A VA O A VB
[eta_cr1, Clxc_cr1, Cl_cr1, Claxc_cr1, Cla_cr1, Clbxc_cr1, Clb_cr1] = ...
% CONFIGURAZIONE CORRISPONDENTE A VC
[eta_cr2, Clxc_cr2, Cl_cr2, Claxc_cr2, Cla_cr2, Clbxc_cr2, Clb_cr2] = ...
% CONFIGURAZIONE CORRISPONDENTE A VD
[eta_cr3, Clxc_cr3, Cl_cr3, Claxc_cr3, Cla_cr3, Clbxc_cr3, Clb_cr3] = ...
% 3. ATTERRAGGIO
% -------------% CONFIGURAZIONE CORRISPONDENTE A VA O A VB
[eta_la1, Clxc_la1, Cl_la1, Claxc_la1, Cla_la1, Clbxc_la1, Clb_la1] = ...
% CONFIGURAZIONE CORRISPONDENTE A VC
[eta_la2, Clxc_la2, Cl_la2, Claxc_la2, Cla_la2, Clbxc_la2, Clb_la2] = ...
% CONFIGURAZIONE CORRISPONDENTE A VD
[eta_la3, Clxc_la3, Cl_la3, Claxc_la3, Cla_la3, Clbxc_la3, Clb_la3] = ...
%
%
%
%
157
158
159
...
160
161
162
...
163
164
3 of 5
07/07/06 4.12
4 of 5
165
166
167 for j = 1:9
168
169
170
171
172
173
174
175
176
figure
177
subplot(2,1,1) % Distribuzione del coefficiente di portanza in apertura
178
hplot = plot(eta_plot,Cl_plot,eta_plot,Cla_plot,'r',eta_plot,Clb_plot,'g'
179
set(hplot,'LineWidth',1)
180
title('Distribuzione di portanza in apertura:
C_l(\eta)','FontSize',
10,'FontWeight','b')
181
xlabel('\eta','FontSize',10,'FontWeight','b')
182
ylabel('C_l(\eta)','FontSize',10,'FontWeight','b')
183
hleg = legend('C_l(\eta)','C_l_A(\eta)','C_l_B(\eta)'
184
set(hleg,'FontSize',10,'FontWeight','b')
185
box on
186
set(gca,'LineWidth',1)
187
grid
188
189
subplot(2,1,2) % Distribuzione del prodotto coefficiente di portanza x corda in
apertura
190
hplot = plot(eta_plot,Clxc_plot,eta_plot,Claxc_plot,'r',eta_plot,Clbxc_plot,'g'
191
set(hplot,'LineWidth',1)
192
title('Distribuzione di portanza in apertura:
C_l(\eta) x c(\eta)','FontSize',
10,'FontWeight','b')
193
xlabel('\eta','FontSize',10,'FontWeight','b')
194
ylabel('C_l(\eta) x c(\eta)','FontSize',10,'FontWeight','b')
195
hleg = legend('C_l(\eta) x c(\eta)','C_l_A(\eta) x c(\eta)','C_l_B(\eta) x c(\eta)'
196
set(hleg,'FontSize',10,'FontWeight','b')
197
box on
198
set(gca,'LineWidth',1)
199
200
201
axis([0 1 yplot_min yplot_max])
202
grid
203 end
204
205 figure(1)
206 subplot(2,1,1)
207 title('DECOLLO (Configurazione corrispondente a V_A o V_B):
C_l(\eta)','FontSize',
10,'FontWeight','b')
208 subplot(2,1,2)
209 title('DECOLLO (Configurazione corrispondente a V_A o V_B):
C_l(\eta) x c
(\eta)','FontSize',10,...
210
'FontWeight','b')
211 figure(2)
212 subplot(2,1,1)
213 title('DECOLLO (Configurazione corrispondente a V_C):
C_l(\eta)','FontSize',
10,'FontWeight','b')
214 subplot(2,1,2)
215 title('DECOLLO (Configurazione corrispondente a V_C):
C_l(\eta) x c(\eta)','FontSize',
10,'FontWeight','b')
07/07/06 4.12
5 of 5
216 figure(3)
217 subplot(2,1,1)
218 title('DECOLLO (Configurazione corrispondente a V_D):
C_l(\eta)','FontSize',
10,'FontWeight','b')
219 subplot(2,1,2)
220 title('DECOLLO (Configurazione corrispondente a V_D):
C_l(\eta) x c(\eta)','FontSize',
10,'FontWeight','b')
221 figure(4)
222 subplot(2,1,1)
223 title('CROCIERA (Configurazione corrispondente a V_A o V_B):
C_l(\eta)','FontSize',
10,'FontWeight','b')
224 subplot(2,1,2)
225 title('CROCIERA (Configurazione corrispondente a V_A o V_B):
C_l(\eta) x c
(\eta)','FontSize',10,...
226
'FontWeight','b')
227 figure(5)
228 subplot(2,1,1)
229 title('CROCIERA (Configurazione corrispondente a V_C):
C_l(\eta)','FontSize',
10,'FontWeight','b')
230 subplot(2,1,2)
231 title('CROCIERA (Configurazione corrispondente a V_C):
C_l(\eta) x c(\eta)','FontSize',
10,...
232
'FontWeight','b')
233 figure(6)
234 subplot(2,1,1)
235 title('CROCIERA (Configurazione corrispondente a V_D):
C_l(\eta)','FontSize',
10,'FontWeight','b')
236 subplot(2,1,2)
237 title('CROCIERA (Configurazione corrispondente a V_D):
C_l(\eta) x c(\eta)','FontSize',
10,...
238
'FontWeight','b')
239 figure(7)
240 subplot(2,1,1)
241 title('ATTERRAGGIO (Configurazione corrispondente a V_A o V_B):
C_l(\eta)','FontSize',
10,'FontWeight','b')
242 subplot(2,1,2)
243 title('ATTERRAGGIO (Configurazione corrispondente a V_A o V_B):
C_l(\eta) x c
(\eta)','FontSize',10,...
244
'FontWeight','b')
245 figure(8)
246 subplot(2,1,1)
247 title('ATTERRAGGIO (Configurazione corrispondente a V_C):
C_l(\eta)','FontSize',
10,'FontWeight','b')
248 subplot(2,1,2)
249 title('ATTERRAGGIO (Configurazione corrispondente a V_C):
C_l(\eta) x c
(\eta)','FontSize',10,...
250
'FontWeight','b')
251 figure(9)
252 subplot(2,1,1)
253 title('ATTERRAGGIO (Configurazione corrispondente a V_D):
C_l(\eta)','FontSize',
10,'FontWeight','b')
254 subplot(2,1,2)
255 title('ATTERRAGGIO (Configurazione corrispondente a V_D):
C_l(\eta) x c
(\eta)','FontSize',10,...
256
'FontWeight','b')
257
258
07/07/06 4.12
1 of 4
07/07/06 4.12
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
2 of 4
if h > htr
set(graf,'LineWidth',1,'color','b','linestyle',':')
hold on
if conf~=2
set(graf3,'LineWidth',1.5,'color','b','linestyle','--')
end
graf5=plot([0 EAS_B],[1 nzBup],[0 EAS_B],[1 nzBdo],[0 EASc],[1 nzCup],[0 EASc],[1 nzCdo],[0
113
114 set(gca,'LineWidth',1,'XLim',[0 270],'YLim',[-2 4],...
07/07/06 4.12
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
graf = plot(EAS1up,plot1up,'r','linewidth'
end
if (nzCup>2.5)|(nzBup<2.5)
if ((nzCup>2.5)&(nzBup>2.5))
plot([EAS1up(end) EASc],[plot1up(end) nzCup],'r','linewidth',2)
end
if (nzCup<2.5)
plot([EASa EASd],[2.5 2.5],'r','linewidth',2)
end
if (nzDdo>0)
else
end
plot([EASd EASd],[nzDup nzDdo1],'r','linewidth',2)
if nzCdo>-1
else
end
3 of 4
07/07/06 4.12
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
if (nzCdo<-1)&(nzDdo>0)
plot(EASdo,plotdo,'r','linewidth',2)
%==========================================================================
4 of 4
07/07/06 4.12
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
if conf~=2
if conf==1
elseif conf==3
end
end
if h > htr
1 of 3
07/07/06 4.12
59
60
% velocit di crociera equivalente
61
62 else
63
64 end
65
66
67 % velocit di picchiata equivalente (metodo 1)
68
69 % velocit di picchiata equivalente (metodo 2)
70
71 % velocit di picchiata equivalente
72
73
74
75
76
77
78
79
80
81
82
83
84 graf = plot(EAS1up,plot1up,[EASa EASd],[nz_max nz_max],...
85
[EASd EASd],[nz_max 0],EASdo,plotdo,[EASh EASc],[nz_min nz_min],...
86
87
88 set(graf,'LineWidth',1.5,'color','r')
89 hold on
90
91
92 set(gca,'LineWidth',1,'XLim',[0 270],'YLim',[-2 4],...
93
'YTick',[-2 -1.5 -1 -0.5 0 0.5 1 1.5 2 2.5 3 3.5 4])
94 plot([0 270],[0 0],'k')
95 graf2 = plot([0 EASd],[1 1],[EASs1 EASs1],[0 1],...
96
97 set(graf2,'LineWidth',1,'color','k','linestyle',':')
98 text(EASc+1,0,[' V_C = ' num2str(EASc,
3)],'VerticalAlignment','top','HorizontalAlignment','left','rotation',90)
99 text(EASs1+1,0,[' V_S_1 = ' num2str(EASs1,
2)],'VerticalAlignment','top','HorizontalAlignment','left','rotation',90)
100 text(EASd+1,0,[' V_D = ' num2str(EASd,
3)],'VerticalAlignment','top','HorizontalAlignment','left','rotation',90)
101 text(EASa+1,0,[' V_A = ' num2str(EASa,
3)],'VerticalAlignment','top','HorizontalAlignment','left','rotation',90)
102
103 if conf~=2
104
105
106
107 set(graf3,'LineWidth',1.5,'color','b','linestyle','--')
108
109 set(graf4,'LineWidth',1,'color','k','linestyle',':')
110 text(EASs0+1,0,[' V_S_0 = ' num2str(EASs0,
2)],'VerticalAlignment','top','HorizontalAlignment','left','rotation',90)
111 text(EASf+1,0,[' V_F = ' num2str(EASf,
2 of 3
07/07/06 4.12
3)],'VerticalAlignment','top','HorizontalAlignment','left','rotation',90)
112
113 end
114
3 of 3
07/07/06 4.12
1 of 3
07/07/06 4.12
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
2 of 3
%
%
%
%
%
%
%
%
% Vs1*sqrt(nG_C)
93
94 set(gca,'LineWidth',1,'XLim',[0 270],'YLim',[-2 4],...
95
'YTick',[-2 -1.5 -1 -0.5 0 0.5 1 1.5 2 2.5 3 3.5 4])
96 set(graf1,'LineWidth',1,'color','k','linestyle','-')
97 hold on
98
99
100 plot([0 270],[1 1],'k','linestyle','-.')
101
102 plot([EAS_B EAS_B],[nzBup nzBdo],'k','linestyle',':')
103
104 %plot([EASc 0],[nzCup nzCup],'k','linestyle',':')
105 %plot([EASd 0],[nzDup nzDup],'k','linestyle',':')
106 text(EAS_B+1,1,[' V_B = ' num2str(EAS_B,
3)],'VerticalAlignment','middle','HorizontalAlignment','left','rotation',90)
107 text(EAS_B,nzBup,[' nz = ' num2str(nzBup,
3)],'VerticalAlignment','bottom','HorizontalAlignment','right')
108 text(EASc,nzCup,[' nz = ' num2str(nzCup,
3)],'VerticalAlignment','top','HorizontalAlignment','right')
109 text(EASd,nzDup,[' nz = ' num2str(nzDup,
3)],'VerticalAlignment','bottom','HorizontalAlignment','right')
110
07/07/06 4.12
3 of 3
07/07/06 4.12
1 of 3
07/07/06 4.12
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
2 of 3
% root
% kink
% tip
%
%
%
% tip tank
%
%
% Bordi di attacco e di uscita delle varie sezioni del cassone
%
% Kink
%
%
%
% Tip
%
%
%
% Root
%
%
%
% Tip tank
%
%
%
%-------------------------------------------------------------------%
% Propriet dei profili alari --------------------------------------------%
%
% Profilo al root
%
root_sect_id = './airfoil_data/sc_root.dat'
%
%
% Profilo al kink
%
kink_sect_id = './airfoil_data/sc_kink.dat'
%
%
% Profilo al tip
%
tip_sect_id = './airfoil_data/sc_tip.dat'
%
%
%
%
% distanza percentuale del Tip Tank
%
%
for i=1:m
%
% Calcolo della geometria del profilo al TT
%
%
%
%
% Profilo alla radice dimensionato (c = cR)
%
%
%
%
end
%
%-------------------------------------------------------------------------%
106
107 [eta_fuelOUT,q_fuelOUT] = q_fuel_rel(cK, cTT, kink_sect, tiptank_sect, xtLE_K, xtLE_TT,
108
109
110
111 eta_fuel1 = [eta_fuelIN*dRK*2/(b),(eta_fuelOUT(2:end)*dKTT*2/b + eta_fuelIN(end)*dRK*2/b)]
112 %
07/07/06 4.12
113 %eta_fuelIN(1)
114 %eta_fuel1(1)
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
3 of 3
07/07/06 4.12
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
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
1 of 2
lunghezza della parte di ala considerata (da una sezione ad un'altra) [m]
corda all'estremit iniziale [m]
corda all'estremit finale [m]
propriet del profilo alare che si trova all'estremit iniziale
propriet del profilo alare che si trova all'estremit finale
posizione del bordo di attacco del cassone nel profilo maggiore
posizione del bordo di attacco del cassone nel profilo minore
posizione del bordo di uscita del cassone nel profilo maggiore
posizione del bordo di uscita del cassone nel profilo minore
numero dei punti in cui si valuta il contorno del profilo
Output
-----eta_fuel : ascissa curvilinea
q_fuel : carico distribuito
function [eta_fuel,q_fuel] = q_fuel_rel(c1, c2, sect1, sect2, xLE1, xLE2, xTE1, xTE2, m)
global g
%xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx%
%TESTER
%
%xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx%
% Discretizzazione ala
% numero di tratti in cui viene suddivisa l'ala
% coordinata adimensionale del profilo lungo l'apertura dell'ala
% Calcolo di ndsa
for j=1:n
for i=1:m
07/07/06 4.12
58
59
60
end
61
62
63
64 end
65
66
67
68
69
2 of 2
07/07/06 4.12
1 of 2
1 % Distribuzione di portanza
2 % ------------------------3 %
4 % Questa funzione fornisce gli input a diederich per il calcolo della
5 % portanza.
6 %
7 % Input
8 % ----9 %
W : peso [kg]
10 %
nz : fattore di carico
11 %
EAS : velocit equivalente [m/s]
12 %
b : apertura alare [m]
13 %
bK: apertura al kink [m]
14 %
etaR: posizione della radice dell'ala
15 %
cCL: corda sull'asse di fusoliera
16 %
cR: corda di radice
17 %
cK: corda al kink
18 %
cT: corda al tip
19 % sweepLE : angolo di freccia al bordo di attacco
20 %
M : mach di volo
21 %
S :superficie di riferimento
22 %
23 % Output
24 % -----25 %
eta_fuel : ascissa curvilinea
26 %
q_fuel : carico distribuito
27
28 function [eta_lift,q_lift,sweep50e] = q_portanza(W, nz, EAS, b, bK, etaR, cCL, cR,...
29
cK, cT, sweepLE,M,S)
30
31 % Densit dell'aria s.l.m.
32
33
34 % Calcolo dell'ala trapezia equivalente
35 % ------------------------------------36 [S_e, cRe, cCLe, lambda_e, AR_e, sweep25e, sweepLEe, sweepTEe, sweep50e, mac_e, meanc_e] =
...
37
38
39
% coefficiente di portanza del velivolo
% coefficiente di portanza dell'ala
40
41
42
43 % CALCOLO DELLA DISTRIBUZIONE DI PORTANZA IN ALA
44 % ==============================================
45 % Geometria dell'ala trapezia equivalente
46
47
48
49
50 % Svergolamento alare (tip nose down) [deg]
51
52 % Distribuzione di svergolamento
53 twist_law = 'quadratic'
54 % Pendenza teorica della curva di portanza dell'ala
55
56 % Pendenza teorica della curva di portanza del profilo alare
57
07/07/06 4.12
58
59 [eta_lift, Clxc, Cl, Claxc, Cla, Clbxc, Clb] = ...
60
61
62
2 of 2
07/07/06 4.13
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
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
Input
----cR : corda di radice
cK : corda al kink
cT : corda al tip
Ww : peso gruppo ala
S : superficie alare
dCLR : distanza asse fusoliera - radice
dRK : distanza radice kink
dKT : distanza kink tip
b : apertura alare
Output
-----eta_fuel : ascissa curvilinea
q_fuel : carico distribuito
% Discretizzazione ala
% numero di tratti in cui viene suddivisa l'ala
% coordinata adimensionale del profilo lungo l'apertura dell'ala
1 of 1
07/07/06 4.13
1 of 2
1 % Intensit di raffica
2 % -------------------3 %
4 % Il programma plotta l'andamento dell'intensita di raffica al variare
5 % della quota per le velocit di volo VB VC e VD
6
7 clear all
8 clc
9
10
11 % Dati
12 % ---13 % Quote connesse ai requisiti delle normative
14
15
16
17 % Quota
18
19
20 % Velocit derivate di raffica [ft/s]
21 % -----------------------------------------------------22 % Le velocit di raffica Ude equivalente sono espresse in termini di velocit equivalente e
fanno
23 % riferimento a una precisa velocit V
24
25
26
27 for j = 1:length(h_span)
28
% quota
29
30
if h <= h_gust1
31
% velocit equivalente di raffica per VB
32
% velocit equivalente di raffica per VC
33
% velocit equivalente di raffica per VD
34
elseif h > h_gust1 & h <= h_gust2
35
% velocit equivalente di raffica per VB
36
37
38
39
% velocit equivalente di raffica per VC
40
41
42
43
% velocit equivalente di raffica per VD
44
45
46
47
end
48
% Memorizzazione dei risultati
49
50
51
52 end
53
54 % PLOTTAGGIO DEI RISULTATI
55 % -----------------------56 figure(1)
57 plot(Ude_B_memo,h_span,Ude_C_memo,h_span,'r',Ude_D_memo,h_span,'g','LineWidth',2)
07/07/06 4.13
2 of 2
58 box on
59 title('Intensit di Raffica','FontSize',12,'FontWeight','b')
60 xlabel('Velocit di raffica
Ude [ft/s]','FontSize',12,'FontWeight','b')
61 ylabel('h
[ft]','FontSize',12,'FontWeight','b')
62 set(gca,'XTick',[0 12.5 25 38 50 66],'XTickLabel',[0 12.5 25 38 50 66],...
63
'YTick',[0 1e4 2e4 3e4 4e4 5e4],'YTickLabel',[0 1e4 2e4 3e4 4e4 5e4],'LineWidth',1)
64
65 text(20,3.5e4,'U_d_e @ V_B','Color','g','FontSize',
12,'VerticalAlignment','bottom','FontWeight','b','rotation',-66)
66 text(39,3.5e4,'U_d_e @ V_B','Color','r','FontSize',
12,'VerticalAlignment','bottom','FontWeight','b','rotation',-48)
67 text(53,3.5e4,'U_d_e @ V_B','Color','b','FontSize',
12,'VerticalAlignment','bottom','FontWeight','b','rotation',-45)
68
69 grid
07/07/06 4.13
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
%
%
%
%
%
clear all
clc
% Dati -------------------------------------------------------------------% Fattori di conversione
% Numero di Mach di crociera
% Densit dell'aria s.l.m.
% Quota di transizione per VC e VD: 20000 ft
%-------------------------------------------------------------------------%
%
%
%
%
for
% quota
% atmosfera standard
% numero di mach
% velocit di crociera vera
% velocit di crociera equivalente
EASc = Vc*sqrt(rho/rho0)
end
%
%
%
%
%
%
1 of 2
07/07/06 4.13
2 of 2
59
60
61
62
63
64 % VELOCITA' DI PICCHIATA VD
65 % ------------------------66 % Il valore della velocit di picchiata equivalente dato dal minimo tra:
67 % 1. velocit equivalente calcolata sulla base di un numero di mach pari a:
68 %
MD = MC*(1 + 0.07)
69 % 2. 1.25 volte la velocit equivalente di crociera corrispondente alla quota critica di
20000 ft
70
71
72 for j = 1:length(hd)
73
% quota
74
75
% atmosfera standard
76
77
% mach di picchiata
78
79
% velocit di picchiata equivalente (metodo 1)
80
81
% velocit di picchiata equivalente (metodo 2)
82
83
% velocit di picchiata equivalente
84
85
86
87
88 end
89
90 % PLOTTAGGIO DEI RISULTATI
91 % -----------------------92 figure(1)
93 plot(EASch,hc,EASdh,hd,'r')
94
95 set(hh,'Linestyle','-.','color','g')
96 hold on
97 axis([80 250 0 16e3])
98 title('Velocit di crociera e Velocit di picchiata','FontSize',12,'FontWeight','b')
99 xlabel('EAS
[m/s]','FontSize',12,'FontWeight','b')
100 ylabel('h
[m]','FontSize',12,'FontWeight','b')
101 hleg = legend('V_C','V_D'
102 set(hleg,'FontSize',12,'FontWeight','b')
103 figure(2)
104 plot(Mcv,hc,Mdv,hd,'r')
105 title('Mach di crociera e Mach di picchiata','FontSize',12,'FontWeight','b')
106 xlabel('M','FontSize',12,'FontWeight','b')
107 ylabel('h
[m]','FontSize',12,'FontWeight','b')
108 hleg = legend('M_C','M_D'
109 set(hleg,'FontSize',12,'FontWeight','b')
110
111 set(hh,'Linestyle','-.','color','g')
C12
07/07/06 4.14
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
% Plottaggio correnti
% ------------------%
% Il programma fornisce gli input alla funzione di plottaggio dei pannelli
clc
clear all
global ft2m nm2m lb2kg g d2r r2d in2m
% Costanti & fattori di conversione
%..........................................................................
% 1 ft = 0.3048 m
% 1 n.m. = 1852 m
% 1 lb = 0.45359237 kg
% accelerazione gravitazionale [m/s2]
% fattore di conversione deg --> rad
% fattore di conversione rad --> deg
% 1 in = 0.0254 m
%..........................................................................
load './config/config.mat'
iM=3,iAR=3,it_c=3,iKS=8
hb50 = 0.85*t50
hb60 = 0.85*t60
1 of 3
07/07/06 4.14
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
2 of 3
if
else
end
if
sezione='50%'
else
sezione='60%'
end
07/07/06 4.14
116
117
118
119
120
121
122
123
124
125
126
127
disp(sprintf('
delta_peso:
%1.3f', delta_peso))
3 of 3
07/07/06 4.14
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
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
larghezza cassone
larghezza cassone
altezza max cassone
altezza max cassone
sez
sez
sez
sez
al
al
al
al
50%
60%
50%
60%
1 of 2
07/07/06 4.14
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
%
%
%
% tip tank
%
%-------------------------------------------------------------------%
2 of 2
07/07/06 4.14
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
%
%
%
%
%
%
%
%
%
%
%
1 of 3
Output
-----K: coefficiente di instabilit locale corrispondente ai valori di h/b e ts/t
22
23 % K0 (Coefficiente di instabilit locale di una piastra semplicemente appoggiata su tutti i
lati)
24
25
26 % Matrice dei valori dei coefficienti di instabilit locale K adimensionalizzati con K0
27 %
---- H_B -->
28 %
|
29 % TS_T
30 %
|
31 %
v
32
33 K_K0 = [0.991436464 0.967127072 0.851657459 0.625414365 0.478729282 0.378176796 0.306353591
0.253314917 0.212707182 0.181491713 0.156629834 0.136464088 0.119889503 0.106353591 0.094751381
0.085082873 0.077071823 0.063535912 0.05359116
34
1
0.979834254 0.936464088 0.834530387 0.657734807 0.522651934 0.424861878
0.351933702 0.29640884 0.252762431 0.218508287 0.190607735 0.167679558 0.148618785 0.132872928
0.119337017 0.10801105 0.089502762 0.075414365
35
1.012707182 0.99558011 0.961325967 0.897237569 0.78839779 0.656353591 0.542541436
0.453314917 0.383701657 0.328729282 0.284530387 0.248618785 0.219337017 0.194751381 0.174309392
0.156629834 0.141712707 0.117679558 0.099171271
36
1.030110497 1.015745856 0.987292818 0.937569061 0.858287293 0.753314917 0.644198895
0.547790055 0.468508287 0.404143646 0.351381215 0.308287293 0.272651934 0.24281768 0.217403315
0.195856354 0.177624309 0.147790055 0.124861878
37
1.052209945 1.041436464 1.017679558 0.976243094 0.912154696 0.825138122 0.72679558
0.63121547 0.547237569 0.476243094 0.416850829 0.367403315 0.325966851 0.290883978 0.261325967
0.235911602 0.214088398 0.178453039 0.151381215
38
1.079281768 1.072928177 1.05359116 1.01878453 0.964088398 0.888674033 0.798895028
0.706353591 0.620165746 0.544751381 0.479834254 0.424861878 0.378453039 0.338950276 0.304972376
0.275966851 0.250828729 0.209944751 0.178176796
39
1.111325967 1.109668508 1.095303867 1.066022099 1.019060773 0.951657459 0.867955801
0.777624309 0.690055249 0.610773481 0.541436464 0.481491713 0.43038674 0.386464088 0.348618785
0.316022099 0.287845304 0.241436464 0.205524862
40
1.147513812 1.151104972 1.14198895 1.11878453 1.078453039 1.017955801 0.93839779
0.849171271 0.759668508 0.676519337 0.602486188 0.538121547 0.482320442 0.433977901 0.392541436
0.356353591 0.324861878 0.27320442 0.232872928
07/07/06 4.14
2 of 3
41
1.187569061 1.19640884 1.192541436 1.175690608 1.142541436 1.08839779 1.012707182
0.92320442 0.830939227 0.743646409 0.664640884 0.595303867 0.53480663 0.482320442 0.436740331
0.396961326 0.362430939 0.305248619 0.260773481
42
1.229834254 1.243922652 1.24558011 1.235359116 1.210220994 1.163812155 1.091712707
1.001381215 0.905524862 0.812983425 0.728729282 0.654143646 0.588674033 0.531491713 0.481767956
0.43839779 0.400552486 0.338121547 0.288950276
43
1.273756906 1.292541436 1.299171271 1.295303867 1.279005525 1.24281768 1.176243094
1.08480663 0.984254144 0.885911602 0.79558011 0.714917127 0.644198895 0.582320442 0.528453039
0.48121547 0.439779006 0.371546961 0.317955801
44
1.317679558 1.340055249 1.351104972 1.353038674 1.34558011 1.322651934 1.265469613
1.173480663 1.067679558 0.962707182 0.865469613 0.778729282 0.701933702 0.635082873 0.576519337
0.525138122 0.48038674 0.405801105 0.347513812
45
1.360220994 1.385359116 1.399171271 1.405524862 1.405248619 1.396685083 1.358563536
1.267679558 1.156077348 1.043646409 0.938950276 0.845027624 0.762430939 0.689779006 0.626243094
0.570718232 0.522099448 0.441436464 0.378176796
46
1.400552486 1.42679558 1.442541436 1.451657459 1.455801105 1.456077348 1.448618785
1.367679558 1.249723757 1.129005525 1.016298343 0.914917127 0.825414365 0.746961326 0.678176796
0.618232044 0.565469613 0.478176796 0.409668508
47
1.437845304 1.464364641 1.480662983 1.490883978 1.497237569 1.501104972 1.503038674
1.472651934 1.348618785 1.219060773 1.097237569 0.987845304 0.891160221 0.806353591 0.732320442
0.667403315 0.610497238 0.516298343 0.442265193
48
1.471546961 1.497237569 1.513535912 1.524033149 1.53121547 1.536464088 1.540055249
1.54281768 1.453038674 1.313812155 1.182596685 1.064364641 0.959944751 0.868508287 0.788674033
0.71878453 0.657458564 0.555801105 0.475966851
49
1.501381215 1.525966851 1.541712707 1.551933702 1.559392265 1.564640884 1.56878453
1.571823204 1.562983425 1.413259669 1.271823204 1.144198895 1.031767956 0.933149171 0.847237569
0.771823204 0.705801105 0.596685083 0.510773481
50
1.527900552 1.551104972 1.565745856 1.575690608 1.582596685 1.587569061 1.591712707
1.594751381 1.597237569 1.517403315 1.364917127 1.227900552 1.106629834 1.000828729 0.908287293
0.827348066 0.756353591 0.638950276 0.546961326
51
1.551104972 1.572651934 1.586187845 1.59558011 1.601933702 1.606906077 1.610497238
1.613259669 1.615469613 1.617403315 1.462430939 1.314917127 1.18480663 1.070994475 0.971546961
0.88480663 0.808839779 0.682872928 0.584254144
52
1.571546961 1.591436464 1.603867403 1.612430939 1.618508287 1.622651934 1.625966851
1.628729282 1.630662983 1.632320442 1.564088398 1.405524862 1.265745856 1.143922652 1.037292818
0.944475138 0.862983425 0.728453039 0.622928177
53
1.589226519 1.607458564 1.619060773 1.62679558 1.632320442 1.636187845 1.639226519
1.641712707 1.643370166 1.644751381 1.645856354 1.5
1.350276243 1.21961326 1.105524862
1.006353591 0.919337017 0.775690608 0.662983425
54
1.604696133 1.621546961 1.632320442 1.639226519 1.644198895 1.647790055 1.650552486
1.652486188 1.654143646 1.655248619 1.656353591 1.597790055 1.437569061 1.298066298 1.176519337
1.070441989 0.977624309 0.824309392 0.70441989
55
1.618232044 1.633701657 1.643370166 1.65
1.65441989 1.657734807 1.660220994
1.661878453 1.663259669 1.664364641 1.66519337 1.665745856 1.528453039 1.379281768 1.249723757
1.136464088 1.037845304 0.874861878 0.747237569
56
1.63038674 1.644475138 1.653314917 1.659116022 1.663259669 1.666298343 1.668508287
1.670165746 1.671270718 1.672099448 1.672928177 1.673480663 1.622375691 1.463535912 1.325414365
1.205248619 1.1
0.92679558 0.791436464
57
1.640883978 1.653867403 1.661878453 1.667127072 1.670994475 1.673756906 1.675690608
1.677071823 1.678176796 1.679005525 1.679558011 1.680110497 1.68038674 1.550552486 1.40359116
1.275966851 1.164364641 0.98038674 0.836740331
58
1.65
1.661878453 1.669337017 1.674309392 1.677624309 1.680110497 1.681767956
1.683149171 1.684254144 1.68480663 1.685359116 1.685911602 1.686187845 1.640331492 1.484530387
59
60
61 % Selezione dei parametri che definiscono il coefficiente d'instabilit locale per la
geometria assegnata
07/07/06 4.14
62
63
64
65
66
67
68 % rapporto K/K0
69
70 % coefficiente correttivo d'instabilit locale
71
3 of 3
07/07/06 4.14
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
%
%
%
%
%
%
%
%
%
%
%
%
1 of 3
Output
-----K: coefficiente di instabilit locale corrispondente ai valori di h/b
e ts/t
21
22 % Vettore di valori di TS/T (righe nella matrice dei valori di K/K0)
23 TS_T = [0.5 0.6 0.7 0.8 0.85 0.9 0.95 1 1.05 1.1 1.15 1.2 1.25 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2
24
25 % Coefficiente di instabilit locale di una piastra semplicemente appoggiata su tutti i
lati)
26
27
28 % Matrice dei valori dei coefficienti di instabilit locale K adimensionalizzati con K0
29 %
---- H_B -->
30 %
|
31 % TS_T
32 %
|
33 %
v
34
35 K_K0 = [1.087569061
1.073756906
1.063535912
1.054696133
1.046132597
1.036740331
1.025138122
1.008839779
0.944475138
0.804696133
0.693922652
0.60441989
0.53121547
0.470718232
0.419889503
0.37679558
0.340055249
0.308287293
0.280939227
0.25718232
0.236187845
36
1.139226519
1.120165746
1.106353591
1.095027624
1.084530387
1.074033149
1.062430939
1.048618785
1.03038674
1.003038674
0.954972376
0.849447514
0.748895028
0.664640884
0.593370166
0.533149171
0.481491713
0.437016575
0.398342541
0.365469613
0.335082873
37
1.198066298
1.174861878
1.157734807
1.143922652
1.132044199
1.120441989
1.108839779
1.09558011
1.080110497
1.060220994
1.033149171
0.994198895
0.936187845
0.858287293
0.77679558
0.702486188
0.636740331
0.579558011
0.529281768
0.485359116
0.44640884
38
1.259668508
1.233701657
1.214364641
1.199171271
1.186187845
1.174309392
1.162430939
1.149723757
1.135635359
1.119060773
1.098618785
1.071823204
1.036187845
0.98839779
0.928176796
0.859944751
0.790883978
0.725966851
0.666850829
0.613812155
0.566022099
39
1.290607735
1.263535912
1.243646409
1.228176796
1.214917127
1.202762431
1.191160221
1.179005525
1.165745856
1.150276243
1.131767956
1.108287293
1.078176796
1.038674033
0.987845304
0.927624309
0.862154696
0.796961326
0.735635359
0.679005525
0.627900552
40
1.320441989
1.293093923
1.272928177
1.25718232
1.243922652
07/07/06 4.14
2 of 3
1.232044199
1.220718232
1.209116022
1.19640884
1.182320442
1.165469613
1.144751381
1.11878453
1.085082873
1.04198895
0.989226519
0.929005525
0.865745856
0.803314917
0.744475138
0.690331492
41
1.349723757
1.322099448
1.301933702
1.286187845
1.272928177
1.261325967
1.250552486
1.239502762
1.227624309
1.214640884
1.199447514
1.18121547
1.158563536
1.129834254
1.09281768
1.046685083
0.99198895
0.931767956
0.870165746
0.809944751
0.753314917
42
1.377348066
1.350276243
1.330110497
1.314640884
1.301657459
1.290607735
1.280110497
1.269889503
1.258839779
1.246961326
1.233425414
1.217403315
1.197790055
1.172928177
1.141436464
1.101104972
1.052209945
0.995856354
0.935635359
0.875138122
0.816850829
43
1.403867403
1.377071823
1.357458564
1.342265193
1.329834254
1.319337017
1.309392265
1.299723757
1.289779006
1.279281768
1.267127072
1.253038674
1.236187845
1.214917127
1.188121547
1.15359116
1.110220994
1.058287293
1.000552486
0.940607735
0.880939227
44
1.429005525
1.402762431
1.383701657
1.36878453
1.35718232
1.346961326
1.337845304
1.329005525
1.320165746
1.310773481
1.300000000
1.287845304
1.273480663
1.255524862
1.232872928
1.20359116
1.166022099
1.120994475
1.064917127
1.005801105
0.945856354
45
1.452209945
1.427071823
1.408563536
1.394475138
1.383149171
1.373756906
1.36519337
1.357458564
1.349447514
1.341160221
1.332044199
1.321546961
1.309392265
1.294475138
1.275690608
1.251657459
1.219889503
1.180110497
1.128453039
1.071546961
1.011325967
46
1.474033149
1.449723757
1.432044199
1.418508287
1.40801105
1.399171271
1.391712707
1.384530387
1.377348066
1.370165746
1.362430939
1.35359116
1.343370166
1.33121547
1.316022099
1.296685083
1.270718232
1.235911602
1.190883978
1.137016575
1.077900552
47
1.494198895
1.470994475
1.454143646
1.441436464
1.431491713
1.423480663
1.416298343
1.409944751
1.403867403
1.397790055
1.391160221
1.383977901
1.375690608
1.365745856
1.353867403
1.33839779
1.318232044
1.290055249
1.251657459
1.202209945
1.144751381
48
1.512707182
1.490883978
1.474585635
1.462707182
1.45359116
1.446132597
1.439779006
1.434254144
1.429005525
1.423756906
1.418232044
1.412154696
1.405524862
1.397790055
1.38839779
1.37679558
1.361325967
1.340331492
1.309392265
1.266298343
1.212154696
49
1.545856354
1.525966851
1.511878453
1.501381215
1.493370166
1.487292818
1.482044199
1.477900552
1.474033149
1.470441989
1.466850829
1.462983425
1.458839779
1.454143646
1.448895028
1.442541436
1.434530387
1.424033149
1.409116022
1.385082873
1.344475138
50
1.573756906
1.556077348
1.543646409
1.534530387
1.527624309
1.522651934
1.51878453
1.515469613
1.512707182
1.510220994
1.50801105
1.505801105
1.503314917
1.500828729
1.497790055
1.494751381
1.490883978
1.486187845
1.480662983
1.472651934
1.459116022
51
1.597237569
1.581767956
1.570718232
1.562707182
1.556906077
1.552762431
1.549723757
1.547513812
1.54558011
1.543922652
1.542541436
1.541436464
1.540055249
1.538950276
1.537569061
1.535911602
1.534254144
1.532596685
1.53038674
1.527624309
1.524309392
52
1.616850829
1.603314917
1.593370166
1.586740331
1.581767956
1.578453039
1.575966851
1.574309392
1.57320442
1.572099448
1.571546961
1.570994475
1.570441989
1.569889503
1.569337017
1.56878453
1.568232044
1.567679558
1.566850829
1.566298343
1.56519337
53
1.633425414
1.621546961
1.612983425
1.606906077
1.602762431
1.600000000
1.598342541
1.596961326
1.596132597
1.595856354
1.59558011
1.595303867
1.595303867
1.595303867
1.595303867
1.595303867
1.595303867
1.595303867
1.595303867
1.595027624
1.595027624
54
1.647513812
1.636740331
1.629281768
1.624033149
1.620718232
1.618508287
1.616850829
1.616022099
1.615745856
1.615469613
1.615469613
1.615745856
1.615745856
1.616022099
1.616298343
1.616574586
1.616850829
07/07/06 4.14
3 of 3
1.617127072
1.617403315
1.617679558
1.617955801
55
1.659116022
1.649723757
1.643093923
1.638674033
1.635911602
1.633977901
1.632872928
1.632044199
1.632044199
1.632044199
1.632320442
1.632596685
1.632872928
1.633149171
1.633701657
1.633977901
1.634530387
1.63480663
1.635359116
1.635635359
1.635911602
56
1.681491713
1.674585635
1.66961326
1.666298343
1.664364641
1.663259669
1.662707182
1.662430939
1.662430939
1.662707182
1.662983425
1.663535912
1.663812155
1.664364641
1.664917127
1.665469613
1.666022099
57
58
59 % Selezione dei parametri che definiscono il coefficiente d'instabilit locale per la
geometria assegnata
60
61
62
63
64
65
66 % rapporto K/K0
67
68 % coefficiente correttivo d'instabilit locale
69
07/07/06 4.14
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
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
Output
-----Et: modulo di elasticit tangente
Es: modulo di elasticit secante
tau: coef. di correzione plastica
1 of 1
07/07/06 4.14
1 of 6
07/07/06 4.14
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
% correnti integrali
end
while abs((sigma-sigma1)/sigma1)>1e-3
% CICLO ITERATIVO PER LA CORREZIONE DI PLASTICITA'
% -----------------------------------------------% valore di inizio iterazione della tensione di progetto
2 of 6
07/07/06 4.14
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
pannello
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
3 of 6
switch choose_correnti
case 1
case 2
end
% valore di primo tentativo di alfa_b calcolato dalla geometria del
% rapporto t/t_mean
% rapporto rho/h
rho_h = sqrt((As_bt/(((1 + As_bt)^2)*(1 + 2*d_h)))*(1/3 +
case 2
% rapporto t/t_mean
% rapporto rho/h
end
% nuovo valore dell'efficienza strutturale
07/07/06 4.14
4 of 6
171
172
% valore di fine iterazione di alfa_b calcolato dalla geometria del
pannello
173
174
end
175
% Memorizzazione dell'efficienza strutturale per le coppie
176
177
% rapporto ts/t
178
179
% efficienza strutturale
% coefficiente d'instabilit locale
180
181
end
182
183
valore
184
% dell'efficienza strutturale
185
% efficienza strutturale
186
As_bt = As_bt_memo(pos_alfa_max)
187
% rapporto ts/t
188
% coefficiente d'instabilit locale
189
switch choose_correnti
190
case 1
191
192
case 2
193
194
end
195
196
% valore di fine iterazione della tensione di progetto
197
sigma1 = alfa*sqrt(N*E*tau/L)
198
end
199
200
% valore della tensione di progetto corretto per effetto della plasticit
201
202
203
% modulo di elasticit tangente e secante del materiale
204
205
206
% coefficiente correttivo di plasticit relativo alla tensione d'instabilit
euleriana
207
208
209
% coefficiente correttivo di plasticit relativo alla tensione d'instabilit locale
210
211
212
% GEOMETRIA DEL PANNELLO
213
% ---------------------214
% spessore medio irrigidimento + lamiera collaborante (lo ricavo dall'espressione
della tensione di
215
% collasso)
216
217
218
% spessore del rivestimento
219
220
221
% spessore irrigidimento
222
223
224
% rapporto t/b (lo ricavo dall'espressione della tensione d'instabilit locale)
07/07/06 4.14
5 of 6
225
226
227
% passo tra gli irrigidimenti
228
229
230
% altezza dell'irrigidimento
231
232
233
% posizione baricentro irrigidimento + lamiera collaborante
234
235
236
% valore di fine iterazione dell'altezza equivalente del cassone
237
238
239
% valore di fine iterazione dell'indice di carico
240
241 end
242
243
244 % VALORI AL TERMINE DELLA PROCEDURA ITERATIVA
245 % ------------------------------------------246 % parametri adimensionali del pannello
247
248
249
250 % efficienza strutturale
251
252 % indice di carico
253
254 % tensione di progetto [MPa]
255
256
257 % FATTORI DI CORREZIONE PLASTICA
258 % modulo di elasticit tangente e secante del materiale
259
260 % coefficiente di correlazione plastica
261
262 % coefficiente correttivo di plasticit relativo alla tensione d'instabilit euleriana
263
264 % coefficiente correttivo di plasticit relativo alla tensione d'instabilit locale
265
266
267 % GEOMETRIA DEL PANNELLO
268 % spessore medio irrigidimento + lamiera collaborante (dall'espressione della tensione di
collasso)
269
270 % spessore del rivestimento
271
272 % spessore irrigidimento
273
274 % altezza dell'irrigidimento
275
276 % lunghezza della flangia del corrente a Z
277
278 % posizione baricentro irrigidimento + lamiera collaborante
279
280 % valore di fine iterazione dell'altezza equivalente del cassone
281
07/07/06 4.14
6 of 6
07/07/06 4.15
1 of 4
07/07/06 4.15
irrigidito sono
58 % noti
59 switch choose_correnti
60
case 1 % CORRENTI A Z
61
% curve relative al coefficiente correttivo K (relative a d/h=0.3)
62
63
case 2 % CORRENTI INTEGRALI
64
% curve relative al coefficiente correttivo K
65
66 end
67
68
69 % MOMENTO FLETTENTE ESTREMO
70 % ------------------------% [N*mm]
71
72
73 % DIMENSIONI DEL CASSONE
74 % ---------------------75
% altezza del cassone [mm]
% larghezza del cassone [mm]
76
77
% lunghezza baia tra due centine [mm]
78
79 % DATI DI PRIMO TENTATIVO
80 % ----------------------81 % posizione baricentro irrigidimento + lamiera collaborante
82
83 % altezza equivalente del cassone
84
85 % indice di carico
86
87 % inizializzazione variabili
88
89
90 % CICLO ITERATIVO ESTERNO SUL FATTORE DI CARICO
91 % --------------------------------------------92 while abs((N-N1)/N1)>1e-3
93
94
% indice di carico all'inizio della generica iterazione
95
96
97
98
% CICLO ITERATIVO RELATIVO ALLA CORREZIONE DI PLASTICITA'
99
% -----------------------------------------------------100
% valore di primo tentativo tensione di progetto [MPa]
101
102
103
for i=1:1:500 % La differenza tra le 2 sigma oscilla intorno a 0.
104
% Per questo si usa il ciclo for
105
% Co 500 passi l'errore sulla 8 cifra decimale
106
107
108
% modulo di elasticit tangente e secante del materiale
109
110
111
tau
112
% valore di fine iterazione della tensione di progetto
113
114
sigma1-sigma0
2 of 4
07/07/06 4.15
3 of 4
115
end
116
117
118
% valore della tensione di progetto corretto per effetto della plasticit
119
120
121
% modulo di elasticit tangente e secante del materiale
122
123
124
% coefficiente correttivo di plasticit relativo alla tensione d'instabilit
euleriana
125
126
127
% coefficiente correttivo di plasticit relativo alla tensione d'instabilit locale
128
129
130
% GEOMETRIA DEL PANNELLO
131
% ---------------------132
% spessore medio irrigidimento + lamiera collaborante (dalla tensione di collasso)
133
134
135
% spessore del rivestimento
136
137
138
% spessore irrigidimento
139
140
141
% rapporto t/b (lo ricavo dall'espressione della tensione d'instabilit locale)
142
143
144
% passo tra gli irrigidimenti
145
146
147
% altezza dell'irrigidimento
148
149
150
% posizione baricentro irrigidimento + lamiera collaborante
151
152
153
% valore di fine iterazione dell'altezza equivalente del cassone
154
155
156
% valore di fine iterazione dell'indice di carico
157
158 end
159
160
161 % VALORI AL TERMINE DELLA PROCEDURA ITERATIVA
162 % ------------------------------------------163 % indice di carico
164
165 % tensione di progetoo [MPa]
166
167
168 % FATTORI DI CORREZIONE PLASTICA
169 % modulo di elasticit tangente e secante del materiale
170
171 % coefficiente di correlazione plastica
07/07/06 4.15
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
else
end
4 of 4
07/07/06 4.15
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
%
%
%
%
%
%
%
%
%
%
%
%
%
%
1 of 3
% PLOTTAGGIO
figure
hold on
zz = patch(polyZx,polyZy,'y','LineWidth',1.5,'FaceAlpha'
%panello
line([-b/2 b/2],[t/2 t/2],'Linewidth',1.5,'color','k'
line([-b/2 b/2],[-t/2 -t/2],'Linewidth',1.5,'color','k'
07/07/06 4.15
2 of 3
59
%anima
60
61
62
63
line(animaZx,animaZy,'Linestyle','-.'
64
65
% BARICENTRO
66
plot(CG(1),CG(2),'o','MarkerFaceColor','b','MarkerEdgeColor','b','MarkerSize',7)
67
68
69
% CORRENTI INTEGRALI
70
% -----------------71
case 2
72
% BARICENTRO LAMIERA + CORRENTE
73
74
75
% PLOTTAGGIO
76
figure
77
78
hold on
79
80
81
82
83
axis([xmin_plot xmax_plot ymin_plot ymax_plot])
84
grid minor
85
box on
86
xlabel('mm','FontSize',10,'FontWeight','b')
87
ylabel('mm','FontSize',10,'FontWeight','b')
88
text((ts/2+2),CG(2),'C.G.','FontSize',10,'FontWeight','b')
89
axis equal
90
91
%corrente I
92
93
94
95
patch(polyIx,polyIy,[1 0.5 0],'LineWidth',1.5,'FaceAlpha',0.7,'Edgecolor','none')
96
97
line([-b/2 b/2],[t/2 t/2],'Linewidth',1.5,'color','k'
98
line([b/2 ts/2 ts/2 -ts/2 -ts/2 -b/2],-[t t h+t h+t t t] + t/2,'Linewidth',
1.5,'color','k'
99
100
%anima
101
102
103
104
line(animaIx,animaIy,'Linestyle','-.'
105
106
%Campitura
107
%for x=-b/2:b/50:b/2-2*b/50
108
%
109
110
%end
111
112
% BARICENTRO
113
plot(CG(1),CG(2),'o','MarkerFaceColor','b','MarkerEdgeColor','b','MarkerSize',7)
114
115 end
07/07/06 4.15
116
117
118
119
120
121
122
123
124
125
126
127
128
3 of 3
07/07/06 4.15
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
clear all
clc
% PROPRIETA' MATERIALE: Al 7075-T6
% -------------------------------% coefficiente di Poisson
% modulo di Young [MPa]
% tensione di snervamento a compressione [MPa]
% tensione ultima di rottura [MPa]
% tensione corrispondente deformazione permanente del 7% [MPa]
% parametro di Ramberg-Osgood
figure
subplot(2,2,1)
plot(epsilon,sigma,'r','LineWidth',1.5)
title('Diagramma sforzo - deformazione','FontSize',8,'FontWeight','b')
xlabel('\epsilon','FontSize',10,'FontWeight','b')
ylabel('\sigma [MPa]','FontSize',10,'FontWeight','b')
box on
grid
subplot(2,2,2)
plot(sigma,Et,'LineWidth',1.5)
title('Modulo di elasticit tangente','FontSize',8,'FontWeight','b')
xlabel('\sigma
[MPa]','FontSize',10,'FontWeight','b')
ylabel('E_t
[MPa]','FontSize',10,'FontWeight','b')
box on
grid
subplot(2,2,3)
plot(sigma,Es,'LineWidth',1.5)
title('Modulo di elasticit secante','FontSize',8,'FontWeight','b')
xlabel('\sigma
[MPa]','FontSize',10,'FontWeight','b')
ylabel('E_s
[MPa]','FontSize',10,'FontWeight','b')
box on
grid
1 of 2
07/07/06 4.15
59
60
61
62
63
64
65
66
67
68
69
70
71
subplot(2,2,4)
plot(sigma,tau,'LineWidth',1.5)
title('Fattore di Plasticit','FontSize',8,'FontWeight','b')
xlabel('\sigma
[MPa]','FontSize',10,'FontWeight','b')
ylabel('\tau','FontSize',10,'FontWeight','b','Rotation',0)
box on
grid
2 of 2
C13
07/07/06 4.16
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
%
%
%
%
%
Diagramma di manovra
-------------------Il programma seguente plottare i diagrammi di manovra relativi a tre
condizioni di volo e quindi tre pesi diversi
clc
clear all
global ft2m nm2m lb2kg g d2r r2d in2m
% Costanti & fattori di conversione
%..........................................................................
% 1 ft = 0.3048 m
% 1 n.m. = 1852 m
% 1 lb = 0.45359237 kg
% accelerazione gravitazionale [m/s2]
% fattore di conversione deg --> rad
% fattore di conversione rad --> deg
% 1 in = 0.0254 m
%..........................................................................
load './config/config.mat'
iM=3,iAR=3,it_c=3,iKS=8
1 of 2
07/07/06 4.16
59
% decollo
% approccio
60
61
% atterraggio
62
% CL minimo
63 % Fattori di carico massimo e minimo
64
65
66
67
68 % Densit dell'aria s.l.m.
69
70
71
72
73
74
75
% [h]
76
77 % Vita di progetto [h]
78
79 % Numero voli
80
81
82
83 %Calcolo dei pesi
84 [W1,W2,W3] = calcolo_pesi(M, Hcr, Xcr, CD0, K, kSFC, mBPR, Wto, S)
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99 [delta_nzm, Ncicli_m] = numero_cicli_carico('m'
100
101 [delta_nzr1, Ncicli_r1] = numero_cicli_carico('r', Nvoli, 1, X1, ...
102
103 [delta_nzr2, Ncicli_r2] = numero_cicli_carico('r', Nvoli, 2, X2, ...
104
105 [delta_nzr3, Ncicli_r3] = numero_cicli_carico('r', Nvoli, 3, X3, ...
106
107
108 [Mf50med1,Mf50med2,Mf50med3,Mf50max_m1,Mf50max_m2,Mf50max_m3,Mf50max_r1,Mf50max_r2,
Mf50max_r3...
109
Mf60med1,Mf60med2,Mf60med3,Mf60max_m1,Mf60max_m2,Mf60max_m3,Mf60max_r1,
Mf60max_r2,Mf60max_r3]=...
110
momenti(W1,W2,W3,EAS1,EAS2,EAS3,M1,M2,M3,delta_nzm,delta_nzr1,delta_nzr2,
111
112 save('momenti')
2 of 2
07/07/06 4.16
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
clc
clear all
global ft2m nm2m lb2kg g d2r r2d in2m
% Costanti & fattori di conversione
%..........................................................................
% 1 ft = 0.3048 m
% 1 n.m. = 1852 m
% 1 lb = 0.45359237 kg
% accelerazione gravitazionale [m/s2]
% fattore di conversione deg --> rad
% fattore di conversione rad --> deg
% 1 in = 0.0254 m
%..........................................................................
load './config/config.mat'
iM=3,iAR=3,it_c=3,iKS=8
load momenti
% Vita di progetto
% [h]
[h]
% Numero voli
1 of 4
07/07/06 4.16
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
break
end
if c1==1
sezione='50%'
else
sezione='60%'
end
[sigmamax,sigmamed,sigmaalt,Ncicli,punto_operativo,tipo_carico,sigmamed_2]...
= tensioni(Mfmed1,Mfmed2,Mfmed3,Mfmax_m1,Mfmax_m2,Mfmax_m3,...
Mfmax_r1,Mfmax_r2,Mfmax_r3,...
Ncicli_m,Ncicli_r1,Ncicli_r2,Ncicli_r3,...
tmed,hb,cs,...
Ncicli_m,Ncicli_r1,Ncicli_r2,Ncicli_r3
% CALCOLO DEL NUMERO CUMULATIVO DI CICLI IN VITA
% ---------------------------------------------for j = 2:length(Ncicli)
end
for j = 1:length(Ncicli)
end
% CICLO GAG (GROUND - AIR - GROUND)
% --------------------------------% Numero di cicli GAG nella vita di progetto
2 of 4
07/07/06 4.16
3 of 4
%
Nrott ' '
07/07/06 4.16
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
Curvak_in = './crack/Z60/FILE28.DAT'
Curvak_out = './crack/Z60/FILE30.DAT'
Curvak_dir = './crack/Z60'
end
else
if c1==1
Curvak_in = './crack/J50/FILE28.DAT'
Curvak_out = './crack/J50/FILE30.DAT'
Curvak_dir = './crack/J50'
else
Curvak_in = './crack/J60/FILE28.DAT'
Curvak_out = './crack/J60/FILE30.DAT'
Curvak_dir = './crack/J60'
end
end
Tmax = tmed/1.5
Tmin = tmed/2
t_lam
t_cor
% % Verifica sulla scelta fatta per lo spessore del rivestimento
if t_lam < Tmin | t_lam > Tmax
error('Lo spessore della lamiera non corretto')
end
% % Dati d'ingresso per il software CURVAK
% disp('Dati di ingresso per il software CURVAK')
% disp('Sezione al 50% dell''apertura alare: correnti a Z')
%
[sigma_limite, HS, WS, Drivetto, Privetto] = ...
4 of 4
07/07/06 4.16
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
%
%
%
%
%
%
%
%
if h > htr
% velocit di crociera vera
% velocit di crociera equivalente
else
end
switch punto_operativo
case {1,3}
case 2
end
1 of 2
07/07/06 4.16
59
60
61
2 of 2
07/07/06 4.16
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
%
%
%
%
%
%
%
%
%
%
%
%
%
%
Output
-----Mf50,Mf60: momenti flettenti nelle sezioni al 50% e al 60% di b
iM=3,iAR=3,it_c=3,iKS=8
1 of 4
07/07/06 4.16
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
% CARICHI DISTRIBUITI
% Gli eta vanno da 0 a 1 ma hanno passi variabili e diversi da un carico ad un altro
[eta_lift,q_lift,sweep50e_deg] = q_portanza(W, nz, EAS, b, bK, etaR, cCL, cR,...
2 of 4
07/07/06 4.16
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
%
%
%
%
%
q_f = interp1(eta_fuel,q_fuel,eta,'cubic'
q_s = interp1(eta_struct,q_struct,eta,'cubic'
q_l = interp1(eta_lift,q_lift,eta,'cubic'
% Carico distribuito globale
% Risultante del carico distribuito
% Braccio di d1
for
if i>=2
if x < (Hlg*2/b)
3 of 4
07/07/06 4.16
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
else
end
end
end
4 of 4
07/07/06 4.17
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
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
mach di volo
quota di crociera [m]
lunghezza tratta di crociera [m]
coefficienti della polare del velivolo
coefficienti relativi al motore (pag 28 Fanteria)
peso al decollo [kg]
superficie alare di riferimento [m]
Output
-----Wf_Wto: rapporto peso di combustibile/peso al decollo velivolo
|--------------------------|
|Schema delle fasi di volo |
|--------------------------|
3 _______2s________ 4
/
\
/
\
/
\
1s
3s
/
\
/
\
/
6
1____/ 2
\____7
% Salita (2-3)
1 of 2
07/07/06 4.17
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
% Crociera (3-4):
C
R
O
C
I
E
R
A
2 of 2
07/07/06 4.17
07/07/06 4.17
1 of 1
1 of 2
07/07/06 4.17
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
2 of 2
figure
hplot = plot(a,sigma_lam,'m',pos_cor_x,pos_cor_y,'g-.',x_sigma,sigma_limite,'r--'
set(hplot,'LineWidth',1.5)
xlabel('a','FontSize',10,'FontWeight','b'
ylabel('\sigma [MPa]','FontSize',10,'FontWeight','b'
hold on
plot(a,sigma_cor,'LineWidth'
h_leg = legend('Tensione pannello irrigidito','Posizione corrente','\sigma_l_i_m_i_t_e',...
'Tensione rottura corrente'
set(h_leg,'FontSize',8,'FontWeight','b')
grid
07/07/06 4.17
1 of 4
07/07/06 4.17
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
end
% DIMENSIONI DEI RIVETTI
% ----------------------
%
%
%
% Nel caso che si usi un corrente a J o ad omega, si deve completare la
% descrizione della geometria del corrente da tastiera.
% nel caso di corrente a J il significato dei simboli quello di figura:
2 of 4
07/07/06 4.17
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
-->
-->
-->
-->
-->
%Struttura originale del file input (sotto quella generata qui (identica))
% 2 1 1 10 90
INDCOR, iconf1 (riv), iconf2 (corr), nr, np
% 70.00
4.00
1.00 240.49 50.00
2.00
0.00
S,T,EF,SIG,Ain,da,fpl
% 2000.00 18.50
3.70
3.40 28.72 57.47 71000
W,P,D,TS,WS,HS,ER
3 of 4
07/07/06 4.17
4 of 4
173 % 2 1 1 10 90
174 % 70.00
4.00
1.00 240.49 50.00
2.00
0.00
175 % 2000.00 18.50
3.70
3.40 28.72 57.47 71000.00
176
177 fid = fopen(Curvak_in, 'wt'
178 fprintf(fid, '%1d %2d %2d %3d %3d\n%2.2f %6.2f %6.2f %7.2f %6.2f %6.2f %6.2f\n%4.2f %6.2f %
6.2f %6.2f %6.2f %6.2f %9.2f',...
179
180
07/07/06 4.17
1 of 1
1 function [Mf50med1,Mf50med2,Mf50med3,Mf50max_m1,Mf50max_m2,Mf50max_m3,Mf50max_r1,Mf50max_r2,
Mf50max_r3...
2
Mf60med1,Mf60med2,Mf60med3,Mf60max_m1,Mf60max_m2,Mf60max_m3,Mf60max_r1,Mf60max_r2,
Mf60max_r3]=...
3
momenti(W1,W2,W3,EAS1,EAS2,EAS3,M1,M2,M3,delta_nzm,delta_nzr1,delta_nzr2,
delta_nzr3)
4
5 % Momenti medi (nz = 1)
6
7
8
9
10
11 for j1=1:length(delta_nzr1)
12 % Punto operativo 1
13
14
15 % Punto operativo 3
16
17 end
18
19 for j2=1:length(delta_nzr2)
20 % Punto operativo 2
21
22 end
23
24 for j3=1:length(delta_nzm)
25
26
27
28
% Punto operativo 2
29 end
07/07/06 4.17
1 of 3
07/07/06 4.17
2 of 3
46
H, sweep25, AR, lambda, M, S, W, EAS)
47
48
49 global ft2m g
50
51
52 switch tipo_carico
53
54
% ECCEDENZE RELATIVE AI CARICHI DI MANOVRA PER VOLO
55
% ------------------------------------------------56
case 'm'
57
% Variazione del fattore di carico
58
59
% numero di eccedenze per volo
60
ecc = [(18.56-3.6269) (3.6269-7.0859e-1) (7.0859e-1-1.3844e-1) (1.3844e-1-2.7047e2)...
61
(2.7047e-2-5.284e-3) (5.284e-3-1.032e-3) (1.032e-3-2.01698e-4) (2.01698e-43.9406e-5)...
62
63
% ECCEDENZE RELATIVE AI CARICHI DI RAFFICA PER MIGLIA NAUTICHE PERCORSE
64
% --------------------------------------------------------------------65
case 'r'
66
switch punto_operativo
67
% DECOLLO E ATTERRAGGIO
68
case {1,3}
69
% Intensit di raffica [ft/s]
70
71
72
ecc = [(1e-2-1.2e-3) (1.2e-3-2e-4) (2e-4-5e-5) (5e-5-2e-5)...
73
74
75
% CROCIERA
76
case {2}
77
% Intensit di raffica [ft/s]
78
79
% numero di eccedenze per miglia nautiche percorse
80
81
ecc = [(6e-3-2e-4) (2e-4-6e-5) (6e-5-4e-6) (4e-6-1.1e-6)...
82
(1.1e-6-5e-7) (5e-7-1.5e-7) (1.5e-7-5e-8) (5e-8-2e-8) (2e-8-7e%
83
84
end
85
% VARIAZIONE DEL FATTORE DI CARICO
86
% densit atmosfera s.l.m.
87
88
% Atmosfera standard alla quota operativa
89
90
% Freccia alare al 50% della corda
91
92
93
% Parametro CLalfa (formula empirica da Torenbeek)
94
% fattore di comprimibilit
95
96
% corda media geometrica
97
98
% Rapporto di massa del velivolo
99
100
% Fattore di attenuazione della raffica
07/07/06 4.17
101
102
103
104
105
106
107
108
109
110
111
112
113
114
3 of 3
07/07/06 4.23
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
1 of 2
% PLOTTAGGIO
figure
hold on
zz = patch(polyZx,polyZy,'y','LineWidth',1.5,'FaceAlpha'
%panello
line([-b/2 b/2],[t/2 t/2],'Linewidth',1.5,'color','k'
line([-b/2 b/2],[-t/2 -t/2],'Linewidth',1.5,'color','k'
07/07/06 4.23
2 of 2
59
60
61
line(animaZx,animaZy,'Linestyle','-.'
62
63
64
65
66
% CORRENTI INTEGRALI
67
% -----------------68
case 2
69
% BARICENTRO LAMIERA + CORRENTE
70
71
72
% PLOTTAGGIO
73
figure
74
75
hold on
76
77
78
79
80
axis([xmin_plot xmax_plot ymin_plot ymax_plot])
81
grid minor
82
box on
83
xlabel('mm','FontSize',10,'FontWeight','b')
84
ylabel('mm','FontSize',10,'FontWeight','b')
85
86
axis equal
87
88
%corrente Z
89
90
91
92
zz = patch(polyZx,polyZy,'y','LineWidth',1.5,'FaceAlpha'
93
94
%panello
95
line([-b/2 b/2],[t/2 t/2],'Linewidth',1.5,'color','k'
96
line([-b/2 b/2],[-t/2 -t/2],'Linewidth',1.5,'color','k'
97
98
99
100
101
patch(polyPx,polyPy,[1 0.5 0],'LineWidth',1.5,'FaceAlpha',0.7,'EdgeColor','none')
102
103
%anima
104
105
106
107
line(animaZx,animaZy,'Linestyle','-.'
108
109
110 end
111
112
07/07/06 4.24
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
% Carichi di raffica
% Carichi di raffica
sigma_med = [sigma_med_1*ones(1,length(sigma_max_m1)+length(sigma_max_r1))...
sigma_med_2*ones(1,length(sigma_max_m2)+length(sigma_max_r2))...
1 of 2
07/07/06 4.24
2 of 2
07/07/06 4.24
1 of 2
07/07/06 4.24
55
56 % TENSIONE ALTERNATA
57 % -----------------58
2 of 2