FACOLTÀ DI INGEGNERIA
IMPLEMENTAZIONE DI UN PROGRAMMA
DI CALCOLO PER L’ACCOPPIAMENTO
(“MATCHING”) TRA I COMPONENTI DI UN
TURBOFAN TRIALBERO
Tesi di laurea
Sommario
N
el presente elaborato si fornisce una descrizione dettagliata delle tecniche adottate per implemen-
tare un algoritmo di calcolo che permetta uno studio delle condizioni di progetto e fuori progetto
relative ad un motore turbofan trialbero, il tutto partendo da un numero esiguo di informazioni.
La piattaforma di calcolo utilizzata è il pacchetto Matlab 7 versione completa.
L’implementazione permette di analizzare, con soddisfacente dettaglio, le caratteristiche di un generico
propulsore in fase di progetto senza passare allo studio fluidodinamico e alla progettazione delle palette dei
componenti. Si tratta quindi di uno strumento per economizzare il tempo e le risorse in fase di analisi.
Nell’ottimizzazione delle condizioni di progetto il programma provvede a calcolare, partendo dalle condi-
zioni di contorno, tutte le informazioni relative alla macchina, stadio per stadio, in una tipologia di approccio
nota come black box; per fare ciò utilizza le leggi classiche, tenendo conto però della variabilità di parametri
come k e cp in funzione della temperatura.
Passando alle condizioni fuori progetto il programma di calcolo opera un adattamento delle mappe di fan,
compressori e turbine utilizzando dei procedimenti riconosciuti in letteratura; successivamente si compie una
ricerca delle linee operative del propulsore sulle stesse mappe adattate.
Indice
Introduzione ...................................................................................................................... 1
Legenda ............................................................................................................................. 5
Descrizione del ciclo termodinamico ............................................................................ 9
Presa dinamica ............................................................................................................ 11
Fan ............................................................................................................................... 12
C
Compressori ................................................................................................................. 14
Camera di combustione ............................................................................................... 15
C
Turbine ......................................................................................................................... 17
Ugello di scarico ......................................................................................................... 19
Calcolo delle grandezze prestazionali ......................................................................... 20
Comportamento di un turbofan fuori progetto ............................................................. 23
Compressore fuori progetto ......................................................................................... 25
Turbina fuori progetto ................................................................................................. 27
Comportamento di due turbine in serie ....................................................................... 28
Metodi per la parametrizzazione delle mappe.............................................................. 31
Parametrizzazione compressori................................................................................... 33
Parametrizzazione di turbine ed ugello ....................................................................... 37
Ottimizzazione e matching fuori progetto .................................................................... 41
Ottimizzazione scelte di progetto ................................................................................. 42
Algoritmo di matching ................................................................................................. 46
Scelte di programmazione ............................................................................................... 55
Acquisizione dei grafici ............................................................................................... 56
Appendice A...................................................................................................................... 63
Conclusioni ....................................................................................................................... 101
Bibliografia ........................................................................................................................ 103
Introduzione
Q
uesto studio di tesi ha come fine ultimo quello di poter tracciare delle mappe con delle linee opera-
tive attendibili per ogni singolo componente di un turbofan trialbero.
Il suddetto propulsore ha come caratteristiche un’elevata elasticità di fronte a tutte le condizioni
di progetto. Si tratta inoltre della scelta adottata dai costruttori nelle più recenti applicazioni, basti pensare al
Trent 900 (propulsore Rolls-Royce che sarà montato sull’ A-380); per questo motivo si è deciso di analizzare
questa tipologia di propulsore.
Per contro questa elasticità cela una maggior difficoltà costruttiva, che si traduce anche in un’analisi più
difficoltosa. La presenza di tre alberi indipendenti infatti impone un maggior numero di condizioni (rispetto
ad esempio ad una scelta bialbero), ciò comporta la necessità di far ricorso ad un gran numero di iterazioni,
il tutto non certo a beneficio della velocità di elaborazione. Infatti pur essendo gli alberi meccanicamente
indipendenti si trovano aerodinamicamente accoppiati, quindi, date le condizioni al contorno, esiste solo un
rapporto di dosatura ed una terna di velocità degli alberi che mantenga fede alle leggi di conservazione della
massa e presti attenzione alle condizioni geometriche.
Nella prima parte dell’elaborato (Capitolo 1) si offre al lettore una descrizione dettagliata del propulsore e
si espongono le leggi utilizzate nel calcolo delle condizioni di progetto. La scelta di operare in regime di k e
cp variabili in funzione della temperatura ha di fatto eliminato la linearità nella ricerca dei valori di progetto,
imponendo in diversi casi l’uso di iterazioni e interpolazioni semplici.
Successivamente (Capitolo 2) si trova l’analisi del comportamento di un turbofan in condizioni fuori
progetto. In questa parte si rende conto della scelta di studiare solo propulsori che presentino il soffocamento
all’ugello (come si vedrà più dettagliatamente questa ipotesi permette uno studio più snello dell’andamento
ai transitori, inoltre si tratta di una condizione valida nella quasi totalità delle condizioni operative del propul-
sore).
Quindi si passa alla esposizione dei metodi di scaling delle mappe di fan, compressori e turbine (Capitolo
3). Per i componenti più delicati, fan e compressori, si è adottato il metodo esposto da Kurzke [5]. Si tratta
di una tecnica innovativa che tiene conto sia delle portate di soffocamento che della tendenza, al crescere del
rapporto di compressione, di un appiattimento delle curve. Per quanto riguarda le mappe delle turbine si è
scelto di effettuare uno scaling che tenesse conto delle portate di soffocamento nelle condizioni di progetto, e
scalasse le mappe affinché fosse verificata la condizione di accoppiamento.
Nel capitolo successivo (Capitolo 4) si espone l’algoritmo per il calcolo. Questa implementazione pur
essendo ricavata da modelli più semplici esposti in letteratura [1], è stata elaborata dallo scrivente. Si tratta
di una procedura piuttosto complessa nella quale si ricerca per via iterativa il punto operativo su ogni singola
linea di velocità adattata.
Una parte consistente di lavoro è stata svolta al fine di permettere una ripetibilità dell’esperienza e allo
stesso tempo di offrire un programma che fosse il più versatile possibile. In questo capitolo (Capitolo 5),
si scende nel dettaglio in modo da chiarire tutte le scelte e le tecniche adottate per ottenere dei risultati che
fossero attendibili. Si è prestata particolare cura e rigore nel riportare le diverse mappe (e grafici) ottenute da
letteratura (si tratta quindi di grafici stampati su carta [1] [2] [5] ).
L’elaborato si chiude con le conclusioni dell’esperienza (Capitolo 6). In appendice è possibile trovare
inoltre i tabulati di tutti i programmi che stanno alla base di tutta l’analisi qui esposta.
Legenda
D
i seguito si fornisce una breve legenda che rende conto di tutti i simboli e pedici che si incontre-
ranno all’interno dell’elaborato. Alcuni indici possono variare a seconda si stia parlando del flusso
caldo (gas-generator) o del flusso bypassato (flusso fan). Qui sotto vi è una rappresentazione a
blocchi del turbofan elaborato, con indicata la numerazione delle stazioni.
Nella pagina seguente sono presenti due colonne distinte: a sinistra si trovano i termini delle formule,
mentre a destra sono presenti tutti gli indici. Nella maggior parte dei casi in questo elaborato si tratta in termini
di temperature, pressioni e densità assolute, ossia considerando il carico cinetico. Per indicare queste quanti-
tà si è deciso di mantenere l’indicazione con apice 0. Una quantità che fosse sprovvista di questo apice è da
considerarsi statica.
�������� ����� �������� ��� ����� ����� ����� ���� ������ ����������� ������� ���� ������� ����� ������� ����� ������
����
�
��
��
������
� � � � � � � � � �� � ���
Termini: Pedici:
u = ugello
��
L’
algoritmo di calcolo ha in ingresso la possibilità di inserire la quota a cui si trova il propulsore.
Questo permette di ottenere le caratteristiche ambientali di temperatura, pressione e densità.
Il programma sfrutta una tabella di calcolo che ha per riferimento alcuni valori medi, modific-
abili; in questo modo è possibile intervenire ulteriormente sulle condizioni di contorno. In figura ( fig 1.1) sono
riportati i ratei di variazione rispetto ai valori di riferimento:
�������������������
�
���
���
���
���
��������������������
���
���
���
Calcolati i dati al contorno il programma comincia la vera e propria analisi del turbofan; lo studio avviene
supponendo i valori dei calori specifici e di conseguenza dell’esponente isoentropico k (in letteratura anglo-
sassone noto come γ ) variabili in funzione della temperatura (fig. 1.2 cit. Cumpsty). Entrambi i grafici sono
stati elaborati con la tecnica meglio descritta nel capitolo 5. Si tratta di famiglie di curve, che rappresentano la
dipendenza dalla temperatura al variare del rapporto di equivalenza.
f ṁf /ṁa
φ= =
fst (ṁf /ṁa )st
�������������
���
���������
����
���
����
��� ���������������
��
����
���
����
��� � ����������������������������
����
�
��� ��� ��� ���� ���� ���� ���� ���� ����
���������������
������������
���
����
����
����
� ��������������
����
�������
���
����
�����������������������������
����
FIGURA 1.2 • I gr afici rendono
���� conto della variabilità dell’esponente
isoentropico e del calore specifico a
���� ��������� pressione costante
c con la temper atur a.
Nel caso di prodotti di combustione ed
��� aria pur a.
��� ��� ��� ���� ���� ���� ���� ���� ����
���������������
Con φ=0 si rientra nel caso di aria pura e per φ = 1 invece si analizza una miscela di combustibile-
aria in rapporto stechiometrico di combustione.
Presa dinamica
La temperatura totale del fluido all’ingresso della presa dinamica si conserva perché quello all’interno del
diffusore è un moto adiabatico senza scambio di lavoro con l’esterno:
c2a
Ta0 = Ta + = T20
2cp0
Non si tratta però di un moto isoentropico: le perdite legate all’attrito tra l’aria e le pareti del diffusore
inducono un aumento dell’entropia e una diminuzione della pressione totale. I fenomeni dissipativi inevitabili
vengono quantificati tramite il rendimento isoentropico del diffusore:
0
T2is − Ta
ηd = = 0.85
T20 − Ta
� �T0 �� k k−1
2
2
p02 = pa 1 + ηd 2 − 1
Ta
Fan
Consideriamo la parte “fredda” della portata di massa complessiva del propellente, cioè quella che investe
unicamente il fan.
�
�
�� ��������������� � ���� �
������ ����������
Di seguito è presente la formula generale per il calcolo della temperatura totale di un fan:
� 1 � k3k−1 ��
T30 = T20 1 + πcf 3
ηf
Compressori
La restante parte “calda” della portata di massa complessiva del propellente investe il core engine e incon-
tra il compressore di bassa pressione. La trasformazione adiabatica non reversibile comporta un innalzamento
della pressione totale, definita dal rapporto di compressione πc=2,65.
p04 = p03 πc
Anche nel caso del compressore i fenomeni dissipativi sono quantificabili mediante il rendimento isoen-
tropico, che mette in relazione la trasformazione reale con una ideale realizzata senza irreversibilità:
0
T4is − T30
ηc = = 0.8
T40 − T30
La temperatura totale dell’aria all’uscita del compressore di bassa pressione è calcolata anche in questo
caso per mezzo di una iterazione che renda conto della variabilità dei calori specifici:
� 1 � k4k−1 ��
T40 = T30 1 + πc 4
ηc
Le stesse relazioni valgono per la trasformazione realizzata dal compressore di alta pressione πc’=2,35:
p05 = p04 πc
0
T5is − T40
ηc� = = 0.8
T5 − T40
0
� 1 � � k5k−1 ��
T50 = T40 1 + πc 5
ηc
Il rapporto di compressione dei compressori è relativamente basso per rispettare la limitazione sulla tem-
� �
peratura di fine compressione T50 ≤ 650 [K] posta in fase di progetto. (1)
Camera di combustione
Una volta compressa l’aria fluisce nel combustore all’interno del quale si miscela col combustibile real-
izzando la combustione: il combustibile si ossida grazie all’ossigeno trasportato dall’aria (il comburente) e i
reagenti si trasformano in prodotti liberando calore (reazione esotermica). Poiché i gas combusti hanno com-
posizione diversa da quella dell’aria pura, i valori dei calori specifici (e del loro rapporto k) da utilizzare per
la miscela di gas che esce dal combustore cambiano.
Il processo di combustione è soggetto a perdite di carico dovute al deflusso con attrito lungo le pareti
del combustore e a irreversibilità che caratterizzano la reazione chimica stessa (mancata completezza della
combustione con generazione di incombusti). Questi due fenomeni provocano la diminuzione della pressione
totale, espressa da un parametro caratteristico di ciascun combustore detto fattore di perdita di pressione totale
fp (solitamente 0.94 ≤ fp ≤ 0.98 ).Nel nostro caso fp = 0.96
La pressione totale del flusso all’uscita del combustore risulta: p06 = p05 πc� .
determinato dai materiali con cui sono fabbricati i componenti della turbina e in questo caso si ha:
0
T6M AX = 1388[K]
Fissato il valore della T60 è possibile ricavare il rapporto di dosatura dall’equazione del primo principio.
� �
ṁa + ṁf cp6 T60 = ṁa cp5 T50 + ṁf Hu
Hu é il potere calorifico inferiore del combustibile, cioè l’energia termica rilasciata dal combustibile in
condizioni di combustione completa e adiabatica. Nel caso del cherosene si ha:
Hu = 45000 [kJ/kg]
Turbine
I processi di espansione in turbina rispettano il bilancio per il quale la potenza complessivamente prodotta
eguaglia la potenza assorbita dai compressori e dal fan:
� � � � � � � �
ṁa + ṁf cp6,9 T60 − T90 = ṁa cp5,3 T50 − T30 + ṁaf an cp3 T30 − T20 Hu
Si introduce una variabile di progetto detta rapporto di by-pass, cioè il rapporto tra la portata del flusso
freddo e quella del flusso caldo:
ṁaf an
B=
ṁa
Il rapporto di by-pass è stato inserito esternamente in modo tale da ottimizzare il rendimento del ciclo e la
spinta: si è andati per iterazioni prima di ottenere il valore di by-pass opportuno. Il valore del rapporto di by-
pass di un turbofan dipende dal tipo di velivolo; valori caratteristici per propulsori civili variano da 3 a 6.
Utilizzando la definizione di B l’equazione del bilancio delle potenze può essere riscritta come:
� � � � � � � �
1 + f cp6,9 T60 − T90 = T50 − T20 cp5,2 + Bcp3,2 T30 − T20
La temperatura totale all’uscita della turbina pressione, è calcolata anche in questo caso prima per la tur-
bina di alta, poi per quella di media e infine per quella di bassa. Come per il fan e per i compressori, per rendere
conto della variabilità dei calori specifici, si è effettuato in ciclo iterativo per il calcolo della temperatura cor-
retta, qui è riportato solo il valore finale:
� �
T50 − T40 cp5
T70 = T60 − � �
1 + f cp7
Applicando lo stesso bilancio tra potenza prodotta dalla turbina di bassa pressione e potenza assorbita
dal compressore di bassa pressione si ottiene la temperatura totale del flusso all’uscita della turbina di media
pressione:
� �
T40 − T30 cp4
T80 = T70 − � �
1 + f cp8
Con lo stesso procedimento si calcola la temperatura totale all’uscita della turbina di media pressione:
� �
T30 − T20 cp3
T90 = T80 − � �
1 + f cp9
T 60 − T70
turbina di bassa pressione: ηtb = 0 = 0.88 ;
T60 − T7is
T70 − T80
turbina di media pressione: ηtm = 0 = 0.88
;
T70 − T8is
Ora è possibile calcolare la pressione totale alla fine di ognuna delle tre espansioni:
� 1 � T 0 �� k7 −1
k7
p07 = p06 1 − 1 − 70
ηta T6
� 1 � T 0 �� k8 −1
k8
p08 = p07 1 − 1 − 80
ηtm T7
� 1 � T 0 �� k9 −1
k9
p09 = p08 1 − 1 − 90
ηtb T8
Ugello di scarico
A valle turbina di alta pressione c’è l’ugello di scarico, per ipotesi adattato: il deflusso è subsonico e la sua
pressione nella sezione di uscita eguaglia quella atmosferica.
Le condizioni nella sezione di ingresso sono: = T90 , p0iu = p09
.
0
Tiu
Nell’espansione la temperatura totale si conserva (moto adiabatico senza scambio di lavoro con l’esterno),
la pressione totale diminuisce e la velocità del deflusso aumenta.
Il rendimento isoentropico dell’ugello ne quantifica le perdite:
T90 − T10
ηu = = 0.98
T90 − T10is
L’equazione del primo principio della termodinamica tra le sezioni di ingresso e uscita dell’ugello è:
ce 2
h10 − h010 + =0
2
ce 2
= cp10 T10
0
− cp10 T10
2
Dove ce è la velocità di scarico del propellente dal propulsore e T10 esprimibile in funzione del rendi-
mento isoentropico dell’ugello:
� �
T10 = T90 − ηu T90 − T10is
La spinta specifica Rs rapporto tra la spinta prodotta e la portata di massa del fluido operativo che at-
traversa il propulsore:
� �
R 1+f
B
Rs = = ce + cef − ca
ṁaf + ṁa 1+B 1+B
Il rendimento termico ηT è il rapporto tra la potenza del getto (con cui si accelera il propellente) e la po-
tenza resa disponibile dalla combustione:
� �
2
ca 2 cef 2 ca 2
(1 + f ) ce2 − 2 +B 2 − 2
ηT =
f Hu
Il rendimento propulsivo ηP è il rapporto tra la potenza propulsiva, che rappresenta l’effetto utile del pro-
cesso propulsivo, e la potenza del getto:
� �
(1 + f )ce + Bcef − (1 + B)ca ca
ηP = 2 2
� 2
2
�
c
(1 + f ) ce2 − ca2 + B ef2 − ca2
Il rendimento complessivo η0 , prodotto dei due rendimenti appena descritti, misura l’efficienza con cui
l’energia termica liberata durante la combustione viene convertita in potenza propulsiva: η0 = ηP ηT
Si riporta di seguito la tabella riassuntiva delle prestazioni ottenute:
����������� ������
������ ��������� � � � � �������� �����������
������� ��������� ������ ���������� �����������
���������� ������� � � � � �����������
���������� ����������� � � � �����������
���������� ����������� � � � � ����������
�������� �� ������� ����������� ��� ���
�������� �� ������������ ������ � � � � ��������
� �� � ������
������� ������ ����� � � ��
� �� � ������
������� ������ ������ � � ���
� � � ������
������� �� ������������ � � �����������
������ ��� � ���������� � � � ���� �� ��� ��� �����������
N
el capitolo precedente si è descritto il comportamento del propulsore nelle condizioni di progetto,
ovvero si sono analizzate le prestazioni nelle migliori ipotesi operative di macchina.
Tipicamente un propulsore viene progettato per massimizzare la spinta nella massima condizione
operativa (in genere il decollo o in caso di ri-attacco dovuto ad un mancato atterraggio), ma è altrettanto
importante minimizzare il consumo specifico di carburante quando le manette sono nella posizione di crociera
(intorno all’ 80%). Infatti i motori, soprattutto nel caso di grandi aeromobili, si trovano per la maggior parte del
tempo operativo in crociera. Per quanto riguarda gli aeromobili di media taglia (voli nazionali o continentali)
non si può sottovalutare l’aspetto del funzionamento a terra, che come spiegheremo in seguito, nasconde
diverse peculiarità.
Il presente elaborato si pone l’obiettivo di identificare attraverso uno studio prettamente computazionale
una linea operativa all’equilibrio (equilibrium running line).
Una linea operativa congiunge tutte le possibili posizioni che una determinata macchina del propulsore
può assumere, rispettando le condizioni di bilancio di massa e di lavoro tra componente e componente e tra
macchine calettate sul medesimo albero. Studiare una linea operativa all’equilibrio significa considerare le
variazioni di potenza e massa del combustibile iniettato come se avvenissero in un tempo molto lungo o,
più precisamente, come se avvenissero in un tempo sufficientemente lungo per permettere al propulsore di
adattarsi.
Ogni componente di un generatore di gas è accompagnato dalla curva caratteristica di macchina
(component characteristic map, o più semplicemente map); in genere infatti ogni componente viene testato su
di un banco prova e se ne studiano le caratteristiche al variare di velocità di funzionamento e di rapporto di
compressione.
Quindi la mappa di una macchina è un grafico che permette di apprezzare le prestazioni dell’oggetto in
esame (fan, compressore, turbina, ugello). Questa mappa è funzione di un gran numero di variabili: esterne,
al contorno (quindi deducibili), ma anche interne.
Ogni algoritmo per l’ottimizzazione presente in letteratura ([4],[6],[7],[9]), prevede la conoscenza delle
mappe di tutti gli elementi del propulsore.
Per poter analizzare il turbofan quindi era necessario poter ottenere le mappe per ogni singolo componente.
Trovare di volta in volta una mappa che si adattasse perfettamente alle caratteristiche ipotizzate non era
né semplice né utile; infatti, ammesso che l’utente riuscisse a trovare una mappa compatibile, inserirla
nell’implementazione non è cosa immediata, quindi si sarebbe perso di vista l’obiettivo di questo elaborato,
ossia fornire uno strumento sufficientemente veloce ed attendibile per predire le condizioni di funzionamento
del propulsore.
Per questo motivo è stata svolta una ricerca che permettesse di stabilire se vi fosse un modo per ovviare
a questo problema.
In rete esistono diversi programmi con interfaccia grafica che permettono di analizzare turbine a gas
(GasTurb™ , GSP). All’interno di queste applicazioni esistono delle routines che scalano delle mappe generiche
in funzione dei dati immessi. Tra le diverse procedure per scalare le mappe (map scaling) è stata scelta quella
ad opera di J. Kurzke e C. Riegler [5].
Senza entrare troppo nel dettaglio (i vari scaling methods verranno analizzati a fondo nel prossimo
capitolo), questa metodologia di scala è apparsa la più solida e attendibile.
�������������������������
���������
��������
���
��������
��������
�
��������
����������������
���
���
�����������
���
FIGURA 2.1 • Gr afico di un generico
���������� �������� compressore.In ascissa si trova la por-
tata di massa mentre in ordinata il r ap-
��� ��������� por to di compressione.Si distinguono
per l’andamento asintotico le linee di
velocità.Le figure concentriche sono in-
��������� vece linee di isorendimento. La mappa
�������� ��������� è di un compressore con r appor to di
compressione di 2.4.
�
� ��� ��� ��� ��� � ���
��������������������
Nella mappa del compressore in ascissa si trova la portata di massa corretta all’ingresso della macchina
mentre in ordinata il rapporto di compressione. Si possono notare la linea di pompaggio, margine superiore che
collega tutti i punti delle varie linee di velocità corrette, e la linea dell’ottimo (reference line), che congiunge
i punti con il più alto rendimento di tutte le linee. Le linee concentriche di forma circolare sono le linee di
isorendimento; per comodità sono state tracciate delle linee di rendimento riferite ad ogni linea di velocità
(fig. 2.2).
�������������������������
���������
��� ���
���
������������
��� ���
��
��� ���
�����������
�����������
FIGURA 2.2 • Si tr atta del
��� ����������� ��� medesimo gr afico di pagina
precedente con l’eccezione
����������� delle linee di rendimento
���������� ����������� che sono state ricalcolate e
� � poste sulla destr a.
� ��� ��� ��� ��� � ��� � ��� �
�������������������� �
La linea di pompaggio è un limite di macchina. Si tratta della soglia oltre la quale il compressore stalla e
fondamentalmente smette di funzionare, la corrente risale il compressore al posto che passarvi attraverso (da
questo fenomeno si intuisce il nome pompaggio). Nei propulsori reali esistono diversi dispositivi per evitare
questo fenomeno. Sui turbofan moderni è installata una valvola antipompaggio (handling bleed valves), che
scongiura il fenomeno (abbattendo però il rendimento del compressore). Come rimedio si sono sviluppate
anche palette degli statori del compressore a calettamento variabile (inlet guide vanes, o più comunemente
IGV).
Nella fig. 2.3 si trova la mappa di una turbina. Questo componente è più semplice e si nota come tutte le
linee di velocità tendano ad un valore asintotico. Questo valore asintotico è detto portata di soffocamento (si
tratta del limite oltre il quale la turbina non riesce più ad ingerire una portata crescente d’aria). Quando una
turbina raggiunge questo valore limite di portata si dice soffocata (choked). Si può notare come aumentando
il rapporto di compressione della turbina, superato il valore critico del soffocamento, la portata di massa
rimanga costante.
����������������������
�
� ��� � ��� � ��� � ��� �
�
���
��
���
���
�
��������������������
���
���
���
FIGURA 2.3 • Gr afico di una gener-
ica turbina.Nella par te inferiore sono
presenti le linee alle diver se velocità
��� oper ative (60% 80% 100%) in ascissa
vi è il r appor to di compressione, in or-
dinata la por tata di massa e, sopr a, il
rendimento.
�
� ��� � ��� � ��� � ��� �
�
Come verrà spiegato in seguito questa condizione di soffocamento nelle turbine è da ricercare in fase di
progetto. Per ora è sufficiente spiegare che i turbofan civili a flussi separati si trovano, nella quasi totalità delle
condizioni operative, con le turbine soffocate. Solo a terra col propulsore al minimo (idle) può avvenire il non-
soffocamento delle turbine (unchoked).
���� ����
���� ����
�
�
� ��� ����
� �� ����
�
�
���� ����
�
���� ����
Ipotizziamo si stia trattando della turbina di alta accoppiata a quella di media. Si identificano subito le
due linee della portata di massa con valori asintotici (paralleli all’asse delle ascisse). Nel caso della turbina
�
p07 mh T60
di alta si ha in ascissa p06
e in ordinata . Nel medesimo grafico (quello di sinistra) appare evidente
p06
anche una seconda curva, con una tendenza non più parallela all’asse delle ascisse, ma tendente ad una retta
dall’inclinazione inferiore a 45°. Questa curva descrive la capacità della turbina di media pressione (ossia
�
mh T70
quella a valle della turbina di alta) di ingerire una portata .
� p07
mh T60 0
Una volta identificato sulla curva un particolare valore di p70 , tracciando una verticale si
p06 p6
�
mh T70
identifica anche un valore�
sulla curva , ora tracciando una parallela alle ascisse si identifica
p07
T70
un punto sulla curva mh del grafico di destra. Quindi appare chiaro come in regime di non
p07 p07
soffocamento (regione delle curve in cui l’andamento non è asintotico), dato un valore di siano
0
p8 p09 pa p06
determinati in cascata i valori successivi di p07 , p08 , p09 .
Si era però spiegato come in genere i progettisti ricercassero il soffocamento dell’ugello
per prevenire effetti nefasti. Eventuali perturbazioni di pressione potrebbero risalire la corrente
provocando perdita di efficienza ed una serie di ulteriori problemi al ciclo termodinamico.
La regione del soffocamento è quella asintotica rispetto all’asse x; si nota che per un valore del
p08
soffocamento della turbina di media pressione si possono avere diversi valori di che partono
p07
p07
sempre dal medesimo valore di .
p06
N
ei capitoli precedenti si è discusso sulla necessità, per effettuare un’analisi preliminare di un
propulsore, di essere in possesso di curve caratteristiche dei diversi organi della macchina. In
alternativa si è citata la possibilità di modificare (scalare) delle mappe generiche affinché le stesse
incontrassero corrispondenza con il comportamento reale dell’apparato.
In questo elaborato il fan, i compressori le turbine ed in una certa forma l’ugello sono stati affiancati da mappe
di funzionamento con diverse linee operative a seconda che variasse [con linee operative diverse legate alla
variazione della] la velocità di rotazione dell’albero.
Il funzionamento degli altri elementi, presa dinamica e camera di combustione, è stato considerato lineare.
L’andamento della presa dinamica invece è stato supposto isotermo, la variazione della pressione invece
è legata al rendimento del diffusore e alla pressione ambiente con:
T20 k2
p02 = pa [1 + ηd ( − 1)] k2 −1
Ta
Nel capitolo 2.3 si è portato l’esempio di come l’ugello del flusso caldo avesse l’andamento analogo a
quello di una turbina, quindi nello studio di turbine e ugello si è optato per il medesimo sistema di scaling.
Il sistema di scaling delle turbine è piuttosto primitivo, questo perché è provato [1] che come tipologia di
macchina la turbina è più semplice ed incontra con maggior difficoltà situazioni critiche (lo stallo per questo
componente è un avvenimento raro).
Più elaborato invece è il sistema di scaling per le mappe dei compressori e del fan, questi organi infatti
sono estremamente più delicati e presentano in genere linee operative che si trovano vicine alla linea di
pompaggio, ed in certi casi possono addirittura oltrepassarla.
Parametrizzazione compressori
In letteratura sono presenti molte tipologie di procedure per lo scaling delle mappe dei compressori. La
pubblicazione “A new compressor map scaling procedure for preliminare conceptional design of gas turbines”
ad opera di J. Kurzke e C. Riegler (entrambi esperti di chiara fama, ricercatori presso l’ Engine Performance
Department MTU) si è rivelata estremamente attendibile e con un grado di accuratezza elevato.
In breve l’articolo citato descrive come sia possibile ottenere una mappa adattata partendo da un numero
estremamente contenuto di informazioni: il rapporto di compressione, il lavoro isoentropico in condizioni di
progetto e la variazione della portata di massa al 50%.
�������������������������
���������
��������
���
��������
��������
�
��������
����������������
���
���
�����������
���
FIGURA 3.1 • Gr afico di un generico
���������� �������� compressore.In ascissa si trova la por-
tata di massa mentre in ordinata il r ap-
��� ��������� por to di compressione.Si distinguono
per l’andamento asintotico le linee di
velocità.Le figure concentriche sono in-
��������� vece linee di isorendimento. La mappa
�������� ��������� è di un compressore con r appor to di
compressione di 2.6.
�
� ��� ��� ��� ��� � ���
��������������������
Si tratta di un’indagine statistica all’interno della fornita biblioteca del MTU; tale ricerca è stata effettuata
considerando diverse mappe (oltre 50) di compressori assiali e radiali dalle caratteristiche molto diverse
(coprono l’intervallo di rapporto di compressione 1 – 25). Tutte le mappe sono state riportate in coordinate
adimensionali confrontabili; in ascissa la massa corretta relativa (0–1), in ordinata il rapporto di compressione
relativo:
π−1
πref − 1
Per fornire un esempio, in figura 3.1 è riportata una mappa di un compressore assiale con rapporto di
compressione 2.6, nella quale sono ben presenti sia i valori adimensionali in coordinate sia i rendimenti, le
linee di riferimento e la linea di pompaggio.
Una volta fatto ciò i ricercatori hanno iniziato un’ulteriore analisi che fornisse dei punti di descrizione
della mappa (map descriptors) facili da identificare ed univoci. Hanno scartato dei descriptors come il margine
di pompaggio, efficienze ed altri criteri di perdita, in quanto privi di una tendenza chiara e riconducibile
all’andamento di qualche funzione.
Si sono concentrati quindi sullo studio del punto di riferimento (reference point, ossia del punto di progetto).I
due ricercatori hanno osservato che congiungendo i punti di massimo rendimento sulle diverse linee di velocità
si otteneva una curva (chiamata reference line). Ora l’andamento di questa linea se plottato in coordinate
adimensionali, ricorda molto quello di una circonferenza che attraversi i due punti nelle coordinate [0;0] e
[1;1], e con il centro sulla retta che congiunge i punti [0;1] e [1;0]. Quindi per descrivere questa circonferenza
è sufficiente un valore, in quanto famiglia di circonferenze passanti per due medesimi punti. E’ stato scelto
per descriverlo il valore del rapporto di compressione adimensionale relativo al 50% della portata di massa
�
���
�����
������
����
�����
� ���
���
�����
����
������������������������
adimensionale. In figura (fig. 3.2) sono ben presenti l’andamento originale quasi circolare (linea tratteggiata
sottile), l’andamento circolare (linea marcata continua).
Si può notare inoltre come l’andamento del flusso relativo sulla velocità abbia un andamento quasi lineare
nella parte di interesse del grafico. Anche per descrivere questo andamento si è scelto di considerare il valore
rispetto alla massa corretta adimensionale col valore del 50 %.
Per definire però una mappa di un compressore non è sufficiente aver descritta la linea di riferimento,
infatti la differenza tra portata massica al soffocamento e al pompaggio alla velocità dell’ 80% determina la
forma (una tendenza più o meno marcata ad appiattirsi) delle linee di velocità. I due ingegneri del MTU hanno
quindi deciso di considerare anche questo parametro.
Oltre a ciò è stato deciso di considerare anche l’andamento delle linee di isolavoro, e di calcolare la
differenza tra il lavoro al punto di riferimento e al 50% della portata di massa.
Una volta raccolti i 4 termini atti a descrivere le mappe, i ricercatori ne hanno studiato l’andamento sulle
57 curve caratteristiche a disposizione. Effettuata l’analisi degli andamenti è stato possibile per loro stabilire
alcune leggi che fossero un buon compromesso:
� �
πrel = 0.1961 + 0.08 ln (πref )
50%ṁ
� ṁ �
c −0.2223
= 1.1037πref
Nc 50%ṁc
� �
ṁc,range = 0.1751 exp −0.1042(πref )
80%Nc
(H/Nc2 )
Non è stato riscontrato un andamento definito per il parametro .
(H/Nc2 )ref
Quindi il parametro rimane invariato. La prima legge definisce completamente la circonferenza citata
precedentemente; è ora possibile intervenire con la legge
(ṁc,range )80%Nc ,new � �
ṁc,new = ṁc,max − ṁc,max − ṁc,orig
(ṁc,range )80%Nc ,orig
La legge sopraesposta definisce la nuova posizione del valore di pompaggio, mantenendo inalterato il
valore del soffocamento.
Ciò mantiene valida la legge ṁc,max = f (Nc ) . Questa legge va applicata ad ogni linea di velocità.
Nel passaggio successivo si utilizza il lavoro isoentropico per stabilire valori per le linee di velocità
congruenti con i nuovi rapporti di compressione. Dapprima si stabilisce il valore di ƒ.
His,ref,new
fH,is = = f (πorig , πref )
His,ref,orig
Dopodichè si applica la seguente legge per ricalcolare per tutte le linee di velocità i nuovi valori.
�
� His,new
Nc,new =�
�� � � �
His
fH,is N2
orig
Con questo passaggio si conclude la procedura per lo scaling delle mappe del compressore. Il tutto è stato
implementato nel programma “scala_mappa.m” (vd. Appendice). Nell’implementazione del programma non si
è scordato di valutare anche la variazione dei rendimenti (che seguono le ipotesi di progetto).
Per meglio comprendere l’effetto del metodo di scala sulla mappa di un compressore, la figura seguente
rappresenta rispettivamente la mappa caratteristica di un compressore assiale con rapporto di compressione
relativamente basso (1.1) ed una con rapporto di compressione più esasperato (24).
������������������������
���������
��� ���
������������
���
���
��� ���
���
��
��� ���
�����������
�����������
��� ����������� ���
�����������
���������� �����������
� �
� ��� ��� ��� ��� � ��� � ��� �
�������������������� �
�����������������������
���������
��� ���
FIGURA 3.3 • I gr afici r ap-
presentano il metodo di scaling
���
���
di un generico compressore
������������ con r appor to di compressione
��� ��� di 2.6. Modificandola si sono
���������������������� ottenute le mappe per r ap-
por ti di compressione di 1.1
��� ����������� ��� (in alto) e 24 (in basso). Da
notare il compor tamento pres-
����������� sochè di soffocamento imme-
���������� ����������� diato nel caso in basso.
� �
� ��� ��� ��� ��� � ��� � ��� �
�������������������� �
Come già accennato il procedimento per lo scaling delle mappe delle turbine è un po’ meno elaborato,
questa scelta deriva da una versatilità maggiore del componente.
Una volta raccolte le informazioni relative ad una mappa di una turbina [1] si è provveduto ad identificarne
il punto di progetto.
In figura si può notare la mappa recuperata da [1].
����������������������
�
� ��� � ��� � ��� � ��� �
�
���
�
�
���
���
�
��������������������
���
���
FIGURA 3.4 • Gr afico di una
generica turbina. In alto si pos-
��� sono notare i rendimenti per le
linee di velocità di 40% 60% 80%
100%. Nel Gr afico in basso invece
��� sono ripor tate le linee di velocità
40% 80% 100% della massa cor-
retta.In ascissa si trova il r appor-
to di espansione.
�
� ��� � ��� � ��� � ��� �
�
Anche in questo caso si è poi passati ad una fase di adimensionalizzazione dei valori in ascissa ed ordinata.
In questo modo si è potuto ottenere la mappa di una turbina generica.
Una volta calcolati i valori di progetto del ciclo termodinamico, con le leggi descritte nel capitolo 1, si è
provveduto modificare la mappa.
Dapprima si è effettuato un adattamento dei valori dell’ordinata in modo tale che la portata di soffocamento
sulla mappa fosse proprio quella trovata per le condizioni di progetto. Si è passati poi con la procedura già
descritta nel capitolo 2.3 all’analisi di due turbine in serie. In questo modo è stato possibile determinare la
curva con andamento asintotico (inclinato di circa 45° fig. 3.4). Qui sotto è riportata l’espressione che descrive
l’andamento della curva.
� � �
m T7 0 0 0
m T 6 p6 � � p0 � 1−k
k6
6 �
= 1 − ηta 1 − 6
p07 p06 p07 p07
E’ stato quindi possibile attraverso un procedimento iterativo determinare il fattore di scala corretto anche
per le ascisse (rapporto di espansione).
In conclusione con questo sistema è stato possibile ottenere le 3 turbine e l’ugello con curve caratteristiche
che, al 100% presentassero un soffocamento e valori di espansione e portata di massa corretta congruenti.
���� ����
���� ����
�
�� ��������
� ��� ����
�
���� ����
�
���� ����
FIGURA 3.5 • Gr afico comples-
sivo del compor tamento di turbina
siv
di alta pressione, media pressio-
���� ���� ne, bassa pressione e ugello del
flusso caldo,
caldo in condizione di sof-
focamento. LeL linee che divergono
dalla par allela all’asse x sono le
massime por tate di massa ingeri-
� � bili dalla turbina successiva.
� � � � �� � � � �� � � � �� � � � �
�������������� ������������������ ������������������ ��������������
U
na volta ottenute le mappe da applicare ai nostri componenti generici (si tratta infatti di pre-design),
si è finalmente in grado di verificarne le interazioni.
Come già accennato, pur non essendoci nessun vincolo meccanico tra i tre alberi (bassa pressione,
media pressione ed alta pressione), esistono diverse condizioni che devono essere rispettate affinché il
propulsore descriva una posizione di funzionamento realistica. Queste condizioni determinano dei vincoli per
cui esiste sul fan una sola linea operativa. Obiettivo dell’algoritmo esposto nel proseguio del capitolo è proprio
individuarla.
Prima però di cominciare con l’analisi è necessario assicurarsi di aver scelto un buon compromesso nella
costruzione del propulsore. Infatti si è di fronte ad un programma piuttosto versatile in grado di calcolare
il ciclo termodinamico di un qualsiasi turbofan trialbero; questa caratteristica non risparmia all’utente di
implementare dei propulsori dalle prestazioni non verosimili perchè costruiti secondo criteri non logici.
Per venire incontro all’utente è stata sviluppata una funzione del programma che permette una scelta
consapevole delle caratteristiche iniziali del propulsore.
Trattandosi di un elaborato basato sul concetto di pre-design è stata sviluppata una funzione nel programma
che permette di stabilire quale sia il miglior compromesso in un campo ampio di possibilità. Si è peraltro
verificato come alcune scelte progettuali effettuate nello sviluppo del programma abbiano portato a ricalcare
già adottate nella costruzione di diversi propulsori reali.
In genere un vincolo costruttivo è determinato dalla TIT (Turbine Inlet Temperature) ossia dalla temperatura
in ingresso della turbina. Un valore basso della TIT determina un abbassamento del valore massimo della
combustione (la camera di combustione è situata immediatamente prima della turbina di alta pressione).
Questo abbassamento è responsabile di un abbattimento delle prestazioni propulsive del motore. Esiste però in
genere un’ulteriore limitazione: la temperatura in uscita dal compressore.
Questi due limiti determinano di fatto il gradiente termico ad opera della camera di combustione.
In una prima parte del programma di ottimizzazione viene plottata la variazione di temperatura al crescere
del rapporto di compressione totale:
��������������
���
���
���
������������������������
���
���
���
Una volta letto dal file “contorno.txt” il limite imposto dal costruttore il programma calcola
automaticamente il rapporto di compressione massimo ammissibile.
Per ottenere:
πtot = πf an πcip πchi
����
����
����
�����
���
����
in genere si opta per rapporti di bypass più elevati. E’ inoltre uso mantenere separati i due flussi. Nel corso
degli anni ci si è spinti a rapporti di bypass sempre più esasperati in quanto garantiscono un minor consumo
specifico e un maggior rendimento. Il limite aerodinamico che blocca l’aumento di questo parametro è la
velocità all’estremità delle palette del fan. Infatti, per ragioni di perturbazioni di pressione ed onde d’urto, ci si
spinge al limite a velocità transoniche. Da sottolineare inoltre l’inquinamento acustico provocato già a velocità
transoniche.
Il programma di ottimizzazione quindi calcola il ciclo termodinamico in condizioni di progetto per ogni
tipologia di rapporto di compressione del fan (fig. 4.2). Dell’equazione ottenuta sceglie il massimo dopodichè
modifica il valore del bypass.
In questo modo è stato ottenuto il grafico (fig,. 4.3), che rappresenta il miglior compromesso nella scelta
del rapporto di compressione del fan al variare del rapporto di bypass.
������������������������������������
���
���
���
����
�
�
���
L’andamento in figura però può essere di difficile interpretazione. Per questo motivo il programma stampa a
video un ulteriore grafico (fig. 4.4) nel quale sono presenti i valori di spinta specifica e rendimento complessivo
al variare del rapporto di bypass.
Al progettista sta la scelta del valore più adatto alla tipologia di propulsore.
����������������������������������������
��
�
�
���
����
�
� ��
���
�
����
Algoritmo di matching
L’algoritmo si sviluppa sulla base degli esempi riportati in letteratura [1]. Si vuole sottolineare però che
l’implementazione dello stesso per il caso di turbofan trialbero è opera dello scrivente. In un primo tempo si
era pensato di adottare l’ipotesi del soffocamento delle turbine come imposizione. Questa condizione però,
seppur verificata nella maggior parte dei propulsori reali, una volta implementata all’interno di una piattaforma
di simulazione matematica ha prodotto risultati fuorvianti.
Si è deciso quindi di impostare il problema in via più libera (che si traduce in un aggravio del numero delle
operazioni da compiere da parte dell’algoritmo), in particolare sono stati inseriti un gran numero di iterazioni
che hanno permesso di ottenere risultati accurati.
L’algoritmo si basa sul calcolo iterativo delle condizioni di ogni macchina come se fosse libera da ogni
altro componente. In un secondo tempo vengono presentate le condizioni di vincolo che determinano se i punti
scelti sulle mappe dei vari componenti siano congruenti o meno.
In particolare tra un componente e quello successivo deve essere rispettata la conservazione della massa
(bilancio di massa), non possono esistere pozzi o sorgenti di massa. Deve essere poi rispettata l’uguaglianza
dei lavori dei componenti calettati sul medesimo albero (fan turbina di bassa pressione, compressore di media
e turbina di media, compressore di alta e turbina di alta). Si tratta anche in questo caso di una semplificazione,
infatti, nello studio dei transitori di un propulsore (rapida variazione della manetta), le variazioni di velocità
dei componenti sono tali per cui localmente le due leggi precedenti non vengono rispettate (se un albero
accelera è perché la differenza di lavoro turbina compressore è diversa da zero - maggiore- ). Allo stesso
modo all’accelerare del compressore la massa che lo interessa sarà maggiore di quella della turbina, che non
Fatto ciò comincia l’algoritmo vero e proprio. Per determinare le condizioni ambientali e le variazioni ad
opera della presa dinamica si adottano le usuali:
� k0 − 1 � k k−1
0
0
p0amb = pamb 1 + M a2
2
� �T0 �� k k−1
2
2
p02 = pa 1 + ηd 2 − 1
Ta
p03
Si sceglie una linea di velocità del fan e di essa si seleziona un punto. Risultano quindi determinati e
� p02
m T20 . Con essi è pure determinato il rendimento del fan.
p02
Il valore della massa del fan è però determinato a meno della portata d’aria calda, per correggere ciò si
usa la seguente:
� �
m T20 m T20 � �
0 = 0 1+B
p2 p2
A questo punto viene avviata una iterazione. Di fatto si tratta di un procedimento molto simile a quello
spiegato nel primo capitolo. Anche in questo caso, l’iterazione è necessaria se si vuole determinare il gradiente
termico tra ingresso e uscita del fan considerando l’esponente isoentropico variabile in funzione della
temperatura.
Solo per questa prima iterazione sarà esposto il procedimento iterativo sottoforma di grafico, per le
successive si indicherà la presenza di un’iterazione solo nel testo senza fare ricorso ad un aiuto grafico.
Una volta determinato il rapporto di compressione del fan si può ricavare dalla mappa anche il valore del
rendimento.
ηf an ricavato da grafico
������ ����������
�� � k2k−1 �
2
T0 p03
∆T23
0
= 2 −1
ηf an p02
∆T23
0
k2 = f (T20 + )
2
T30 0
T30 = T
T20 2
Inoltre risulta determinata la portata di massa in uscita al fan, da intendersi divisa per il rapporto di
bypass:
� � �
m T30 m T20 p02 T30
=
p03 p02 p03 T20
Ora si avvia una ulteriore iterazione. In questo caso, preso come punto di riferimento la portata di massa
corretta in entrata al compressore di media pressione, si ricerca sulla mappa tra tutti i valori di rapporto di
compressione dalla linea di pompaggio a zero. E’ possibile modificare lo step tra un’intervallo e l’altro.
0
Selezionato un valore di p40 , risultano determinati univocamente i valori di portata di massa e rendimento
p3
del compressore.
Quando la portata di massa uguaglia il valore trovato in precedenza l’iterazione termina.
Ora viene avviata una ulteriore iterazione per ricercare il valore dell’esponente isoentropico all’interno del
compressore di media pressione.
k3 = f (T30 )
�� � k3k−1 �
3
T0 p04
∆T34
0
= 3 −1
ηcip p03
∆T34
0
k3 = f (T30 + )
2
E’ quindi possibile determinare il valore della temperatura in uscita al compressore di media pressione:
T40 ∆T34
0
+ T30
0 = 0
T3 T3
T40 0
T40 = T
T30 3
A questo punto come si può immaginare si avvia una procedura simile a quella adottata per fan e
compressore di media: ci stiamo quindi avvicinando al terzo ciclo iterativo concatenato.Si ricerca quindi un
valore congruo perchè il compressore di alta pressione soddisfi la condizione di portata di massa che si presenta
al suo ingresso.
0
Selezionato un valore di p50 , risultano determinati univocamente i valori di portata di massa e rendimento
p4
del compressore.
Quando la portata di massa uguaglia il valore trovato in precedenza l’iterazione termina.
p05 p04 p03 0
p05 = p
p04 p03 p02 2
Anche per determinare il valore dell’esponente isoentropico per la variazione della temperatura all’interno
del compressore di alta pressione è necessario ricorrere ad un’iterazione.
k4 = f (T40 )
�� � k4k−1 �
4
T0 p05
∆T45
0
= 4 −1
ηchp p04
∆T45
0
k4 = f (T40 + )
2
E’ quindi possibile determinare il valore della temperatura all’uscita del compressore di alta pressione:
T50 ∆T45
0
+ T40
0 = 0
T4 T4
T50 0
T50 = T
T40 4
Inoltre si riesce a dedurre la pressione all’uscita della camera di combustione; il suo valore infatti è
vincolato a quello della pressione in uscita del compressore di alta pressione.
Per determinare il valore della temperatura in uscita dalla camera di combustione è necessario iterare
0
un valore di espansione in turbina di alta pressione. Quindi scelto un valore di p60 , risultano univocamente
p7
determinati il rendimento della turbina e la portata di massa in ingresso.
�
m T60 , ηta .
p06
Essendo noto il valore della portata di massa si può calcolare il salto tra la temperatura in ingresso del
compressore e quella in ingresso della turbina.
� � �
m T60 m T40 p04 p05 T60
=
p06 p04 p05 p06 T40
Ora è possibile calcolare il salto termico nella turbina di alta pressione. Questo permette di ricalcolare il
valore del salto termico tra temperatura di ingresso del compressore di alta e quello dell’ingresso della turbina
di alta. Nel caso i due valori siano uguali l’iterazione si ferma.
� � � 1−k 6 �
∆T670 k6
p06
= ηta 1 −
T60 p07
∆T670
∆T450
T40 cp4 ṁa
=
T60 T40 T60 cp6 ṁa + ṁf
� � � �
T60 T60
= ?
T40 T40
πesp bilancio lavoro
Una volta verificata l’uguaglianza sopra esposta si possono determinare i valori di temperatura all’uscita
della camera di combustione (TIT) e temperatura all’uscita della turbina di alta pressione, oltre alla pressione
in uscita della turbina.
T60 0
T60 = T
T40 4
p07 0
p07 = p
p06 6
Si passa ora all’iterazione per la ricerca del rapporto di espansione corretto nella turbina di media pressione,
il procedimento è analogo a quello illustrato nella pagina precedente, cambiano solo gli indici.
0
Scelto un valore di p70 , risultano univocamente determinati il rendimento della turbina e la portata di
p8
massa in ingresso.
�
m T70 , ηtm .
p07
Essendo noto il valore della portata di massa si può calcolare il salto tra la temperatura in ingresso del
compressore e quella in ingresso della turbina.
� � �
m T70 m T60 p06 � � p0 � 1−k
k6
6 �
0 = 0 0 1 − ηta 1 − 06
p7 p 6 p7 p7
Ora è possibile calcolare il salto termico nella turbina di media pressione. Questo permette di ricalcolare
il valore del salto termico tra temperatura di ingresso del compressore di media e quello dell’ingresso della
turbina di media. Nel caso i due valori siano uguali l’iterazione si ferma.
� � � 1−k 7 �
∆T780 k7
p07
= ηtm 1 −
T70 p08
∆T780
∆T340
T30 cp3 ṁa
=
T70 T30 T70 cp7 ṁa + ṁf
� � � �
T70 T70
= ?
T30 T30
πesp bilancio lavoro
Una volta verificata l’uguaglianza si possono determinare i valori di temperatura all’uscita della turbina di
media pressione oltre alla pressione in uscita dalla medesima turbina.
p08 0
p08 = p
p07 7
Si passa ora al procedimento di iterazione per la turbina di bassa pressione, anche in questo caso la
procedura è la stessa, con l’unica eccezione che nel calcolo della portata di massa attraverso il bilancio del
lavoro è necessario considerare l’apporto della massa d’aria fredda del fan.
p08
Scelto un valore di , risultano univocamente determinati il rendimento della turbina e la portata di
p09
massa in ingresso.
�
m T80 , ηtb .
p08
Essendo noto il valore della portata di massa si può calcolare il salto tra la temperatura in ingresso del fan
e quella in ingresso della turbina di bassa pressione.
� � �
m T80 m T20 p02 p03 p04 p05 p06 p07 T90 � �
= 1 + B
p08 p02 p03 p04 p05 p06 p07 p08 T20
Ora è possibile calcolare il salto termico nella turbina di bassa pressione. Questo permette di ricalcolare
il valore del salto termico tra temperatura di ingresso del fan e quello dell’ingresso della turbina di bassa. Nel
caso i due valori siano uguali l’iterazione si ferma.
� � � 1−k 8 �
∆T890 k8
p08
= ηtb 1 −
T80 p09
∆T890
∆T23
0
T20 cp2 ṁa
= (1 + B)
0
T8 T2 T8 cp8 ṁa + ṁf
0 0
� � � �
T80 T80
= ?
T20 T20
πesp bilancio lavoro
Una volta verificata l’uguaglianza si possono determinare i valori di temperatura all’uscita della turbina di
bassa pressione, oltre alla pressione in uscita dalla medesima turbina.
T90 = T80 − ∆T89
0
p09 0
p09 = p
p08 8
Si hanno nuovamente tutti gli elementi per calcolare l’area dell’ugello del flusso caldo, nel caso questa sia
uguale all’area trovata precedentemente, col calcolo delle prestazioni in condizioni di progetto, significa che
i punti determinati sui grafici delle macchine riportano un andamento realistico di funzionamento: è quindi
possibile tracciare un punto sul diagramma di macchina del fan. Ne segue la possibilità di tracciare i punti per
gli altri due compressori, ma per motivi di tempo si è ritenuto sufficiente considerare solo la ventola.
Con la formula per il calcolo dell’area si concludono tutte le iterazioni ancora mantenute aperte, in ogni
caso si prosegue con il punto successivo della linea...
cp9 = f (T90 )
k9 = f (T90 )
ṁ + ṁf .
Anew = � � �
� � � k2 � � k9k+1
�
�2cp9 T 0 pamb 9 pamb 9
9 p0 9 p09
5 Scelte di programmazione
N
ei capitoli precedenti si è fornita una dettagliata spiegazione della teoria che sta alla base dello
studio funzionamento di un turbofan trialbero.
Bisogna però ricordare che tutta l’analisi è stata effettuata adottando come piattaforma di calcolo
Matlab 7 ™. Nello studio dei risultati non è possibile scindere la teoria dallo strumento su cui essa è stata
applicata.
Nella mole di lavoro che ha accompagnato questo elaborato di tesi ha giocato un ruolo fondamentale il tentativo
di raggiungere un livello rigoroso nell’acquisizione delle risorse di calcolo.
Durante lo sviluppo di tutti i programmi necessari ad elaborare i dati (si rimanda all’appendice per una lista
parziale di essi), si è sempre cercato di porre l’attenzione sull’efficienza degli algoritmi utilizzati sia in termini
di risorse computazionali sia in termini di errori di calcolo. L’esperienza effettuata durante il corso di laurea
con i corsi di informatica e calcolo numerico, che si basavano su di una piattaforma non squisitamente diretta ad
un utilizzo matematico (linguaggio C), ha giovato soprattutto per aggirare e superare ostacoli legati all’algebra
del personal computer.
Come si è potuto apprezzare il programma di matching si rifà costantemente all’uso di grafici. Nella
prossima sezione verrà approfondito il metodo di acquisizione di tali informazioni.
In un primo tempo, nel tentativo di implementare la variabilità di calore specifico a pressione costante
e dell’esponente isoentropico in funzione della temperatura, si era pensato di acquisire i grafici presenti in
letteratura ([1], [2]) attraverso una scansione. Successivamente, utilizzando excel e la sua possibilità di gestire i
grafici, si sovrapponevano alla curva scansionata il maggior numero di punti possibile. Fatto questo si passava
a Matlab ed immesse le coordinate dei punti in due array si era in grado di dedurre i coefficienti delle equazioni
utilizzando un fitting.
Questo approccio, pur fornendo una discreta qualità delle informazioni, mancava completamente di
ripetibilità.
Per come è stato sviluppato il programma la versatilità e la possibilità di gestione anche da parte di utenza
non esperta erano obiettivi irrinunciabili.
Appariva piuttosto primitivo il sistema studiato con l’ausilio di excel, inoltre la scala delle immagini
doveva essere sempre ricontrollata. Di fronte ad immagini dalla qualità non eccellente (linee grosse, sporcizia
nella stampa probabilmente viziata dall’acquisizione delle stesse immagini stampate sui testi da altre fonti) la
possibilità d’errore nella scelta dei punti aumentava visibilmente.
Per questo motivo si è deciso di sviluppare un pacchetto nominato “imageread ”. Si tratta di un ambiente
sviluppato con Matlab in grado di leggere un file di immagine “.gif”. Esiste infatti una funzione di Matlab
che permette di salvare in una matrice tutte le informazioni relative ad una immagine, pixel per pixel.
Partendo da questa funzione base si è sviluppato poi un algoritmo che era in grado di ridurre la mole
dei dati immagazzinati, considerando di importanza per la matrice solamente i pixel che rispettassero la
condizione di essere di colore nero. In questo modo ad esempio una immagine di [400,400] pixel (fig. 5.1)
passava dall’occupare una matrice [400,400,3] (la terza dimensione dovuta alle informazioni di colore RGB
Red Green Blue) ad una matrice [n,2] con n numero di pixel neri dell’immagine, e le due colonne a riportare
le coordinate x e y all’interno della figura (fig. 5.2).
�������������������������
���
����
����
����
�����������������
����
����
����
����
FIGURA 5.2 • Questo è il secondo
step: si passa da una matrice conte-
���� nente le infor mazioni per tutti i pixel
dell’immagine ad una contenente esclu-
sivamente le coordinate dei pixel neri.
Appare evidente però che se l’immagine di partenza aveva uno spessore maggiore di un pixel (e questo
avviene sempre quando si tratta di immagini importate attraverso una scansione), si aveva l’andamento
seghettato in figura (fig. 5.2).A questo punto interviene una seconda parte del programma che esegue una
media dei pixel colonna per colonna ne riporta poi il valore mediato di coordinate. Così se una linea è spessa 6
viene riportato solo il 3 se invece è spessa 5 viene riportato il valore 2.5. Il risultato dell’operazione è esposto
in figura (fig. 5.3).
�������������������������
���
���
���
�����������������
���
���
Ora quindi si hanno a disposizione due vettori di coordinate che descrivono in modo univoco una curva, è
possibile eseguire un fitting di tali array in modo tale che siano disponibili equazione caratteristica e coefficienti.
Il risultato di una generica linea di velocità del compressore acquisita e portata sottoforma di equazione è in
figura (fig. 5.4).
�������������������������
����
���
����
����
�����������������
����
����
���
FIGURA 5.4 • Quest
���� è il quar to ed ultimo
passaggio si tr atta del
������������ fitting dei punti prec-
edentemente individuati.
In questo modo si ot-
���� tiene un’equazione con
ben deter minati coef-
���� ficienti.
���� ���� ���� ���� ��� ���� ���� ���� ����
��������������������
Questo approccio è stato applicato anche nell’acquisizione delle informazioni relative alla mappa della
turbina, dei compressori, oltre che, come già accennato, al grafico della variabilità in funzione della temperatura
di calore specifico a pressione costante e dell’esponente isoentropico.
Nelle immagini successive sono posti a confronto i due grafici, l’originale scansionato e quello rielaborato
con “imageread ”.
����������������������
�
� ��� � ��� � ��� � ��� �
�
���
��
���
���
�
��������������������
���
���
���
���
�
� ��� � ��� � ��� � ��� �
�
�������������������������
���������
��������
���
��������
��������
�
��������
����������������
���
���
�����������
���
���������� ��������
��� ���������
���������
�������� ���������
�
� ��� ��� ��� ��� � ���
��������������������
�������������
���
���������
����
���
����
��� ���������������
��
����
���
����
��� � ����������������������������
����
�
��� ��� ��� ���� ���� ���� ���� ���� ����
���������������
������������
���
����
����
����
� ��������������
����
�������
���
����
�����������������������������
����
����
���� ���������
���
��� ��� ��� ���� ���� ���� ���� ���� ����
���������������
A Appendice A
ottimizzatore.m
Questo file raccoglie diverse funzioni, legge due files esterni: “risultato.txt”, e “contorno.txt”,
effettua il calcolo per tutto il ciclo termodinamico e stampa su “risultato.txt” i risultati; inoltre salva
all’interno della cartella “var” tutti i vettori di risultato in modo da renderli fruibili con più velocità in eventuali
operazioni successive. Esiste la possibilità di stampare i risultati su di un file “Cpinteractive.xls” che
effettua anche il dimensionamento dei componenti, inoltre è sempre possibile abilitare la stampa di tutte le
variabili di interesse all’interno del file “dati_accessori.txt”.
%Analizza il file ʻrisultato.txtʼ proveniente da anal- RISULTATO(1,:) = 0;
isi dellʼalgoritmo end
%genetico
nome_file= ʻrisultato.txtʼ;
[RISULTATO,NOME_R,nn]= risultato_open(nome_file); %Avvia lo studio del ciclo termodinamico
[VALORE,RISULTATO] = ciclo_termodin(VALORE,RISULTATO
%Legge il file ʻcontorno.txtʼ contenente le informazi- );
oni al contorno
%relative alle condizioni operative del turbofan
%Scrive i risultati sul file ʻrisultato.txtʼ in modo
nome_file= ʻcontorno.txtʼ; tale da poter essere
fprintf(1,ʼ%e\nʼ,RISULTATO(1,:)); %analizzato dallʼalgoritmo genetico.
risultato_open.m
Legge il contenuto del file “risultato.txt” ignorando qualsiasi riga cominci per “#”.
risultato_write.m
Questo file stampa i risultati sul file “risultato.txt”.
function[] = risultato_write(NOME_R,RISULTATO,nn)
%Con questa funzione viene aperto il file ʻrisultato.
txtʼ in modalitaʼ while i < (nn)
%scrittura, avviene così lʼaggiornamento del file con fprintf(f_scrivi,ʼ%s = %.8e\nʼ,NOME_
i nuovi risultati R(i,:),RISULTATO(i,:));
i=i+1;
i=1; end
status = fclose(f_scrivi);
f_scrivi = fopen(ʻrisultato.txtʼ,ʼwʼ);
fprintf(f_scrivi,ʼ#DATI RISULTATO\nʼ);
fprintf(f_scrivi,ʼ#__________________________________
________\nʼ);
fprintf(f_scrivi,ʼ#\nʼ);
fprintf(f_scrivi,ʼ#Di seguito sono forniti dati di ri-
sultato\nʼ);
fprintf(f_scrivi,ʼ#\nʼ);
contorno_open.m
Questo file legge le informazioni contenute in “contorno.txt” ignorando tutte le righe che cominciano
per “# “.
Alti = VALORE(1,:);
Mach = VALORE(2,:);
ciclo_termodin.m
Questo file effettua il vero e proprio calcolo delle prestazioni del propulsore nelle condizioni di progetto.
Temperature_ratio.m
Questo file è una funzione che legge in ingresso l’altitudine di volo e calcola il valore della temperatura
rispetto ad un valore di riferimento tabellato [2].
%In questa funzione è racchiusa la curva per la tem- else if Alti>=10.95 & Alti<19.95
perature ratio rispetto allʼaltitudine % p1 = 1.8267e-017;
%la curva è stata ottenuta dalla tabella sul testo di % p2 = 0.732;
sistemi propulsivi Tr=0*Alti+0.7519;
%la curva è stata divisa in tre tronconi, nei quali % Tr=0*p1*Alti+p2;
si nota unʼandamento else if Alti>=20
%lineare, per cui lʼoperatore prima di ritornare il
risultato effettua una p1 = 0.0034327;
%verifica. Si è ristretto il campo di applicabilit‡ da p2 = 0.68307;
0 a 30 km s.l.m.
Tr=p1*Alti+p2;
function[Tr] = temperature_ratio(Alti)
%Alti=21; end
end
if Alti<10.95 end
p1 = -0.022515;
p2 = 0.99992; Tref=288.2;
Tr=Tr*Tref;
Tr=p1*Alti+p2;
ro_ratio.m
Questo file è una funzione che legge in ingresso l’altitudine di volo e calcola il valore della densità dell’aria
rispetto ad un valore di riferimento tabellato [2].
pressure_ratio.m
Questo file è una funzione che legge in ingresso l’altitudine di volo e calcola il valore della pressione
dell’aria rispetto ad un valore di riferimento tabellato [2].
pure_air.m
Questo file, data una temperatura assoluta in ingresso, restituisce il valore dell’esponente isoentropico per
l’aria pura. I grafici sono stati ottenuti con la tecnica descritta in maniera approfondita nei capitoli precedenti.
Come immagine di base si è fatto riferimento a [2].
%In questa funzione è racchiusa la curva per
lʼesponente isoentropico per p1 = -2.0787e-014;
%la miscela aria pura p2 = 1.0789e-010;
%La curva è stata ottenuta per punti attraverso excel p3 = -1.7027e-007;
e successivamente p4 = 2.3062e-005;
%riportata in matlab attraverso una regressione cu- p5 = 1.3984;
bica k=p1*power(T,4)+p2*power(T,3)+p3*power(T,2)+p4*powe
r(T,1)+p5;
function[k] = pure_air(T)
pure_air_cp.m
Questo file, data una temperatura assoluta in ingresso, restituisce il valore del calore specifico a pressione
costante per l’aria pura. I grafici sono stati ottenuti con la tecnica descritta in maniera approfondita nei capitoli
precedenti. Come immagine di base si è fatto riferimento a [2].
%In questa funzione è racchiusa la curva per per il p1 = -2.3293e-011;
cp per p2 = 9.739e-009;
%la miscela aria pura p3 = 0.00029918;
%La curva è stata ottenuta per punti attraverso excel p4 = 0.97836;
e successivamente
%riportata in matlab attraverso una regressione cu- k=p1*power(T,3)+p2*power(T,2)+p3*T+p4;
bica %porta la variabile da kj/kg a j/kg.
function[k] = pure_air_cp(T) k=k*1000;
comb_prod.m
Questo file, data una temperatura assoluta in ingresso, restituisce il valore dell’esponente isoentropico per
i prodotti della combustione a rapporto stechiometrico. I grafici sono stati ottenuti con la tecnica descritta in
maniera approfondita nei capitoli precedenti. Come immagine di base si è fatto riferimento a [2].
%In questa funzione è racchiusa la curva per function[k] = comb_prod(T)
lʼesponente isoentropico per p1 = -8.7739e-015;
%la miscela prodotti della combustione stechiomet- p2 = 3.5369e-011;
rica. p3 = -1.1539e-008;
%La curva è stata ottenuta per punti attraverso excel p4 = -0.00012574;
e successivamente p5 = 1.4065;
%riportata in matlab attraverso una regressione cu- k=p1*power(T,4)+p2*power(T,3)+p3*power(T,2)+p4*T+p
bica 5;
comb_prod_cp.m
Questo file, data una temperatura assoluta in ingresso, restituisce il valore del calore specifico a pressione
costante per i prodotti della combustione a rapporto stechiometrico. I grafici sono stati ottenuti con la tecnica
descritta in maniera approfondita nei capitoli precedenti. Come immagine di base si è fatto riferimento a [2].
%In questa funzione è racchiusa la curva per il cp function[k] = comb_prod_cp(T)
per
%la miscela prodotti della combustione stechiomet- p1 = -3.1235e-011;
rica. p2 = 6.7201e-008;
%La curva è stata ottenuta per punti attraverso excel p3 = 0.0001406;
e successivamente p4 = 0.96346;
%riportata in matlab attraverso una regressione cu- k=p1*power(T,3)+p2*power(T,2)+p3*T+p4;
bica %porta la variabile da kj/kg a j/kg.
k=k*1000;
plotter_grafici.m
Questo file è stato utilizzato per ottenere i grafici precedentemente citati (calore specifico a pressione
costante, esponente isoentropico, pressure ratio...). Una volta portati in grafico i valori delle tabelle [2], è stato
effettuato un fitting.
T_ratio1 = [1.00000,0.97740,0.95490,0.93240,0.90980,
comair_cp=[1.13 , 1.2 , 1.2672 , 1.322 , 1.368 , 0.88730,0.86480,0.84230,0.81980,0.79730,0.77480,0.7
1.408 , 1.434]; 5230];
T_ratio2 = [0.75190,0.75190,0.75190,0.75190,0.75190,0
%plot(T,pureair) .75190,0.75190,0.75190,0.75190];
%plot(T,comair)
%plot(T,pureair_cp) T_ratio3 = [0.75510,0.75850,0.76200,0.76540,0.76890,0
%plot(T,comair_cp) .77230,0.77580,0.77920,0.78260,0.78610];
%plot(Altitude1,T_ratio1)
plot(pigreco,n80)
%plot(Altitude2,T_ratio2)
pigreco=[11,12,13,14,15,16,17,18,19,20,21];
%plot(Altitude3,T_ratio3) n60=[0.59,0.665,0.715,0.75,0.78,0.795,0.79,0.775,0.74
,0.675,0.595];
%PLOTTER GRAFICI DI MACCHINA (COMPRESSORE)
%plot(pigreco,n60)
pigreco= [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,1
8,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35 pigreco=[7,8,9,10,11,12,13,14,15];
,36,37,38,39,40];
n100=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.55,0.585, n40=[0.465,0.56,0.63,0.68,0.713,0.717,0.702,0.655,0.
0.625,0.665,0.7,0.735,0.765,0.79,0.805,0.81,0.807 59];
,0.782,0.73,0.64,0,0,0,0,0,0,0,0,0];
n80= [0,0,0,0,0,0,0,0,0,0,0,0,0,0.6,0.66,0.71,0.75,0. %plot(pigreco,n40)
785,0.815,0.84,0.858,0.86,0.84,0.815,0.765,0.685,0.5
75,0,0,0,0,0,0,0,0,0,0,0,0,0]; pigreco=[3,4,5,6,7,8,9,10];
n60=[0,0,0,0,0,0,0,0,0,0,0.59,0.665,0.715,0.75,0.78 n20=[0.23,0.32,0.405,0.47,0.51,0.52,0.495,0.455]
,0.795,0.79,0.775,0.74,0.675,0.595,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0]; %plot(pigreco,n20)
n40=[0,0,0,0,0,0,0.465,0.56,0.63,0.68,0.713,0.717,0
.702,0.655,0.59,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 %PLOTTER GRAFICI ADIMENSIONALI MASS FLOW
,0,0,0,0,0,0,0,0];
n20=[0,0,0.23,0.32,0.405,0.47,0.51,0.52,0.495,0.455 pigreco= [18,19,20,21,22,23,24,25,26,27,28,29,30,31];
,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, m100=[1,1,1,1,1,1,1,1,1,1,1,1,1,1];
0,0,0,0,0,0];
%plot(m100,pigreco)
m100=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1
,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0]; pigreco= [14,15,16,17,18,19,20,21,22,23,24,25,26,27,
m80=[0,0,0,0,0,0,0,0,0,0,0,0,0,0.9368,0.9366,0.9364,0 28];
.9362,0.9357,0.9353,0.9348,0.9344,0.934,0.9335,0.929 m80=[0.9368,0.9366,0.9364,0.9362,0.9357,0.9353,0.93
5,0.9266,0.915,0.905,0.886,0,0,0,0,0,0,0,0,0,0,0,0]; 48,0.9344,0.934,0.9335,0.9295,0.9266,0.915,0.905,
m60=[0,0,0,0,0,0,0,0,0,0,0,0.7875,0.7875,0.7875,0.7 0.886];
875,0.7875,0.7875,0.7875,0.785,0.774,0.755,0.72,0
,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]; %plot(pigreco,m80)
m40=[0,0,0,0,0,0,0,0.6265,0.6265,0.62375,0.6185,0.6
13,0.605,0.592,0.5785,0.5575,0.525,0,0,0,0,0,0,0, pigreco=[12,13,14,15,16,17,18,19,20,21,22];
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]; m60=[0.7875,0.7875,0.7875,0.7875,0.7875,0.7875,0.7875
m20=[0,0,0,0.435,0.433,0.426,0.415,0.405,0.385,0.36 ,0.785,0.774,0.755,0.72];
45,0.326,0.274,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0]; %plot(pigreco,m60)
%plot(n100,pigreco,n80,pigreco,n60,pigreco,n40,pigrec pigreco=[8,9,10,11,12,13,14,15,16,17];
o,n20,pigreco) m40=[0.6265,0.6265,0.62375,0.6185,0.613,0.605,0.592,0
%plot(m100,pigreco,m80,pigreco,m60,pigreco,m40,pigrec .5785,0.5575,0.525];
o,m20,pigreco)
%plot(pigreco,m40)
%xlabel(ʻrendimentiʼ)
%ylabel(ʻrapporto di compressioneʼ) pigreco=[4,5,6,7,8,9,10,11,12];
%title(ʻMacchina adimensionale: rendimentiʼ) m20=[0.435,0.433,0.426,0.415,0.405,0.385,0.3645,0.326
,0.274];
pigreco= [18,19,20,21,22,23,24,25,26,27,28,29,30,31];
%plot(pigreco,m20)
n100=[0.55,0.585,0.625,0.665,0.7,0.735,0.765,0.79,0.8
05,0.81,0.807,0.782,0.73,0.64]; %CALCOLO EQUAZIONE SURGE LINE
%plot(pigreco,n100) pigreco=[12,17,22,28,31];
pigreco= [14,15,16,17,18,19,20,21,22,23,24,25,26,27]; surge_line=[0.274,0.525,0.72,0.886,1];
n80=[0.6,0.66,0.71,0.75,0.785,0.815,0.84,0.858,0.86,0 %plot(surge_line,pigreco)
.84,0.815,0.765,0.685,0.575];
plot_ambiente.m
Questo file è stato creato per stampare a video il grafico 1 Capitolo 1.
plot_originale.m
Questo file è stato creato per stampare a video il grafico del compressore, inoltre effettua una verifica dei
dati iniziali della mappa in modo tale da poter confrontare le mappe.
wref=0; [X0,Y0]=plot_cubic(p1,p2,p3,p4,xin,xout);
refx=0;
%--------------------------------------------------
[refx(r) I]=max(Y0); % N= 0.952 Rendimento
refy(r)=X0(I); %--------------------------------------------------
r=r+1;
%-------------------------------------------------- xin=0.3735;
% N= 0.528 Rendimento xout=0.964;
%--------------------------------------------------
p1 = -0.83594;
xin=0; p2 = 0.39699;
xout=0.1965; p3 = 1.1172;
p4 = 0.28265;
p1 = -75.88;
p2 = -6.4141; [X5,Y5]=plot_cubic(p1,p2,p3,p4,xin,xout);
p3 = 8.1785; [refx(r) I]=max(Y5);
p4 = 0.14495; refy(r)=X5(I);
r=r+1;
[X1,Y1]=plot_cubic(p1,p2,p3,p4,xin,xout);
[refx(r) I]=max(Y1); %--------------------------------------------------
refy(r)=X1(I); % N= 1.0 Rendimento
r=r+1; %--------------------------------------------------
%--------------------------------------------------
% N= 0.661 Rendimento xin=0.4325;
%-------------------------------------------------- xout=1.09;
xin=0.0825; p1 = -1.1502;
xout=0.3445; p2 = 1.8001;
p3 = -0.22279;
p1 = -2.7567; p4 = 0.56923;
p2 = -10.274;
p3 = 6.3937; [X6,Y6]=plot_cubic(p1,p2,p3,p4,xin,xout);
p4 = 0.068776; [refx(r) I]=max(Y6);
refy(r)=X6(I);
[X2,Y2]=plot_cubic(p1,p2,p3,p4,xin,xout); r=r+1;
[refx(r) I]=max(Y2);
refy(r)=X2(I); %--------------------------------------------------
r=r+1; % N= 1.028 Rendimento
%--------------------------------------------------
%--------------------------------------------------
% N= 0.791 Rendimento xin=0.455;
%-------------------------------------------------- xout=1.138;
xin=0.18; p1 = -0.14934;
xout=0.565; p2 = -0.29621;
p3 = 1.2201;
p1 = -2.011; p4 = 0.21569;
p2 = -2.5448;
p3 = 3.5717; [X7,Y7]=plot_cubic(p1,p2,p3,p4,xin,xout);
p4 = 0.096164; [refx(r) I]=max(Y7);
refy(r)=X7(I);
[X3,Y3]=plot_cubic(p1,p2,p3,p4,xin,xout); r=r+1;
[refx(r) I]=max(Y3);
refy(r)=X3(I); %--------------------------------------------------
r=r+1; % N= 1.144 Rendimento
%--------------------------------------------------
%--------------------------------------------------
% N= 0.88 Rendimento xin=0.5445;
%-------------------------------------------------- xout=1.2765;
xin=0.279;
xout=0.77; p1 = 0.31691;
p2 = -1.296;
p1 = -1.4355; p3 = 1.961;
p2 = -0.18816; p4 = -0.07467;
p3 = 2.005;
p4 = 0.17934; [X8,Y8]=plot_cubic(p1,p2,p3,p4,xin,xout);
[refx(r) I]=max(Y8);
[X4,Y4]=plot_cubic(p1,p2,p3,p4,xin,xout); refy(r)=X8(I);
[refx(r) I]=max(Y4); r=r+1;
refy(r)=X4(I);
r=r+1; i=1;
%-----------------------------------------------
i=i+1; % [y3]=scale_y(y3,WMAX(i),WMIN(i),Wcn(i));
%----------------------------------------------- p3=polyfit(x3,y3,4);
% Calcola la linea per N corretto= 0.528 y3 = p3(1)*power(x3,4)+p3(2)*power(x3,3)
%----------------------------------------------- +p3(3)*power(x3,2)+p3(4)*power(x3,1)+p3(5);
[WMIN(i) I]=min(y3);
p1 = -123.44; SY(i)=x3(I);
p2 = 19.754; wref(i)=p3(1)*power(refy(i),4)+p3(2)*power(refy(
p3 = -1.8941; i),3) +p3(3)*power(refy(i),2)+p3(4)*power(refy(i),1)
p4 = -0.29469; +p3(5);
p5 = 0.56274;
i=i+1;
x1 = 0:0.001:0.2; %-----------------------------------------------
y1 = p1*power(x1,4)+p2*power(x1,3) +p3*power(x1,2 % Calcola la linea per N corretto= 0.88
)+p4*power(x1,1)+p5; %-----------------------------------------------
WMAX(i)=max(y1);
[WMIN(i) I]=min(y1); p1 = -3.8993
% [y1]=scale_y(y1,WMAX(i),WMIN(i),Wcn(i)); p2 = 5.9884
p3 = -3.4896
p1=polyfit(x1,y1,4); p4 = 0.91237
y1 = p1(1)*power(x1,4)+p1(2)*power(x1,3) p5 = 0.79282
+p1(3)*power(x1,2)+p1(4)*power(x1,1)+p1(5);
[WMIN(i) I]=min(y1); x4 = 0.279:0.001:0.777;
SY(i)=x1(I); y4 = p1*power(x4,4)+p2*power(x4,3) +p3*power(x4,2
wref(i)=p1(1)*power(refy(i),4)+p1(2)*power(re )+p4*power(x4,1)+p5;
fy(i),3) +p1(3)*power(refy(i),2)+p1(4)*power(refy(i) WMAX(i)=max(y4);
,1)+p1(5); [WMIN(i) I]=min(y4);
% [y4]=scale_y(y4,WMAX(i),WMIN(i),Wcn(i));
i=i+1;
%----------------------------------------------- p4=polyfit(x4,y4,4);
% Calcola la linea per N corretto= 0.661 y4 = p4(1)*power(x4,4)+p4(2)*power(x4,3)
%----------------------------------------------- +p4(3)*power(x4,2)+p4(4)*power(x4,1)+p4(5);
p1 = -45.816;
p2 = 30.17; [WMIN(i) I]=min(y4);
p3 = -8.7078; SY(i)=x4(I);
p4 = 0.97759; wref(i)=p4(1)*power(refy(i),4)+p4(2)*power(ref
p5 = 0.6315; y(i),3)+p4(3)*power(refy(i),2)+p4(4)*power(refy(i),1
)+p4(5);
x2 = 0.0825:0.0005:0.347;
y2 = p1*power(x2,4)+p2*power(x2,3) +p3*power(x2,2 i=i+1;
)+p4*power(x2,1)+p5; %----------------------------------------------
WMAX(i)=max(y2); % Calcola la linea per N corretto= 0.952
[WMIN(i) I]=min(y2); %----------------------------------------------
% [y2]=scale_y(y2,WMAX(i),WMIN(i),Wcn(i)); p1 = -1.6094;
x7 = 0.455:0.001:1.139;
y7 = p1*power(x7,4)+p2*power(x7,3) +p3*power(x7,2 x10 = WMIN(1):0.001:WMIN(9);
)+p4*power(x7,1)+p5;
WMAX(i)=max(y7); y10 = p(1)*power(x10,4)+p(2)*power(x10,3)+p(3)*po
[WMIN(i) I]=min(y7); wer(x10,2)+p(4)*power(x10,1)+p(5);
% [y7]=scale_y(y7,WMAX(i),WMIN(i),Wcn(i));
p7=polyfit(x7,y7,4); y10label=p(1)*power(0.7,4)+p(2)*power(0.7,3)+p(3)
y7 = p7(1)*power(x7,4)+p7(2)*power(x7,3) *power(0.7,2)+p(4)*power(0.7,1)+p(5)
+p7(3)*power(x7,2)+p7(4)*power(x7,1)+p7(5); %----------------------------------------------
%STAMPA IL GRAFICO
%--------------------------------------------------
------------- axes1)
%% Create figure i=i+1;
hold on text(WMAX(i),0.30,[ʻ \leftarrow N=ʼ,num2str(Ncne
figure1 = figure(ʻPaperPositionʼ,[0.6345 6.345 20.3 w(i),ʼ%.3fʼ)],ʼHorizontalAlignmentʼ,ʼleftʼ,ʼParentʼ
15.23],ʼPaperSizeʼ,[20.98 29.68]); ,axes1)
scale_y.m
Questo file è parte integrante del programma per di map-scaling per il compressore.Modifica i vettori y in
modo tale da ottenere una curva congruente con le ipotesi dopodichè effettua un fitting.
scala_turbina.m
Questo file scala le mappe delle 3 turbine e dell’ugello secondo il metodo esposto nei capitoli precedenti.
function [x6a,y6a,y6an,x6m,y6m,y6mn,x6b,y6b,y6bn,x6u,
y6u,massflow1,massflow2,massflow3,massflow4,PCesp1,PCesp %--------------------------------------------------
2,PCesp3,PCesp4] = scala_turbina () % Elaborazione curva TURBINA DI BASSA PRESSIONE
%-------------------------------------------------- %--------------------------------------------------
% Stampa i grafici per i tre alberi relativi a mass massflow3=mass*sqrt(T80)/p80; %Turbina di bassa
flow delle turbine
%-------------------------------------------------- [x0b,y0b,x1b,y1b,x2b,y2b,x3b,y3b,x4b,y4b,x5b,y5b,x6b,
y6b]=forma_turb(massflow3,3,etat3);
end
%------------------------------------------------ %-------------------------------------------------
% Elaborazione curva TURBINA DI ALTA PRESSIONE % Calcola la curva allʼuscita della turbina di media
%------------------------------------------------ %-------------------------------------------------
a=1;
%---------------------------------------------------- end
% Calcola la curva allʼuscita della turbina di bassa end
%--------------------------------------------------
x6a=1:((max-1)*power(PCesp1,1)/SCALE(1))/num:(max-
[sizex,sizey]=size(x6b); 1)*power(PCesp1,1)/SCALE(1)+1;
if sizey>sizex x6m=1:((max-1)*power(PCesp2,1)/SCALE(2))/num:(max-
sizex=sizey; 1)*power(PCesp2,1)/SCALE(2)+1;
end x6b=1:((max-1)*power(PCesp3,1)/SCALE(3))/num:(max-
a=-1; 1)*power(PCesp3,1)/SCALE(3)+1;
for i=1:1:sizex
k=comb_prod(power((y6b(i)/massflow3*p80),2)); PCesp1=PCesp1+1;
y6bn(i)=y6b(i)*x6b(i)*sqrt(1-y3b(i)*(1- PCesp2=PCesp2+1;
power(x6b(i),(1-k)/k))); PCesp3=PCesp3+1;
if y6bn(i) > massflow4 & a==-1 PCesp4=PCesp4+1;
SCALE(3)=x6b(i)-1;
plot_cubic.m
Il programma dati i coefficienti e gli estremi di x, stampa una quadratica di terzo grado.
X=xin:0.001:xout;
Y = p1*power(X,3)+p2*power(X,2) +p3*power(X,1)+p4;
cercaoptimum.m
Nel cercare il compromesso migliore per il calcolo delle prestazioni fuori progetto del propulsore è stato
implementato questo programma che provvede ad un calcolo iterativo alla ricerca del miglior compromesso e
stampa in funzione di rapporto di bypass il valore del rapporto di compressione del fan.
pamb = pressure_ratio(Alti);
%-------------------------------------------
%---------------OTTIMIZZATORE--------------- Tamb = temperature_ratio(Alti);
%------------------------------------------- fprintf(1,ʼ%e\nʼ,Tamb);
k2)-1)); b=b+1;
RR(b)=RISULTATO(13,:);
deltat=abs(Temp0-Tam0); else
if deltat<toll [RMAX(aa),PCmedia(aa)] = max(RR);
break; [NTOTMAX(aa),PCmedia1(aa)] = max(NTOT);
end break;
Tam0=Temp0; break;
Temp00(i)=Temp0; break;
end end
end end
for i=1:1:sizex
if Temp00(i)>VALORE(15,:) end
pimax= x(i-1); if isreal(RISULTATO(13,:))==1
break; R(a)=RISULTATO(13,:);
end spinta=RISULTATO(13,:);
end else
%Avvia lo studio del ciclo termodinamico [Rmax(aa),I(aa)] = max(R);
[ntotmax(aa),J(aa)] = max(ntot);
n0=RISULTATO(12,:);
spinta=RISULTATO(13,:); fprintf(1,ʼRapporto di By Pass: %e\nʼ,ii);
marco=1; RISULTATO(2,:)=I(aa);
mirco=1; for SS=1:0.1:pimax/I(aa)
picomp= pimax/RISULTATO(2,:); RISULTATO(3,:)=SS;
a=0; RISULTATO(4,:)=pimax/I(aa)/SS;
aa=0; [VALORE,RISULTATO] = ciclo_termodin(VALORE,RISUL
TATO);
if isreal(RISULTATO(12,:))==1
for ii=1:0.1:3.5 b=b+1;
RISULTATO(5,:)=ii; NTOT(b)=RISULTATO(12,:);
aa=aa+1; else
a=0; [RMAX(aa),PCmedia(aa)] = max(RR);
R=0; [NTOTMAX(aa),PCmedia1(aa)] = max(NTOT);
ntot=0; break;
for i=1:0.01:pimax break;
end
RISULTATO(2,:)=i; if isreal(RISULTATO(13,:))==1
RISULTATO(3,:)=sqrt(pimax/i); b=b+1;
RISULTATO(4,:)=sqrt(pimax/i); RR(b)=RISULTATO(13,:);
else
[VALORE,RISULTATO] = ciclo_termodin(VALOR [RMAX(aa),PCmedia(aa)] = max(RR);
E,RISULTATO); [NTOTMAX(aa),PCmedia1(aa)] = max(NTOT);
break;
if isreal(RISULTATO(12,:))==1 break;
a=a+1; end
ntot(a)=RISULTATO(12,:); end
else
[Rmax(aa),I(aa)] = max(R); end
[ntotmax(aa),J(aa)] = max(ntot);
end
fprintf(1,ʼRapporto di By Pass: %e\nʼ,ii); end
bypassmaxrs.m
Anche questo piccolo programma è stato sviluppato con l’intento di trovare il compromesso migliore
nella scelta di rapporto di compressione del fan e rapporto di bypass. Il programma stampa un grafico con le
migliori prestazioni di rendimento e spinta specifica in funzione di tale scelta.
%------------------------------------------- Tam0=Temp0;
%---------------OTTIMIZZATORE--------------- Temp00(i)=Temp0;
%------------------------------------------- end
% Stampa un grafico con i valori massimi di rendimento end
totale e spinta for i=1:1:sizex
% specifica in funzione del rapporto di bypass. Il if Temp00(i)>VALORE(15,:)
calcolo viene effettuato pimax= x(i-1);
% in base al massimo rapporto di compressione sos- break;
tenibile da progetto end
% (massima temperatura palette uscita compressore), end
dopodicheʼ viene %Avvia lo studio del ciclo termodinamico
% effettuato il calcolo per ogni rapporto di bypass n0=RISULTATO(12,:);
di tutte le spinta=RISULTATO(13,:);
% combinazioni possibili di rapporto di compressione marco=1;
del fan, viene scelta mirco=1;
% la ripartizione migliore e successivamente trac- picomp= pimax/RISULTATO(2,:);
ciata a video. val=0.01;
%Analizza il file ʻrisultato.txtʼ proveniente da anal- a=0;
isi dellʼalgoritmo aa=0;
%genetico for ii=1:0.1:5
nome_file= ʻrisultato.txtʼ; RISULTATO(5,:)=ii;
[RISULTATO,NOME_R,nn]= risultato_open(nome_file); aa=aa+1;
%Legge il file ʻcontorno.txtʼ contenente le informazi- a=0;
oni al contorno R=0;
%relative alle condizioni operative del turbofan ntot=0;
nome_file= ʻcontorno.txtʼ; for i=1:0.01:pimax
fprintf(1,ʼ%e\nʼ,RISULTATO(1,:)); RISULTATO(2,:)=i;
[VALORE,NOME,n]= contorno_open(nome_file); RISULTATO(3,:)=sqrt(pimax/i);
RISULTATO(1,:) = 50; RISULTATO(4,:)=sqrt(pimax/i);
x=1:0.01:50; [VALORE,RISULTATO] = ciclo_termodin(VALORE,RI
SULTATO);
Alti = VALORE(1,:); if isreal(RISULTATO(12,:))==1 & isreal(RISULTATO(13,
Mach = VALORE(2,:); :))==1
pamb = pressure_ratio(Alti); a=a+1;
Tamb = temperature_ratio(Alti); ntot(a)=RISULTATO(12,:);
fprintf(1,ʼ%e\nʼ,Tamb); R(a)=RISULTATO(13,:);
roam = ro_ratio(Alti); else
k=pure_air(Tamb); [Rmax(aa),I(aa)] = max(R);
cp0=pure_air_cp(Tamb); [ntotmax(aa),J(aa)] = max(ntot);
camb = Mach*sqrt((k-1)*cp0*Tamb); fprintf(1,ʼRapporto di By Pass: %e\nʼ,ii);
Tam0=Tamb+power(camb,2)/(2*cp0); break;
Temp0=Tam0; end
[sizex,sizey]=size(x); end
if sizey>sizex end
sizex=sizey; i=1:0.01:0.09+a*0.01;
end A=1:0.1:5;
Temp0=Tam0; % plot(i,R,i,ntot);
Tam00=Tam0; plot(A,Rmax,A,ntotmax);
toll=0.0001; plot(A,Rmax,A,ntotmax);
for i=1:1:sizex title(ʻ\bf\fontsize{12}Max R_s e max \eta_T_O_T in
for n_it = 1:1:10 funzione di By-Passʼ);
T2efmedia=(Temp0+Tam0)/2; xlabel(ʻBy-Pass m_c/m_hʼ);
k2=pure_air(T2efmedia); ylabel(ʻ\eta_0 R_sʼ);
cpef=pure_air_cp(T2efmedia); [VALORE,RISULTATO] = ciclo_termodin(VALORE,RISULTATO
Temp0=Tam00*(1+1/VALORE(4,:)*(power(x(i),(k2-1)/ );
k2)-1)); %Scrive i risultati sul file ʻrisultato.txtʼ in modo
deltat=abs(Temp0-Tam0); tale da poter essere
if deltat<toll %analizzato dallʼalgoritmo genetico.
break; risultato_write(NOME_R,RISULTATO,nn);
end fprintf(1,ʼOK\nʼ);
map_manager2.m
In questo caso il programma è stato sviluppato per ricreare le mappe dei compressori a partire dalle
immagini.
name=ʼn50b.gifʼ;
format=ʼgifʼ;
x=377; %plot(X11,Y11,X12,Y12,X13,Y13,X14,Y14,X15,Y15,X16
y=761; ,Y16,X17,Y17,X18,Y18,X19,Y19,X20,Y20)
[X20,Y20]=get_rendimento(name,format,x,y); hold off
%---------------------------------------------
isorendimenti.m
Questo foglio e’ responsabile della sintesi dei dati (coordinate dei punti del grafico) in una equazione che
ne descriva il comportamento (con il rispettivo campo di validità). Si tenga conto del fatto che tutte le curve
per N corretto sono a coordinate invertite ossia pigreco-mass flow e non viceversa (come da grafico e come
surge line e reference line). Il programma permette di trasformare le curve circolari di isorendimento generale
in curve di rendimento applicate alle linee di velocità.
xin=0; %-------------------------------------------
xout=0.084; % Calcola la linea per N corretto= 0.952
%-------------------------------------------
[N03X,N03Y]=find_sol(p1,p2,p3,p4,p5,xin,xout); p1 = -1.6094;
p2 = 3.2769;
%--------------------------------------------- p3 = -2.4623;
% Calcola la linea per N corretto= 0.528 p4 = 0.80924;
%--------------------------------------------- p5 = 0.86498;
p1 = -123.44; xin=0.3735;
p2 = 19.754; xout=0.964;
p3 = -1.8941;
p4 = -0.29469; [N09X,N09Y]=find_sol(p1,p2,p3,p4,p5,xin,xout);
p5 = 0.56274;
%---------------------------------------------
xin=0; % Calcola la linea per N corretto= 1.000
xout=0.1965; %---------------------------------------------
p1 = -0.98344;
[N05X,N05Y]=find_sol(p1,p2,p3,p4,p5,xin,xout); p2 = 2.449;
p3 = -2.2557;
%---------------------------------------------- p4 = 0.91026;
% Calcola la linea per N corretto= 0.661 p5 = 0.88191;
%----------------------------------------------
p1 = -45.816; xin=0.4325;
p2 = 30.17; xout=1.09;
p3 = -8.7078;
p4 = 0.97759; [N1X,N1Y]=find_sol(p1,p2,p3,p4,p5,xin,xout);
p5 = 0.6315;
%--------------------------------------------
xin=0.0825; % Calcola la linea per N corretto= 1.028
xout=0.3445; %--------------------------------------------
p1 = -0.72297;
[N06X,N06Y]=find_sol(p1,p2,p3,p4,p5,xin,xout); p2 = 1.9222;
p3 = -1.8878;
%--------------------------------------------- p4 = 0.81128;
% Calcola la linea per N corretto= 0.791 p5 = 0.90782;
%---------------------------------------------
p1 = -15.678; xin=0.455;
p2 = 18.979; xout=1.138;
p3 = -8.8428;
p4 = 1.8095; [N10X,N10Y]=find_sol(p1,p2,p3,p4,p5,xin,xout);
p5 = 0.64799;
%---------------------------------------------
xin=0.18; % Calcola la linea per N corretto= 1.144
xout=0.565; %---------------------------------------------
[N07X,N07Y]=find_sol(p1,p2,p3,p4,p5,xin,xout); p1 = -0.33415;
p2 = 1.1222;
%-------------------------------------------- p3 = -1.3862;
% Calcola la linea per N corretto= 0.88 p4 = 0.74589;
%-------------------------------------------- p5 = 0.95323;
p1 = -3.8993
p2 = 5.9884 xin=0.5445;
p3 = -3.4896 xout=1.2765;
p4 = 0.91237
p5 = 0.79282 [N11X,N11Y]=find_sol(p1,p2,p3,p4,p5,xin,xout);
xin=0.279; %rend=[1.0,0.99,0.98,0.96,0.94,0.90,0.80,0.70,0.60,0
xout=0.77; .5];
[N08X,N08Y]=find_sol(p1,p2,p3,p4,p5,xin,xout); %plot(N06Y,N06X);
find_ref.m
Questa funzione calcola le intersezioni per la linea di riferimento, effettua un’analisi della linea di
rendimento per ogni linea di velocità, ne calcola il massimo e per il valore trovato del rapporto di compressione
identifica sulla linea di velocità la portata di massa corretta.
name=ʼreflineb.gifʼ; [xs]=get_sol_ref(XX11,YY11,y);
format=ʼgifʼ;
x=287; SOLX=xs(1);
y=230; if SOLX~=0
[X11,Y11]=get_rendimento(name,format,x,y); SOLY=p1*power(SOLX,4)+p2*power(SOLX,3) +p3*power(SOL
X,2)+p4*power(SOLX,1)+p5;
else
% Calcola le intersezioni per refline SOLY=0;
%-------------------------------------------- end
[XX11,YY11]=tronca(Y11,X11,xin,xout);
y = p1*power(XX11,4)+p2*power(XX11,3) +p3*power(XX11,
find_sol.m
Questa funzione è ampiamente utilizzata nel programma ”isorendimenti.m”. Utilizza a sua volta una
funzione “get_rendimento.m”, in pratica compie l’analisi di un’immagine “.gif” e ne salva i pixel neri in
una matrice alla quale poi viene effettuata una media, in questo modo si ottiene una linea.
function [SOLX,SOLY]=find_sol(p1,p2,p3,p4,p5,xin,xout)
name=ʼn90b.gifʼ;
name=ʼn100b.gifʼ; format=ʼgifʼ;
format=ʼgifʼ; x=312;
x=693; y=241;
y=224; [X16,Y16]=get_rendimento(name,format,x,y);
[X11,Y11]=get_rendimento(name,format,x,y);
name=ʼn80b.gifʼ;
name=ʼn99b.gifʼ; format=ʼgifʼ;
format=ʼgifʼ; x=343;
x=573; y=375;
y=144; [X17,Y17]=get_rendimento(name,format,x,y);
[X12,Y12]=get_rendimento(name,format,x,y);
name=ʼn70b.gifʼ;
name=ʼn98b.gifʼ; format=ʼgifʼ;
format=ʼgifʼ; x=363;
x=509; y=464;
y=99; [X18,Y18]=get_rendimento(name,format,x,y);
[X13,Y13]=get_rendimento(name,format,x,y);
name=ʼn60b.gifʼ;
name=ʼn96b.gifʼ; format=ʼgifʼ;
format=ʼgifʼ; x=362;
x=393; y=728;
y=65; [X19,Y19]=get_rendimento(name,format,x,y);
[X14,Y14]=get_rendimento(name,format,x,y);
name=ʼn50b.gifʼ;
name=ʼn94b.gifʼ; format=ʼgifʼ;
format=ʼgifʼ; x=377;
x=284; y=761;
y=72; [X20,Y20]=get_rendimento(name,format,x,y);
[X15,Y15]=get_rendimento(name,format,x,y);
get_rendimento.m
Questa file apre una serie di immagini ottenute dalla selezione di una mappa di un compressore assiale
con rapporto di compressione 2.6 (G.L. Converse 1984). Le immagini vengono prelevate in formato “.gif” ed
hanno tutte il medesimo formato.
get_sol.m
Sempre sviluppato come complemento al pacchetto “imageread ” questo file determina la media dei
valori in colonna di una matrice (tecnica descritta nel capitolo 5). Questa tipologia di soluzione si aspetta una
curva lineare (non riesce a determinare la presenza di soluzioni multiple, come nel caso di circonferenza).
get_pictnnn.m
Sempre sviluppato come complemento al pacchetto “imageread ” questo file determina la media dei
valori in colonna di una matrice (tecnica descritta nel capitolo 5). Questa tipologia di soluzione si aspetta una
curva lineare (non riesce a determinare la presenza di soluzioni multiple, come nel caso di circonferenza).
get_cpk.m
Anche questo programma è stato sviluppato come complemento al pacchetto “imageread ”.Questo file
determina la media dei valori in colonna di una matrice (tecnica descritta nel capitolo 5).Si applica alla lettura
delle immagini relative ai grafici dell’esponente isoentropico e del calore specifico a pressione costante.
clean_order.m
Anche questa applicazione rientra nel pacchetto “imageread ”. La sua funzione è quella di riordinare in
modo coerente i dati di una figura circolare in modo tale da permettere, in fase di plot, di ottenere una figura
continua chiusa.
tronca.m
Anche questa funzione rientra nel pacchetto “imageread ”. La sua funzione è quella di troncare i valori
di una equazione una volta incontrati gli estremi (tipicamente pompaggio e soffocamento).
function [A,YY] = tronca(X,Y,xin,xout) a=a+1;
A(a)=X(i);
[sizex,sizey]=size(X); YY(a)=Y(i);
if sizey>sizex end
sizex=sizey; end
end if a==0
a=0; A=0;
for i=1:1:sizex YY=0;
if xin<X(i) && xout>X(i) end
get_turbine.m
Questo programma è stato sviluppato come complemento al pacchetto “turbineread ”. Il file determina
a partire da immagini “.gif” una matrice, successivamente effettua una media ed infine ottiene tramite
fitting, l’equazione della curva.
c=c+1;
a=a+1; for i=1:1:a-1
k(1)=0; MAX(i)=MATX(a-i);
b(1)=0; MAY(i)=MATY(a-i);
k(2)=0; end
b(2)=0; MATX=[MAX,MATXX];
else if k(1)~=0 & k(2)==0 MATY=[MAY,MATYY];
s=1;
MATX(a)=(k(s)-(b(s)-1)/2)/width*xs;
MATY(a)=(j)/height*ys+1; % for d=a:1:(a+c-2)
a=a+1; %
k(1)=0; % MATX(d)=MATXX(L);
b(1)=0; % MATY(d)=MATYY(L);
end %fine if % L=L-1;
%end
end % fine else if %MATX(a+c-1)=MATX(1);
%MATY(a+c-1)=MATY(1);
end % fine for height end
if c>1
% L=c-1;
%new
forma_turb.m
Anche questa applicazione rientra nel pacchetto “turbineread ”. La sua funzione è quella di restituire
i valori delle equazioni delle turbine dato passo e limiti di esistenza. Effettua inoltre uno scaling dei valori
attraverso i termini in ingresso “massflow“ “PC“ “eta“.
x5=1:0.001:max;
x2=1:0.001:max; %era 1.3 y5=fit06(x5)*massflow;
y2=fitn08(x2)*eta; x5=1:((max-1)*PC/3)/num:(max-1)*PC/3+1;
x2=1:((max-1)*PC/3)/num:(max-1)*PC/3+1;
x6=1:0.001:max;
y6=fit10(x6)*massflow;
x3=1:0.001:max; %era 1.6 x6=1:((max-1)*PC/3)/num:(max-1)*PC/3+1;
create4turbine.m
La funzione di questo programma, appartenente al pacchetto “turbineread ”, è di stampare il grafico
delle 3 turbine e dell’ugello del flusso caldo. In ingresso si aspetta i vettori delle curve ed i valori limite
necessari per tracciare le linee tratteggiate.
function create4turbine(x1, y1, y2, x2, y3, y4, x3, %% Create plot
y5, y6, x4, y7,massflow1,massflow2,massflow3,massflow4,P plot5 = plot(x2,y3,ʻLineWidthʼ,2,ʻParentʼ,axes2);
Cesp1,PCesp2,PCesp3,PCesp4) %% Create plot
plot6 = plot(x2,y4,ʻLineWidthʼ,2,ʻParentʼ,axes2);
massflow1x=[massflow1;massflow1]; %% Create plot
massflow2x=[massflow2;massflow2]; plot7 = plot(PCesp2x,massflow3x,ʼColorʼ,ʼkʼ,ʼLineStyle
massflow3x=[massflow3;massflow3]; ʼ,ʼ:ʼ,ʼParentʼ,axes2);
massflow4x=[massflow4;massflow4]; %% Create plot
plot8 = plot(PCesp2y,massflow3y,ʼColorʼ,ʼkʼ,ʼLineStyle
massflow1y=[massflow1;0]; ʼ,ʼ:ʼ,ʼParentʼ,axes2);
massflow2y=[massflow2;0]; %% Create plot
massflow3y=[massflow3;0]; plot9 = plot(PCesp2xx,massflow2x,ʼColorʼ,ʼkʼ,ʼLineStyl
massflow4y=[massflow4;0]; eʼ,ʼ:ʼ,ʼParentʼ,axes2);
PCesp1x=[PCesp1;16];
PCesp2x=[PCesp2;16]; %% Create axes
PCesp3x=[PCesp3;16]; axes3 = axes(ʻPositionʼ,[0.5064 0.11 0.1925 0.7274],ʻ
PCesp4x=[PCesp4;16]; YTickLabelʼ,{},ʻParentʼ,figure1);
axis(axes3,[1 5 0 0.06]);
PCesp1y=[PCesp1;PCesp1]; xlabel(axes3,ʼ\pi Turbina di bassaʼ);
PCesp2y=[PCesp2;PCesp2]; hold(axes3,ʼallʼ);
PCesp3y=[PCesp3;PCesp3];
PCesp4y=[PCesp4;PCesp4]; %% Create plot
plot10 = plot(x3,y5,ʼLineWidthʼ,2,ʼParentʼ,axes3);
PCesp1xx=[0;PCesp1];
PCesp2xx=[0;PCesp2]; %% Create plot
PCesp3xx=[0;PCesp3]; plot11= plot(x3,y6,ʼLineWidthʼ,2,ʼParentʼ,axes3);
PCesp4xx=[0;PCesp4];
%% Create plot
%% Create figure plot12= plot(PCesp3x,massflow4x,ʼColorʼ,ʼkʼ,ʼLineStyle
figure1 = figure( ʻFileNameʼ,ʼ/Users/giovanni/Desktop/ ʼ,ʼ:ʼ,ʼParentʼ,axes3);
Tesi/8-07/printable/P4Turbinemap.epsʼ,ʼNameʼ,ʼGrafic
oʼ,ʼPaperPositionʼ,[4.256 12.09 12.46 5.497],ʼPaper- %% Create plot
Sizeʼ,[20.98 29.68],... plot13= plot(PCesp3y,massflow4y,ʼColorʼ,ʼkʼ,ʼLineStyle
ʻPaperTypeʼ,ʼ<custom>ʼ); ʼ,ʼ:ʼ,ʼParentʼ,axes3);
ottimizzatorepigreco.m
La funzione del seguente tabulato rientra nell’ottimizzazione pre-design citata nel capitolo 4. L’obiettivo è
quello di calcolare la miglior scelta del rapporto di compressione per il fan al variare del rapporto di bypass.Il
rapporto di compressione totale rimane costante.
%------------------------------------------ toll=0.0001;
%---------------OTTIMIZZATORE-------------- for i=1:1:sizex
%------------------------------------------ for n_it = 1:1:10
% Il programma stampa un grafico con la miglior scelta T2efmedia=(Temp0+Tam0)/2;
di rapporto di k2=pure_air(T2efmedia);
% compressione per il fan al variare del rapporto di cpef=pure_air_cp(T2efmedia);
bypass.Il calcolo Temp0=Tam00*(1+1/VALORE(4,:)*(power(x(i),(k2-1)/
% viene effettuato mantenendo la massima temperatura k2)-1));
ammissibile in uscita
% al compressore e mantenendo massimo il rapporto di deltat=abs(Temp0-Tam0);
compressione totale if deltat<toll
% dei compressori-fan. break;
end
%Analizza il file ʻrisultato.txtʼ proveniente da anal- Tam0=Temp0;
isi dellʼalgoritmo Temp00(i)=Temp0;
%genetico end
nome_file= ʻrisultato.txtʼ; end
[RISULTATO,NOME_R,nn]= risultato_open(nome_file);
[VALORE,NOME,n]= contorno_open(nome_file);
RISULTATO(1,:) = 50; %Avvia lo studio del ciclo termodinamico
R(a)=RISULTATO(13,:); end
else end
[Rmax(aa),I(aa)] = max(R); i=1:0.01:0.09+a*0.01;
[ntotmax(aa),J(aa)] = max(ntot); A=1:0.1:5;
fprintf(1,ʼ-----------------------\nRapporto di
By Pass: %e\n\nʼ,ii); PCfan=I*0.01+1;
ByPass=A;
for SS=1:0.1:pimax/(I(aa)*0.01+1) PCperBypass=[ByPass;PCfan];
RISULTATO(2,:)=I(aa)*0.01+1; plot(A,(I*0.01+1));
RISULTATO(3,:)=SS;
RISULTATO(4,:)=pimax/(I(aa)*0.01+1)/SS;
[VALORE,RISULTATO] = ciclo_termodin(VALORE,RI title(ʻ\bf\fontsize{12}Miglior \pi_C_f_a_n in funzi-
SULTATO); one di By-Passʼ);
xlabel(ʻBy-Pass m_c/m_hʼ);
if isreal(RISULTATO(12,:))==1 & isreal(RISULT ylabel(ʻ\pi_C_f_a_nʼ);
ATO(13,:))==1
b=b+1;
NTOT(b)=RISULTATO(12,:); [VALORE,RISULTATO] = ciclo_termodin(VALORE,RISULTATO
RR(b)=RISULTATO(13,:); );
else
end risultato_write(NOME_R,RISULTATO,nn);
[RRmax(aa),PC(aa)] = max(RR);
[NTOTmax(aa),PC1(aa)] = max(NTOT);
break;
end
fprintf(1,ʼOK\nʼ);
scala_mappa.m
Questo programma è l’artefice dello scaling delle mappe dei compressori e del fan. Viene applicato
il metodo illustrato da J. Kuzke e C. Riegler. Per un’analisi approfondita delle operazioni contenute nella
procedura è consigliabile passare al capitolo 3.
%Questo file si preoccupa di scalare tutte le in- %- velocit‡ e ai valori della portata sulla ref line
formazioni relative al (Wcn)
%grafico del compressore %------------------------------------------------
%Pur utilizzando il metodo “Kurzke, Riegler” si è de- function [p0m,p1m,p2m,p3m,p4m,p5m,p6m,p7m,p8m,p0n,p1n
ciso di modificare il ,p2n,p3n,p4n,p5n,p6n,p7n,p8n,pref,psurge,Ncnew,SURGE
%valore per il calcolo del pigreco di riferimento, in REF]= scala_mappa(pi_ref,His)
quanto il campo è
%molto pi˘ ristretto: + - 0.5 e non + 23. Lo si è %Questo è il dato di riferimento (ossia il rapporto
portato da di compressione della
% pi_rel=0.1961+0.08*ln(pi_ref) a: %mappa originale
% pi_rel=0.123559085+0.08*ln(pi_ref)
%Fornendo solo i dati relativi a nuovo rapporto di pi_old=2.6;
compressione e lavoro
%isoentropico questa funzione restituisce i coeffici- %Questo è il valore del lavoro calcolato per un rap-
enti relativi a tutte porto di compressione
%le curve necessarie ad una completa rappresentazione %uguale a pi_old, riporta quindi il valore del lavoro
della macchina. di un compressore di
%geometria uguale a quella data, con compressione
uguale a pi_old
%-----------------------------------------------
%- In questa prima parte vengono modificati i parame- Hisorig= 107131.8962;
tri relativi alle Wmax=[0.39604,0.56274,0.66795,0.78346,0.88292,0.96337
,1.0178,1.0367,1.1011]; p0n=polyfit(X0,Y0,3);
r=1; xin=0.279;
xin=0; xout=0.77;
xout=0.084;
p1 = -1.4355;
p1 = -1743.8; p2 = -0.18816;
p2 = 96.375; p3 = 2.005;
p3 = 10.591; p4 = 0.17934;
p4 = 0.32465;
[X4,Y4]=plot_cubic(p1,p2,p3,p4,xin,xout);
[X0,Y0]=plot_cubic(p1,p2,p3,p4,xin,xout);
p4n=polyfit(X4,Y4,3);
[X5,Y5]=plot_cubic(p1,p2,p3,p4,xin,xout); p1 = 96.22;
p2 = -150.66;
p5n=polyfit(X5,Y5,3); p3 = -0.47071;
p4 = -0.68372;
[refx(r) I]=max(Y5); p5 = 0.39604;
refy(r)=X5(I);
r=r+1; x0 = 0:0.001:0.088;
xin=0.4325; y0 = p1*power(x0,4)+p2*power(x0,3) +p3*power(x0,2
xout=1.09; )+p4*power(x0,1)+p5;
WMAX(i)=max(y0);
p1 = -1.1502;
p2 = 1.8001; [WMIN(i) I]=min(y0);
p3 = -0.22279;
p4 = 0.56923; [y0]=scale_y(y0,WMAX(i),Wcorig(i,1),Wcn(i),WMIN(
i));
[X6,Y6]=plot_cubic(p1,p2,p3,p4,xin,xout);
p0m=polyfit(x0,y0,4);
p6n=polyfit(X6,Y6,3); y0 = p0m(1)*power(x0,4)+p0m(2)*power(x0,3)
+p0m(3)*power(x0,2)+p0m(4)*power(x0,1)+p0m(5);
[refx(r) I]=max(Y6); [WMIN(i) I]=min(y0);
refy(r)=X6(I); SY(i)=x0(I);
r=r+1; wref(i)=p0m(1)*power(refy(i),4)+p0m(2)*power(re
xin=0.455; fy(i),3) +p0m(3)*power(refy(i),2)+p0m(4)*power(refy(
xout=1.138; i),1)+p0m(5);
p1 = -0.14934; i=i+1;
p2 = -0.29621;
p3 = 1.2201; p1 = -123.44;
p4 = 0.21569; p2 = 19.754;
p3 = -1.8941;
[X7,Y7]=plot_cubic(p1,p2,p3,p4,xin,xout); p4 = -0.29469;
p5 = 0.56274;
p7n=polyfit(X7,Y7,3);
x2 = 0.0825:0.0005:0.347;
y2 = p1*power(x2,4)+p2*power(x2,3) +p3*power(x2,2 p1 = -1.6094;
)+p4*power(x2,1)+p5; p2 = 3.2769;
WMAX(i)=max(y2); p3 = -2.4623;
[WMIN(i) I]=min(y2); p4 = 0.80924;
[y2]=scale_y(y2,WMAX(i),Wcorig(i,1),Wcn(i),WMI p5 = 0.86498;
N(i)); x5 = 0.3735:0.0005:0.966;
y5 = p1*power(x5,4)+p2*power(x5,3) +p3*power(x5,2
p2m=polyfit(x2,y2,4); )+p4*power(x5,1)+p5;
y2 = p2m(1)*power(x2,4)+p2m(2)*power(x2,3) WMAX(i)=max(y5);
+p2m(3)*power(x2,2)+p2m(4)*power(x2,1)+p2m(5); [WMIN(i) I]=min(y5);
[WMIN(i) I]=min(y2); [y5]=scale_y(y5,WMAX(i),Wcorig(i,1),Wcn(i),WMIN(
SY(i)=x2(I); i));
wref(i)=p2m(1)*power(refy(i),4)+p2m(2)*power(r p5m=polyfit(x5,y5,4);
efy(i),3)+p2m(3)*power(refy(i),2)+p2m(4)*power(refy( y5 = p5m(1)*power(x5,4)+p5m(2)*power(x5,3)
i),1)+p2m(5); +p5m(3)*power(x5,2)+p5m(4)*power(x5,1)+p5m(5);
i=i+1;
[WMIN(i) I]=min(y7);
SY(i)=x7(I); WWCN(csi)=wref(i);
wref(i)=p7m(1)*power(refy(i),4)+p7m(2)*power(refy( REFy(csi)=refy(i);
i),3) +p7m(3)*power(refy(i),2)+p7m(4)*power(refy(i), end
1)+p7m(5); end
pref=polyfit(WWCN,REFy,4);
i=i+1;
p1 = -0.33415;
p2 = 1.1222; x9 = WWCN(1):0.001:WWCN(csi);
p3 = -1.3862; y9 = pref(1)*power(x9,4)+pref(2)*power(x9,3) +pre
p4 = 0.74589; f(3)*power(x9,2)+pref(4)*power(x9,1)+pref(5);
p5 = 0.95323; y9label= pref(1)*power(0.68,4)+pref(2)*power(0.68
,3) +pref(3)*power(0.68,2)+pref(4)*power(0.68,1)+pr
p8m=[p1,p2,p3,p4,p5]; ef(5);
x8 = 0.5445:0.001:1.282;
y8 = p1*power(x8,4)+p2*power(x8,3) +p3*power(x8,2 %--------------------------------------------
)+p4*power(x8,1)+p5; % SURGE LINE
%--------------------------------------------
WMAX(i)=max(y8);
[WMIN(i) I]=min(y8); psurge=polyfit(WMIN,SY,4);
x10 = WMIN(1):0.001:WMIN(9);
SY(i)=x8(I);
y10 = psurge(1)*power(x10,4)+psurge(2)*power(x10,
WMAX(i)=max(y8); 3)+psurge(3)*power(x10,2)+psurge(4)*power(x10,1)+psu
[WMIN(i) I]=min(y8); rge(5);
SY(i)=x8(I);
wref(i) = p1*power(refy(i),4)+p2*power(refy(i),3 y10label=psurge(1)*power(0.7,4)+psurge(2)*power(0
) +p3*power(refy(i),2)+p4*power(refy(i),1)+p5; .7,3)+psurge(3)*power(0.7,2)+psurge(4)*power(0.7,1)
+psurge(5);
%-------------------------------------------- %------------------------------------------
% REFERENCE LINE % Salva le informazioni relative ai limiti di
%-------------------------------------------- surge e ref line
%------------------------------------------
csi=0;
for i=1:1:7 SUR=[WWCN(1),WWCN(csi)];
SAR=[WMIN(1),WMIN(9)];
if wref(i)<1.2 && wref(i)>0 SURGEREF=[SUR;SAR];
csi=csi+1;
plot_eq_turbina.m
Questo programma calcola la mappa della turbina e la stampa a video con i rendimenti sulla parte
superiore.
%----------------------------------------------- %-------------------------------------------
% Calcola le linee per il grafico del rendimento % Calcola le linee per il grafico della massa
%----------------------------------------------- %-------------------------------------------
x0=1.12:0.001:5; x4=1.02:0.001:5;
y0=fitn04(x0); y4=fit04(x4);
x1=1.25:0.001:5; x5=1.32:0.001:5;
y1=fitn06(x1); y5=fit06(x5);
x2=1.3:0.001:5; x6=1.68:0.001:5;
y2=fitn08(x2); y6=fit10(x6);
x3=1.6:0.001:5; %---------------------------------------------
y3=fitn10(x3); %STAMPA IL GRAFICO
%---------------------------------------------
axes1 = axes(ʻPositionʼ,[0.13 0.6524 0.775 0.2024],ʼX axes2 = axes(ʻPositionʼ,[0.13 0.07143 0.775 0.581],ʼP
AxisLocationʼ,ʼtopʼ,ʼParentʼ,figure1); arentʼ,figure1);
xlabel(axes1,ʼ\bf\piʼ); plot(x4,y4,x5,y5,x6,y6,ʼLineWidthʼ,2,ʼParentʼ,axes2)
hold(axes1,ʼallʼ);
plot(x0,y0,x1,y1,x2,y2,x3,y3,ʼLineWidthʼ,2,ʼParentʼ,
6 Conclusioni
N
ello sviluppo di questo elaborato si sono implementati svariati programmi. Si è provveduto a
programmare: un sistema per l’analisi delle condizioni in progetto di un turbofan trialbero, una
metodologia di scala delle mappe di compressori e fan, una metodologia di scala per le turbine.
In questo modo è stato possibile implementare l’algoritmo per l’analisi delle condizioni fuori progetto di un
turbofan trialbero.
Per l’acquisizione dei dati dei grafici si è resa necessaria l’implementazione di un algoritmo che fosse in
grado di trasferire le informazioni contenute in un’immagine, all’interno di una matrice e successivamente da
questa matrice di ricercare l’equazione che meglio definisse la curva. In questo modo sono stati trattati tutti
i grafici presenti nell’elaborato.
I grafici utilizzati nel corso dell’elaborato sono: mappe caratteristiche di turbine ugello del flusso
caldo, fan e compressori; variabilità in funzione della temperatura di calore specifico a pressione costante
e dell’esponente isoentropico; andamento di temperatura assoluta, pressione assoluta e densità assoluta, in
funzione dell’altitudine.
A causa di difficoltà computazionali e della mole di dati da trattare, non si è riusciti ad ottenere un
andamento soddisfacente della linea operativa di macchina. Per questo motivo un possibile sviluppo è quello,
partendo dal lavoro svolto, di continuare nella ricerca dei punti operativi con l’obiettivo di progettare un
turbofan che operi il più vicino possibile alla ref line (linea dei massimi rendimenti).
Un consiglio per ottenere questo risultato è quello di affiancare il programma elaborato nel corso dello
studio di tesi a programmi di calcolo come GasTurb™ e GSP. Queste tipologie di software permettono
un’analisi immediata delle caratteristiche di un propulsore.
B Bibliografia
[1] H.I.H. Saravanamuttoo, G.F.C Rogers, H. Cohen, “Gas Turbine Theory”, Pearson Prentice Hall
2001
[2] E. Benini, “Propulsione Aerea”, Cleup 2005
[3] G. Sieros, A. Stamatis, K. Mathiundakis, “Jet Engine Component Maps for Performance Modeling
and Diagnosis”, Journal of Propulsion and Power, Vol. 13, No. 5, September-October 1997
[4] B. Narin, Y. A. Gögüs, “Simulation of Jet Engines and Determination of Engine Component
Performance”, Departement of Aeronautical Engineering, Middle East Technical University Ankara
[5] J. Kurzke, C. Riegler, ““A New Compressor Map Scaling Procedure For Preliminare Conceptional
Design of Gas Turbines”, ASME TurboExpo, Munich, 2000. 2000-GT-0006
[6] V. K. Garg, “Throughflow Analysis of Axial Flow Turbines”, Department of Mechanical Engineering,
Indian institute of Technologu, Kanpur India 1983.
[7] P.M. Tagade, S.K. Sane, K. Sudhakar, “Startup to Shutdown simulation of Single Spool Turbojet/
Turboshaft Engine”, Depatement of Aerospace Engineering, Indian Instiute of Technology, Bombay
[8] J. Kurzke, “Gas Turbine Cycle Design Methodology: a Comparison of Parameter Variation with
Numerical Optimization”, Engine Performance Department, MTU München, Deutschland.
[9] C. Kong, J. Ki, M. Kang, “Fuzzy Approaches for searching optimal Component Matching Point in
Gas Turbine Performance Simulation”, ASME TurboExpo, Atlanta, 2003. GT2003-38148
[10] C. Kong, S. Kho, J. Ki, “Component Map Generation of a Gas Turbine Using Genetic Algorithms”,
ASME TurboExpo, Wien, 2004. GT2004-53736
[11] T. N. Shiau, C. H. Kang, D. S. Liu, “Optimization Combines The Genetic Algorithms With ugmented
Lagrange Multiplier Method For Rotor-Bearing Systems Under Dynamic Behavior Constraints”
ASME TurboExpo, Wien, 2004. GT2004-54058
[12] S. H. Hwang, S. H. Yoon, T. S. Kim, ““Design and off-design Characteristics of the Alternative
Recuperated Gas Turbine Cycle with Divided Turbine Expansion”, ASME TurboExpo, Barcelona,
2006. GT2006-91311
[13] C. Riegler, M. Bauer, J. Kurzke, “Some Aspects of Modeling Compressor Behaviour in Gas Turbine
Performance Calculations”, ASME TurboExpo, Munich, 2000. GT2002-00012
[14] A. Seyr, G. Kulhanek, F. Neumayer, E. Rossi, W. Sanz, “Performance Measurement of the second
stage of a Transonic Turbine”, Institute for Thermal Turbomachinery and Machine Dynamics, Graz
University of Technology, Austria.
[15] J. Kurzke, “Performance Modeling Methodology: Efficiency Definitions for Cooled Single and
Multistaged Turbines”, ASME TurboExpo, Amsterdam, 2002. GT2002-30497
[16] C. Kong, J. Ki, S. Kho, M. Kang, ““Improvement on Performance Simulation Using Componet Maps
of Aircraft Gas Turbine Obtained from System Identification”, Department of Aerospace Engineering,
Chosun University, Republic of Korea, American Institute of Aeronautics and Astronautics, 2003
[17] J. Kurzke, “Model Based Gas Turbine Parameter Corrections” ASME TurboExpo, Atlanta, 2003.
GT2003-38234
[18] H. J. Gladden, J. N. B. Livingood, “Procedure for Scalino of Experimental Turbine Vane Airfoil
Temperatures from low to high Gas Temperatures”, NASA Technical Note NASA TN D-6510
[19] J. Macek, J. Vàvra, O. Vìtek “Model of Radial Trubocharger Turbine Calibrated by Experiments”,
http://www2.fs.cvut.cz/web/fileadmin/documents/12241-BOZEK/publikace/2002/SAE010377.pdf
[20] R. Kurz, “Gas Turbine Performance”, Proceedings of the Thirty-Fourth Turbomachinery Symposium,
2005