of 87
7/29/2019 UserManual_ITB
1/87
A Complete Parametric Cycle Analysis for Ideal
TurboFan Engine with Interstage Turbine Burner
S.L. Yang, Y.K. Siow, K.H. Liew, and E. UripMechanical Engineering Engineering Mechanics Department
Michigan Technological University
1400 Townsend Drive
Houghton, MI 49931-1295
906/487-2624
906/487-2822 (Fax)
C. J. Marek
Combustion Technology Branch, MS 5-10
NASA Glenn Research Center
21000 Brookpark RoadCleveland, OH 44135
216/433-3584
216/433-3000 (Fax)
7/29/2019 UserManual_ITB
2/87
October 23, 2002
ABSTRACT
Today modern aircraft is based on air-breathing jet propulsion systems, which uses
moving fluids as substances to transform energy carried by the fluids into output power.
Throughout aero-vehicle evolution, improvements have been made on the engine
efficiency and pollutants reduction. This parametric study focuses on a complete
parametric cycle analysis of a turbofan engine with an Interstage Turbine Burner (ITB).
The major advantages associated with the addition of an ITB are the improvement of
thermal efficiency and reduction in NOx emission. Lower temperature peaks in the main
combustor results in lower thermal NOx emission and a lower amount of cooling air
required.
The objective of this study is to make use of the engine component parameters, namely
compressor or turbine polytropic efficiency, burner efficiency, pressure drop across the
engine components, design limitation (burner exit temperature), and flight environment
as inputs to calculate engine performance, specific thrust and thrust specific fuel
consumption. This relation can provide guidance in identifying the characteristics of the
engines components. The knowledge can subsequently be used to develop and optimize
the performance and integration of each component.
In this study, each component in the engine is treated individually. The first-law energy
equation, second-law, and conservation of momentum are then applied.
ii
7/29/2019 UserManual_ITB
3/87
Visual Basic program, Excel macrocode, and Excel neuron code are used to facilitate
Excel software to plot engine performance versus engine design parameters. This
program computes and plots the data sequentially without forcing users to open other
types of plotting programs. A users manual on how to use the program is also included
in this report.
ACKNOWLEDGEMENTS
This project on evaluating the improvement in performance of an aircraft gas turbine by
adding an Interstage turbine burner (ITB) is really challenging and would have not been
accomplished without the technical assistance and suggestion given from our graduate
advisor, Dr. S.L. (Jason) Yang.
Our sincere gratitude next goes to Dr. Cecil John Marek, for giving us this opportunity to
employ our limited knowledge in engineering mechanics in solving such an interesting
and practical problem related to gas turbine propulsion like this.
The authors would like to thank Dr. Paul Penko for being the grant monitor on this
project. Appreciation also goes to Dr. Scott John at NASA Glenn Research Center for
providing us the listing data for a two-spool high bypass turbofan engine with and
without ITB, and suggesting some valuable improvement that can be done to the code.
Special thank is due to Mr. Jeffrey R. Herbon from Williams International for carefully
reviewing and test-driving the code. Based on his experience and expertise in cycle
iii
7/29/2019 UserManual_ITB
4/87
analysis, he has given us many valuable suggestions on how the program could be
enhanced for increased usefulness in the future.
iv
7/29/2019 UserManual_ITB
5/87
TABLE OF CONTENTS
ABSTRACT .... ii
ACKNOWLEDGEMENT ... iii
LIST OF FIGURES ... v
LIST OF TABLES . vi
NOMENCLATURE ... vii
1. INTRODUCTION ............. 1
2. ENGINE PERFORMANCE PARAMETERS. 3
3. TURBOFAN with ITB CYCLE ANALYSIS.. 11
4. SUMMARY of EQUATIONS... 20
5. USER MANUAL ... 24
6. DATA VALIDATION... 32
7. RESULTS AND DISCUSSIONS.. 35
APPENDIX
A1 EXCEL MACRO VISUAL BASIC CODE .. 44
A2 FORTRAN 77 CODE ..... 52
REFERENCES.. 78
v
7/29/2019 UserManual_ITB
6/87
LIST OF FIGURES
Figure 1.1 A Gas Generator propulsion system.. 1
Figure 1.2 A TurboJet Engine. 1
Figure 1.3 A TurboFan Engine... 2
Figure 3.1 Turbofan with Interstage Turbine Burner 11
Figure 5.1 Excel Input sheet screenshot.... 25
Figure 6.1 Turbofan Engine with ITB:specific thrustvs flight Mach number
(both Fortran77 and Excel) .. 32
Figure 6.2 Turbofan Engine with ITB:specific thrustvs flight Mach number(both Fortran77 and Excel) .. 33
Figure 6.3 Turbofan Engine with ITB:specific thrustvs flight Mach number
(both Fortran77 and Excel) ...... 33
Figure 6.4 Turbofan Engine ITB:specific thrustvs flight Mach number
(both Fortran77 and Excel) ...... 34
Figure 7.1 Turbofan Engine:specific thrustvs flight Mach number. 36
Figure 7.2 Turbofan Engine: thrust specific fuel consumption vs flight Mach
number . 37
Figure 7.3 Turbofan Engine:specific thrustvs compressor pressure ratio .. 38
Figure 7.4 Turbofan Engine: thrust specific fuel consumption vs compressor pressure
ratio ..... 38
Figure 7.5 Turbofan Engine:fuel/air ratio vs flight Mach number ..... 39
Figure 7.6 Turbofan Engine:specific thrustvs fan pressure ratio ... 40
Figure 7.7 Turbofan Engine: thrust specific fuel consumption vs fan pressure
ratio .... 40
Figure 7.8 Turbofan Engine:specific thrustvs bypass ratio .... 41
Figure 7.9 Turbofan Engine: thrust specific fuel consumption vs bypass pressure
ratio .... 42
vi
7/29/2019 UserManual_ITB
7/87
LIST OF TABLES
Table 7.1 Input Data for Engine Parameters (SI unit) ... 35
Table 7.2 Input Data for Option 1 (SI unit) ... 36
Table 7.3 Input Data for Option 2 (SI unit) ... 37
Table 7.4 Input Data for Option 3 (SI unit) ... 39
Table 7.5 Input Data for Option 4 (SI unit) ... 41
Table A.1 Description of variables in MS Excel Macro Visual Basic code ..44
Table B.1 Description of Input Variables in input file (English and SI unit).. 55
vii
7/29/2019 UserManual_ITB
8/87
NOMENCLATURE
A cross-sectional areaa sound speed
CP specific heat at constant pressure
D drag force
e polytropic efficiency
F force uninstalled thrust
f fuel/air ratio
gc Newtons constant
h enthalpy
hPR low heating value of fuel
M mach number
m
mass flow rate
P pressure
Pt total pressure
Q
rate of thermal energy released or absorbed
R universal gas constant
S uninstalled thrust specific fuel consumption
T temperature or installed thrust
TSFC installed specific fuel consumption
Tt total temperature
V absolute velocity
W
power
viii
7/29/2019 UserManual_ITB
9/87
bypass ratio
ratio of specific heats,v
p
c
c
m mechanical Efficiency
O overall Efficiency
P propulsive Efficiency
T thermal Efficiency
ratio of totalpressure
r (exception) ratio between total pressure and static pressure due to the
ram effect,P
Pt
ratio of total temperature
r (exception) ratio between total temperature and static temperature due
to the ram effect, T
Tt
ratio between total enthalpy and enthalpy at ambient condition
ix
7/29/2019 UserManual_ITB
10/87
SUBSCRIPTS
b main burner or properties between main burner exit and ITB
c properties between upstream and main burner or engine core
d diffuser
e exit
f fan
fn fan-nozzle
HPC high pressure compressor
HPT high pressure turbine
ITB interstage turbine combustors
LPC low pressure compressor
LPT low pressure turbine
O inlet
n nozzle
r ram
t properties between ITB exit and downstream or total/stagnation
values of properties (i.e. temperature, pressure or enthalpy)
x
7/29/2019 UserManual_ITB
11/87
1. Introduction
This program is designed to give a complete parametric cycle analysis of an ideal Turbo
Fan air-breathing propulsion system. In most common air-breathing propulsion engines,
the heart of a gas turbine is the gas generator. It consists of three major components
namely, compressor, combustor, and turbine as shown schematically in Figure 1.1.
Figure 1.1 A Gas Generator Propulsion System
The idea behind a gas generator is to convert intake air mixed with fuel into high
temperature and high pressure gas. Depending on the applications of the gas turbine, the
energy provided is extracted and used for different applications (turbojet, turbofan, turbo-
shaft, turboprop, and ramjet) through different mechanisms. A turbojet engine can be
constructed by adding an inlet and a nozzle as shown in Figure 1.2.
Figure 1.2 A Turbo Jet Engine
The nozzle converts the internal energy of the hot gas into kinetic energy or thrust. The
work extracted by the turbine is used to drive the compressor. In the case of a turbofan,
turboprop, and turbo-shaft engine, the work from the turbine is required to drive a shaft
for the turbo-shaft, a fan for the turbofan, and a propeller for the turboprop in addition todriving the compressor. The ramjet engine consists of an inlet, a combustor, with a nozzle
at the exit. It does not require the compressor because the inlet already uses a ram air-
compressing mechanism such that intake air has sufficient kinetic energy to increase its
pressure.
xi
7/29/2019 UserManual_ITB
12/87
The main objective of this analysis is to determine the relationships between engine
performance (primarily specific thrust m
F, thrust specific fuel consumption) to design
parameters (compressor pressure ratio, fan pressure ratio, bypass ratio, etc), to design
constraints (burner exit temperature, compressor exit pressure, etc), and to flight
environment (Mach number, ambient temperature, ambient pressure, etc).
Figure 1.3 A Turbo Fan Engine
2. Aircraft Engine Performance Parameters
Thrust
Thrust is the force used to sustain the flight (thrust = drag), accelerated flight (thrust >
drag), deceleration (thrust < drag). Using Figure 1.3 for the control volume, we can apply
a momentum balance to the control volume. Uninstalled thrustFof a jet engine (single
inlet and single exhaust) is given by
xii
7/29/2019 UserManual_ITB
13/87
)( ) APP
g
VmVmmeoe
c
oe ofueloF +
+
=
(2.1)
where mm
fuelo
..
, are mass flow rates of air and fuel respectively
VV eo , are velocities at inlet and exit respectively
PP eo , are pressure at inlet and exit respectively
For the ideal case, the hot gas is expanded to the ambient pressure which gives P e = Po.
Equation (2.1) then becomes
)g
VmVmm
c
oe ofueloF
+
= (2.2)
The installed thrustTis given by
DDFT nozzleinlet = (2.3)
whereDinletandDnozzle are the drag force from the inlet and the nozzle.
Specific Fuel Consumptions
The specific fuel consumption is the rate of fuel use by the propulsion system per unit of
thrust produced. The installed specific fuel consumptions, TSFC, and the uninstalled
specific fuel consumptions, S, are given by
T
mTSFC fuel
= (2.4)
xiii
7/29/2019 UserManual_ITB
14/87
F
mS fuel
= (2.5)
Efficiency of an Engine
Some of the following parameters will be used widely in this program namely, thermal
efficiency, propulsive efficiency, and overall efficiency
The thermal efficiency characterizes the net energy output extracted (shaft work) from
the engine divided by the available thermal energy (fuel).
Q
W
in
out
T
= (2.6)
where,
=
=
=
hmreleasedenergythermalofrateQ
engineofoutpowernetW
efficiencythermal
PR
out
T
fin
The propulsive efficiency defines the ratio between the engine power output and the
power being used to run the aircraft.
W
VT
out
P =0 (2.7)
xiv
7/29/2019 UserManual_ITB
15/87
where,
engineofoutpowernetW
aircraftofvelocityV
systempropulsionofthrustT
engineofefficiencypropulsive
out
P
==
=
=
0
An overall performance of a propulsion system is given by the combination between
thermal and propulsive efficiencies.
TPO
= (2.8)
where,
efficiencyoverallO
=
Notations
Some useful quantity notations for compressible flow will be used in this report namely,
stagnation temperature, stagnation pressure, and Mach number.
Stagnation temperature or total temperature Tt is defined as the temperature obtained
when steadily flowing fluid is brought to rest adiabatically without extraction of work.
Applying the first law of thermodynamic to a calorically perfect gas gives:
xv
7/29/2019 UserManual_ITB
16/87
2
V+h=h
2
t
(2.9)
where,
h = static enthalpy
ht = enthalpy at stagnation condition
V = velocity
With the assumptions of constant specific heat coefficient, the above equation can be
written as:
C2V
TP
2
t+T=
2
1+1T= MT
2
t(2.10)
where,
heatsspecificofratio
numberMachMetemperaturstaticT
etemperaturstagnationTt
==
=
=
xvi
7/29/2019 UserManual_ITB
17/87
Stagnation pressure ortotal pressurePt is defined as the pressure reached when a steady
flowing fluid is brought to rest adiabatically and reversibly. Using the isentropic relation,
the total pressure is given by
M2
1+1P 2P=
1
t
(2.11)
The ratio of total temperatures and the ratio of total pressure across a component is
denoted by the subscript: dfor diffuser,LPCfor low pressure compressor,HPCfor high
pressure compressor, b for main burner, ITB for inter-stage turbine burner, LPTfor low
pressure turbine,HPTfor high pressure turbine, n for nozzle, andffor fan.
For example:
diffuserenteringpressuretotal
diffuserleavingpressuretotald =
diffuserenteringetemperaturtotal
diffuserleavingetemperaturtotald =
7/29/2019 UserManual_ITB
18/87
Exceptions
For the free stream, ram, we define ras aratio of total temperature/static temperature
and ras a ratio of total pressure/static pressure.
MTT
021
+1==2
0
0t
r
(2.12)
( )
M2
1+1
PP
02
==
1
0
0t
r
(2.13)
A ratio between total enthalpy of the burner exit and ambient enthalpy, denoted by ,
is defined such that it will be one of the input parameters.
( )TCTC
p
tp
=ambientfor,0
exitburner
b
(2.14)
( )TCTC
p
tp
ambientfor
exitburnerstageInter
ITB
,0
= (2.15)
7/29/2019 UserManual_ITB
19/87
Component Performance
In this analysis it is acceptable to assume that the working fluid in the engine can be
idealized as a perfect gas. Properties of an ideal gas strongly depend on the temperature.
This cycle allows fluid properties variation across the engine which assumes constant
fluid properties from the main burner entrance upstream (Cpc, c), from ITB entrance to
the main burner exit (Cpb, b), and from ITB exit downstream (Cpt, t).
Inlet and Diffuser
Pressure losses occur due to the friction with the inlet wall. The total pressure ratio, d, is
always less than 1.
In supersonic flight, the pressure losses cause shock waves which produce greater
pressure losses. The inlet total pressure is defined as the product of the ram pressure ratio
and the diffuser pressure ratio. Therefore the portion of the pressure loss due to the shock
waves and wall friction is defined by:
rdd max= (2.16)
From the Military Specification 5008B (Ref. 2), the following relation is obtained:
( )
+
7/29/2019 UserManual_ITB
31/87
T
T
C
C t
pc
pt
ITB
0
6= (4.11)
HPCeHPCcc
HPC
1= (4.12)
LPCeLPCcc
LPC
1= (4.13)
( ) ( )
f
efccf
1= (4.14)
LPCHPCc = (4.15)
cr
tb
T
T
0
4= (4.16)
1
1
=
HPCHPC
HPCeHPC
(4.17)
1
1
=
LPC
LPC
LPCeLPC
(4.18)
1
1
=
f
ffe
f (4.19)
TCh
f
pc
bPRbB
brc
b
0
=
(4.20)
( )
HPTmbHPC
pc
pb
b
HPCHPT
C
Cf +
+=1
11
(4.21)
[ ]f
TCh
CC
C
C
fb
pb
ITBPRITBITB
pb
pc
ITB
pb
pc
HPTbcr
ITB+
=
1
0
(4.22)
fffITBb
+= (4.23)
HPTbcr
tITB
T
T
0
6= (4.24)
7/29/2019 UserManual_ITB
32/87
ITBHPTbHPCLPCt
t
T
T =2
6(4.25)
)
( )
LPTm
t
t
pc
pt
fLPC
LPT
TT
CCf +
++=
2
61
111
(4.26)
HPTeHPTtt
HPT
1= (4.27)
LPTeLPTtt
LPT
1= (4.28)
HPTeHPT
HPT
HPT 11
1
= (4.29)
LPTeLPT
LPT
LPT 11
1
= (4.30)
nLPTITBHPTbHPCLPCdrt
P
P
P
P
10
0
10
10 = (4.31)
LPTITBHPTbcr
t
T
T=
0
10(4.32)
( )
==
PP
TT
TT
TT
T
T
ttt
t
t
t
10
101
010
10
10
0
10
0
10
(4.33)
( )
=
11
21
10
10
10
tt
P
PM
t
t
(4.34)
TR
TRM
a
V
cc
tt
0
10
10
0
10
= (4.35)
fnfdrt
P
P
P
P
19
0
19
19 = (4.36)
( )
=
11
21
19
19
19
cc
P
PM
t
c
(4.37)
7/29/2019 UserManual_ITB
33/87
frt
T
T =0
19(4.38)
( ) cc
PP
TT
TT
TT
T
T
t
t
t
t
1
19
19
019
19
19
0
19
0
19
== (4.39)
MT
T
a
Ma
a
V19
0
19
0
1919
0
19 == (4.40)
( ) ( )
+++=
cc
t
c
c
P
P
aV
TT
R
RfM
a
Vf
g
a
m
F
c
1111
10
0
0
10
0
10
0
0
100(4.41)
+=
cc
f
f PP
aVT
T
MaV
ga
m
F 190
0
19
0
19
0
0
190
1
(4.42)
)1(
+
+
=
f
f
c
c
m
F
m
F
m
F (4.43)
( )
+
+
=
0
1
m
FS
ffITBb
(4.44)
7/29/2019 UserManual_ITB
34/87
5. Users Manual
The excel program is written in combination between spreadsheet neuron cells, Visual
Basic, and macro code. These three combinations provide user-friendly software such
that compilation and preprocessing are no longer necessary. The user obtains result plots
right a way just by clicking some simple buttons.
The program is mainly comprised of six sheets namely CoverPage, Instruction, Input,
plot sheet, data sheet, and Otape&Test.
CoverPage sheet
The CoverPage sheet contains the authors of this program. Any questions regarding the
program can be addressed to us through email or phone.
Instruction sheet
First time users are strongly recommended to read this sheet before running the program.
Since there are always possibilities of getting error computations such as division by
zero, square root of a negative quantity, or over floating under floating number, the
program is written such that it will not crash if those errors are encountered during the
computation. It will instead tell the user where the computation encounters those errors.
In this sheet, you will find details of how to run the program and how to fix a problem if
something goes wrong.
This sheet also explains several assumptions made in the equations so that the users are
aware of some cases in the equations that have been idealized to simplify the problems.
7/29/2019 UserManual_ITB
35/87
Figure 5.1 Excel Input Sheet Screenshot
Inputsheet
This sheet is where most of the inputs are specified. The program will check input value
in this sheet to make sure that all of the inputs are specified. It will tell the user if there
are inputs that are not specified. There are three Combo Box in the Inputsheet (Combo
Box is a list box that displays a list of values and lets the users select one of the values in
the list) namelyITB, Units, and Choose a Plotas shown in Figure 5.1. You need first to
specify the value in combo box ITB and combo box Units before moving on to combo
box Choose a Plot. Combo Box Units lets you specify the input and output unit system.
Currently, the program can handle only two units systems, which are English or SI.
Combo Box ITB lets you turn ON or OFF the Interstage Burner (ITB) feature. This
feature provides a flexibility to choose two types of engine and they are engine with ITB
- ON and engine with ITB - OFF. With this feature, you will be able to see how much
additional engine performance you can get with ITB-ON or with ITB-OFF. Note that the
equations used for ITB-OFF are not the same as the equations from the reference book,
Elements of Gas Turbine Propulsion. This is because the cycle analysis in this program is
7/29/2019 UserManual_ITB
36/87
based on two shafts engine, and the one in the reference book is based on one shaft
engine.
When ITB-OFF is chosen, the program will execute as if there is no ITB added to the
Turbofan engine. Accordingly, the following variables will be changed internally and
automatically:
1. Cpt = Cpc
2. t = c
3. fitb = 0
4. itb = 1.0
5. itb = 1.0
Once all the inputs values are specified and combo box values on both ITB and Units are
specified, you can specify a value in combo box Choose a Plot. This combo box provides
several option lists to choose from, and they are:
1. Specific Thrust and TSFC Vs Compressor Pressure Ratio
2. Specific Thrust Vs Flight Condition Mach Number
3. TSFC Vs Flight Condition Mach Number
4. Specific Thrust Vs Fan Pressure Ratio
5. TSFC Vs Fan Pressure Ratio
6. Specific Thrust Vs ByPass Ratio
7. TSFC Vs ByPass Ratio
Once you select one of them, you will be directed to a new sheet. Basically once the
value of the combo box changed, it will execute a certain macro code. The macro code
associated with this combo box will open hidden plot sheets and hidden data sheets
depending on the selection you made.
7/29/2019 UserManual_ITB
37/87
The following discussion describes the instruction of how to run the program for each
different option.
Specific Thrust and TSFC Vs Compressor Pressure Ratio
When this option is chosen, the program opens four sheets namely ST_VS_PIc,
SF_VS_PIc, DataSTPIc, and DataSFPIc. You will be directed from Input sheet to
ST_VS_PIc sheet. ST_VS_PIc plots specific thrust and fuel-air mass fraction versus
compressor pressure ratio, and SF_VS_PIc plots thrust fuel specific consumptionversus
compressor pressure ratio.
ST_VS_PIc
You expect to see result profiles similar to Figure 7-13a1 and Figure 7-13b1. You need to
complete all the inputs parameters indicated in green cells of the Input sheet and
ST_VS_PIc sheet. Click the combo box to select number of plots for different s,
bypass ratio. New input parameters for different bypass ratio will be created indicated in
green cells. Once all the green cells are filled, you will need to specify the relation
between high total pressure compressor and low total pressure compressor ratios. To do
this you need to click on the Enter Relation. Once the relation between the two
compressors has been established, you need to click Generate to generate a table forcompressor pressure ratio. At this point you are ready to run the program and generate the
plots, simply by clicking Calculate button. Data computed will be stored in the
DataSTPIc sheet.
SF_VS_PIc
You expect to see results profiles similar to Figure 7-13c1. Most of the inputs are taken
from the Input sheet and ST_VS_PIc sheet except for the bypass ratio. You need to
specify number of bypass ratio you want to plot, then you can click Calculate to perform
computation and to plot the results. Data computed will be stored in the DataSFPIc sheet.
7/29/2019 UserManual_ITB
38/87
Specific Thrust Vs Flight Condition Mach Number or TSFC Vs Flight Condition Mach
Number
When you choose this option, the program closes theplot sheets and data sheets from the
previous use and opens one plot sheet and one data sheet, ST_VS_Mo andDataSTMo or
SF_VS_Mo andDataSFMo. You will then be directed from Inputsheet to ST_VS_Mo or
SF_VS_Mo. This sheet is used to plot specific thrustorthrust specific fuel consumption
versus flight condition Mach numberwith different bypass ratio.
ST_VS_Mo or SF_VS_Mo
You expect to see result profiles similar to Figure 7-14a1 or Figure 7-14b1. You need to
complete all the input parameters indicate in the green cells of this sheet. Then you can
clickCalculate to run the program and plot the results. Data computed associated with
this sheet will be stored in theDataSTMo sheet.
Specific Thrust Vs Fan Pressure Ratio or TSFC Vs Fan Pressure Ratio
Similar to Flight Condition Mach Number, this option opens ST_VS_PIfand DataSTPIf
orSF_VS_PIfand DataSTPIf. It plots specific thrustorthrust specific fuel consumption
vs fan pressure ratio with different bypass ratio. The steps to run the program in this
sheet are the same from option two or three of the Choose a Plotcombo box.
Specific Thrust Vs ByPass Ratio or TSFC Vs ByPass Ratio
This option opens ST_VS_Alp and DataSTAlp or SF_VS_Alp and DataSFAlp. It plots
specific thrustorthrust specific fuel consumption vs bypass ratio with different fan total
pressure ratio, f. The steps to run the program in this sheet are the same from option two
or three of the Choose a Plotcombo box.
7/29/2019 UserManual_ITB
39/87
In summary you need to do the followings to run the program:
1. Go to theInputsheet
2. Specify the Unitsystem (SI or English)
3. Specify the ITB switch. Is the computation for engine with ITB-ON or for
engine with ITB-OFF?
4. Enter all the input parameters indicated in green cells (do not modify or
change the value indicated in cyan).
5. Specify Choose a Plot. You will be directed to a new sheet depending on the
selection.
If you select to engine performance (Specific Thrust and TSFC) Vs Compressor Pressure
Ratio, do the followings:
ST_VS_PIc:
a. Specify number of bypass ratio (new green cells will be created).
b. ClickEnter Relation (Enter relation).
c. Specify all input parameters indicated in green.
d. Click Generate to generate compressor total pressure ratio.
e. Click Calculate to compute and plot the results.
f. Repeat the above steps for different input parameters. If you want to
change the input parameters in the Inputsheet, you need to go to the
Inputsheet.
SF_VS_PIc:
a. Specify number of bypass ratio (new green cells will be created).
b. Specify all input parameters indicated in green.c. Click Calculate.
d. Repeat the above steps for different bypass ratio. If you want to
change the input parameters in theInputsheet or in the ST_VS_PIc
sheet, you need to go back to one of those sheets and change the input
parameters.
7/29/2019 UserManual_ITB
40/87
ST_VS_Mo, SF_VS_Mo, ST_VS_PIf, and SF_VS_PIf:
a. Specify number of bypass ratio (new green cells will be created).
b. Specify all input parameters indicated in green.
c. Click Calculate.
d. Repeat the above steps for different input parameters. If you want to
change the input parameters in theInputsheet, you need to go to the
Inputsheet.
ST_VS_Alp and SF_VS_Alp:
a. Specify number of fan total pressure ratio (new green cells will be
created).
b. Specify all input parameters indicated in green.
c. Click Calculate.
d. Repeat the above steps for different input parameters. If you want to
change the input parameters in theInputsheet, you need to go to the
Inputsheet.
Discussions
The last sheet in the program is the Otape&Test; this is where the user can check a single
quantity namely Specific ThrustorThrust Specific Fuel Consumption. Most of the input
parameters are from theInputsheet; additional inputs are inputs parameters that you see
in the plot sheets. By clicking the Test, you will obtain Specific Thrust and Thrust
Specific Fuel Consumption stored in cyan cells.
This program has been debugged several times. Therefore whenever you encounter
computation errors due to either zero division or square root of a negative quantity, you
will be notified by a pop up window indicating where the computation problem is. It will
indicate which equation that the computational error is encountered. If you have any
7/29/2019 UserManual_ITB
41/87
comments or bug problems you encounter in the program, you can report them to us for
further improvement. Detail about the contact number can be found in the CoverPage
sheet of the program.
It is also predicted that the plotting macro can encounter some problems in the future if
the users are not fully understand the program. Therefore I have set up a way how to fix
the problem. In case the plot starts giving problem, you need to do the followings (apply
to all plot sheets: ST_VS_PIc, SF_VS_PIc, ST_VS_PIf, SF_VS_PIf, ST_VS_Mo,
SF_VS_Mo, ST_VS_Alp, and SF_VS_Alpp):
a. Go to theplotsheet (e. ST_VS_Mo)
b. Go to cell D5
c. Note that you will not be able to click on that cell because it is lying on the
back of the plot chart. You may want to use cursor button from your
keyboard.
d. In that cell it reads SUCCESS. Change the value to any other type of
character, FAIL for example.
e. Clear the series in the chart plot by clicking right mouse button on the chart
plot.
f. Choose Source Data
g. Select Series and remove all the series. For the case ST_VS_PIc, you need to
clear the series on both charts.
Users are not expected to understand macro code in the program. However the part that
takes care the computation can be found in Module1 Sub Itb( ). In order to open it, you
need to open Excel Visual Basic by pressing Alt + F11. Any modification can be made in
subroutine Itb ( ). Do not add new variables into the program!
7/29/2019 UserManual_ITB
42/87
6. Data Validation
Since there is no experimental data for this application, a Fortran 77 code is written for
the comparison between results computed by Excel and Fortran 77. All the equations
used are the same in both codes and can be found in section 4 of Summary of equations.
Under the same turbofan engine operating conditions with ITB-ON, specific thrust (i.e.
m
F, SI unit:
skg
N
/) is computed using both codes and plotted versus various design
parameters, namely flight Mach number (M0), compressor pressure ratio (c), fan
pressure ratio (f), and bypass ratio (). All the plots are in Tecplot 9.0 format as shownbelow.
Figure 6.1 Turbofan engine with ITB: Specific thrustvs flight Mach number
7/29/2019 UserManual_ITB
43/87
Figure 6.2 Turbofan engine with ITB: Specific thrustvs compressor pressure
ratio
Figure 6.3 Turbofan engine with ITB: Specific thrustvs fan pressure ratio
7/29/2019 UserManual_ITB
44/87
Figure 6.4 Turbofan engine with ITB: Specific thrustvs bypass ratio
7/29/2019 UserManual_ITB
45/87
7. RESULTS AND DISCUSSIONS
Using data provided in eng_itb.dat(a sample listing data file for a two-spool high bypass
turbofan provided by Scott Jones, currently at Propulsion Systems Analysis Office,
NASA Glenn Research Center), results at different operating conditions are plotted using
Tecplot 9.0 and shown as below.
Table 7.2 - The input data for Option 1:
Table 7.1 Input data for Engine parameters (SI unit)
Pressure drop ratioengine-core P0/P10 = 0.9 T0 = 216.6667K
engine - fan P0/P19 = 0.9
Total pressure ratio
Maximum diffuser total pressure ratio d max = 0.99 Properties of air and fuel
main burner total pressure ratio b = 0.96 Specific heat at constant pressure
ITB - burner total pressure ratio ITB = 0.96 region 0 --> 3 Cpc = 1.000645KJ/Kg-K
engine nozzle total pressure ratio n = 1.333 region 4 --> 5 Cpb = 1.159743KJ/Kg-K
fan nozzle total pressure ratio fn = 1.274 region 6 -->10 Cpt= 1.147183KJ/Kg-K
Polytropic efficiency Ratio of specific heat
eHPC = 0.9066 region 0 --> 3 c = 1.39999
eLPC = 0.9036 region 4 --> 5 b = 1.27284
eHPT = 0.9029 region 6 -->10 t= 1.27882
eLPT = 0.9174 Low heating value of fuelef = 0.8961 Burner hPR-b = 7917.12KJ/Kg
Burner efficiency ITB hPR-ITB = 7917.12KJ/Kgb = 0.999
ITB = 0.999
Turbine mechanical efficiencym-HPT = 0.92
m-LPT = 0.93
Burner exit temperature
main-burner Tt4 = 1785.594KITB - burner Tt6 = 1563.844K
7/29/2019 UserManual_ITB
46/87
Figure 7.1 - Specific thrust vs flight M0
Figure 7.2 - TSFC vs flight M0
Mo = 0 To 3 1 = 0.5 Mo = 0.1 2 = 2
HPC = 25LPC = 1.3
f = 1.3
Figure 7.1 Turbofan engine: Specific thrustvsflight Mach number
7/29/2019 UserManual_ITB
47/87
Figure 7.2 Turbofan engine: thrust specific fuel consumptionvsflight Machnumber
Table 7.3 - The input data for Option 2:Figure 7.3 - Specific thrust vs compressor pressure ratio
Figure 7.4 - TSFC vs compressor pressure ratio
Figure 7.5 - Fuel/air ratio vs compressor pressure ratioScalec = 19.23
LPC = 1.01 c = 19.62 to 50HPC = 19.42 c = 1
f= 1.3 1 = 0.5 = 0.9 2 = 2
7/29/2019 UserManual_ITB
48/87
Figure 7.3 Turbofan engine: Specific thrustvs compressor pressure ratio
Figure 7.4 Turbofan engine: thrust specific fuel consumption
vs compressor pressure ratio
7/29/2019 UserManual_ITB
49/87
Figure 7.5 Turbofan engine:fuel/air ratio vs compressor pressure ratio:
Table 7.4 - The input data for Option 3:
Figure 7.6 - Specific thrust vs fan pressure ratio
Figure 7.7 - TSFC vs fan pressure ratio
f = 1.01 To 10
f = 0.251 = 3
HPC = 25 2 = 5
LPC = 1.3 3 = 10 = 0.9
7/29/2019 UserManual_ITB
50/87
Figure 7.6 Turbofan engine: Specific thrustvsfan pressure ratio
Figure 7.7 Turbofan engine: thrust specific fuel consumption
vsfan pressure ratio
7/29/2019 UserManual_ITB
51/87
Table 7.5 - The input data for Option 4:
Figure 7.8 - Specific thrust vs bypass ratio
Figure 7.9 - TSFC vs bypass ratio
= 0 To 10 = 0.1
HPC = 25 f1 = 1.5LPC = 1.3 f2 = 3.5 = 0.9
Figure 7.8 Turbofan engine: Specific thrustvs bypass ratio
7/29/2019 UserManual_ITB
52/87
Figure 7.9 Turbofan engine: thrust specific fuel consumption
vs bypass ratio
Discussions
The computations are successful in providing an estimation of how the turbofan
performance is improved by adding an Inter-Stage Turbine Burner. As expected, the
specific thrust is increased at four different engine design parameters, namely Mach
number, compressor pressure ratio, fan pressure ratio and bypass ratio with the addition
of ITB. Nevertheless, the specific fuel consumption is relatively increased.
Typical ranges for each engine design parameter is based on Chapter 7 of Elements of
Gas Turbine Propulsionby Dr. Jack Mattingly1.
In addition, more plots will be added in the future if necessary. For convenience purpose,
a Visual-Basic code may be developed to act as an interface between fortran77 data file
7/29/2019 UserManual_ITB
53/87
and MS Excel plot function. Then, user can plot the result data computed using Fortran77
on MS Excel without knowing how to use Tecplot 9.0 or any other equivalent post-
processing software.
7/29/2019 UserManual_ITB
54/87
Appendix
A - MACRO VISUAL BASIC CODE in MS EXCEL
VB code variable VB code variable VB code variable
a0 a0 gamab b T10_T0 T10/T0
alpha gamac c T19_T0 T19/T0
Cpb Cpb gamat t tau_alp_itb -b
Cpc Cpc hPRb hPR-b tau_alp_itb -ITB
Cpt Cpt hPRitb hPR-ITB tau_b b
ef ef M10 M10 tau_c c
eff_hpc HPC M19 M19 tau_f f
eff_hpt
HPT pi_d
d tau_hpc
HPC
eff_lpc LPC pi_f f tau_hpt HPT
eff_lpt LPT pi_hpc HPC tau_itb ITB
eff_r r pi_hpt HPT tau_lpc LPC
effm_hpt m-HPT pi_lpc LPC tau_lpt LPT
effm_lpt m-LPT pi_lpt LPT tau_r r
ehpc eHPC pi_r r Tt10_T0 Tt10/T0
elpc eLPC Pt10_P10 Pt10/P10 Tt19_T0 Tt19/T0
fb fb Pt19_P19 Pt19/P19 Tt6_Tt2 Tt6/Tt2
fc_mc rb Rb v0 v0
ff_mf rc Rc v10_a0 v10/a0
fitb fITB rt Rt v19_a0 v19/a0
f_mo s S
Table A.1 Description of variables in MS Excel Macro Visual Basic code
c
c
m
F
f
f
m
F
0
m
F
7/29/2019 UserManual_ITB
55/87
Sub itb()
Dim rc, rb, rt, a0, v0, tau_r, pi_r, eff_r, pi_d, tau_alp_b, tau_alp_itb, tau_hpc, tau_lpc,
tau_f
Dim tau_c, tau_b, eff_hpc, eff_lpc, eff_f, fb, tau_hpt, fitb, tau_itb, Tt6_Tt2, tau_lpt
Dim pi_hpt, pi_lpt, eff_hpt, eff_lpt, Pt10_P10, Tt10_T0, M10, v10_a0, Pt19_P19, M19,
Tt19_T0
Dim T19_T0, v19_a0, fc_mc, ff_mf, T10_T0
'zero-ing internal variables
rc = 0#: rb = 0#: rt = 0#: a0 = 0#: v0 = 0#: tau_r = 0#: pi_r = 0#: eff_r = 0#: pi_d = 0#
tau_alp_b = 0#: tau_alp_itb = 0#: tau_hpc = 0#: tau_lpc = 0#: tau_f = 0#tau_c = 0#: tau_b = 0#: eff_hpc = 0#: eff_lpc = 0#: eff_f = 0#: fb = 0#
tau_hpt = 0#: fitb = 0#: tau_itb = 0#: Tt6_Tt2 = 0#: tau_lpt = 0#
pi_hpt = 0#: pi_lpt = 0#: eff_hpt = 0#: eff_lpt = 0#: Pt10_P10 = 0#: Tt10_T0 = 0#
M10 = 0#: v10_a0 = 0#: Pt19_P19 = 0#: M19 = 0#: Tt19_T0 = 0#
T19_T0 = 0#: v19_a0 = 0#: fc_mc = 0#: ff_mf = 0#
'empty-ing output variables
F_mo = Empty: s = Empty: f = Empty
Style = vbYes
Title = "ITB Cycle Analysis"
Style1 = vbYesNo
Msg = "Do you want to jump to the next alpha?"
Msg1 = "Division by zero ==> Refer to equations 1, 2, 3"
Msg2 = "Square root of a negative quantity ==> Refer to equation 4"
Msg3 = "Division by zero ==> Refer to equation 7"
Msg4 = "Division by zero ==> Refer to equations 10, 11, 12, 13, 14"
7/29/2019 UserManual_ITB
56/87
Msg5 = "Division by zero ==> Refer to equation 16"
Msg6 = "Division by zero ==> Refer to equations 17, 18, 19"
Msg7 = "Division by zero ==> Refer to equation 20"
Msg8 = "Square root of a negative quantity ==> Refer to equation 34"
Msg9 = "Square root of a negative quantity ==> Refer to equation 37"
If gamac = 0# Or gamab = 0# Or gamat = 0# Then
response = MsgBox(Msg1, Sytle, Title)
Msg1 = "Occurs at " & "PIc,PIf,Mo,ByPass = " & pi_hpc * pi_lpc & "," & pi_f & ","
& M0 & "," & alpha
response = MsgBox(Msg1, Style, Title)
jump = MsgBox(Msg1, Style1, Title)
GoTo 10
End If
rc = (gamac - 1#) * Cpc / gamac '(1)
rb = (gamab - 1#) * Cpb / gamab '(2)
rt = (gamat - 1#) * Cpt / gamat '(3)
If gamac < 0# Or rc < 0# Or T_o < 0# Or gc < 0# Then
response = MsgBox(Msg2, Style, Title)
Msg2 = "Occurs at " & "PIc,PIf,Mo,ByPass = " & pi_hpc * pi_lpc & "," & pi_f & ","
& M0 & "," & alpha
response = MsgBox(Msg2, Sytle, Title)
jump = MsgBox(Msg, Style1, Title)
GoTo 10
End If
a0 = (gamac * rc * T_o * gc) ^ 0.5 '(4)
v0 = a0 * M0 '(5)
If gamac = 1# Then
7/29/2019 UserManual_ITB
57/87
response = MsgBox(Msg3, Sytle, Title)
Msg3 = "Occurs at " & "PIc,PIf,Mo,ByPass = " & pi_hpc * pi_lpc & "," & pi_f & ","
& M0 & "," & alpha
response = MsgBox(Msg3, Style, Title)
jump = MsgBox(Msg, Style1, Title)
GoTo 10
End If
tau_r = (gamac - 1#) * (0.5 * M0 ^ 2) + 1# '(6)
pi_r = tau_r ^ (gamac / (gamac - 1)) '(7)
If M0
7/29/2019 UserManual_ITB
58/87
tau_c = tau_hpc * tau_lpc '(15)
If T_o = 0# Or tau_r = 0# Or tau_c = 0# Then
response = MsgBox(Msg5, Style, Title)
Msg5 = "Occurs at " & "PIc,PIf,Mo,ByPass = " & pi_hpc * pi_lpc & "," & pi_f & ","
& M0 & "," & alpha
response = MsgBox(Msg5, Style, Title)
jump = MsgBox(Msg, Style1, Title)
GoTo 10
End If
tau_b = Tt4 / (T_o * tau_r * tau_c) '(16)
If tau_hpc = 1# Or tau_lpc = 1# Or tau_f = 1# Then
response = MsgBox(Msg6, Style, Title)
Msg6 = "Occurs at " & "PIc,PIf,Mo,ByPass = " & pi_hpc * pi_lpc & "," & pi_f & ","
& M0 & "," & alpha
response = MsgBox(Msg6, Style, Title)
jump = MsgBox(Msg, Style1, Title)
GoTo 10
End If
eff_hpc = ((tau_hpc ^ ehpc) - 1#) / (tau_hpc - 1#) '(17)
eff_lpc = ((tau_lpc ^ elpc) - 1#) / (tau_lpc - 1#) '(18)
eff_f = ((tau_f ^ ef) - 1#) / (tau_f - 1#) '(19)
If tau_alp_b = eff_b * hPRb / (Cpc * T_o) Then
response = MsgBox(Msg7, Style, Title)
Msg7 = "Occurs at " & "PIc,PIf,Mo,ByPass = " & pi_hpc * pi_lpc & "," & pi_f & ","
& M0 & "," & alpha
response = MsgBox(Msg7, Style, Title)
jump = MsgBox(Msg, Style1, Title)
7/29/2019 UserManual_ITB
59/87
GoTo 10
End If
fb = (tau_c * tau_r - tau_alp_b) / (tau_alp_b - (eff_b * hPRb / (Cpc * T_o)))
'(20)
tau_hpt = 1# + (1# - tau_hpc) / ((1# + fb) * (Cpb / Cpc) * tau_hpc * tau_b * effm_hpt)
'(21)
If Sheets("Input").ComboBox2.Value = "ON" Then '(22)
fitb = (1# + fb) * (tau_r * tau_c * tau_b * tau_hpt - (Cpc / Cpb) * tau_alp_itb) / ((Cpc /
Cpb) * tau_alp_itb - eff_itb * hPRitb / (Cpb * T_o))
Else
fitb = 0#
End If
f = fb + fitb '(23)
If Sheets("Input").ComboBox2.Value = "ON" Then
'(24)
tau_itb = Tt6 / (T_o * tau_r * tau_c * tau_b * tau_hpt)
Else
tau_itb = 1#
End If
Tt6_Tt2 = tau_c * tau_b * tau_hpt * tau_itb '(25)
tau_lpt = 1# + (1# - tau_lpc + alpha * (1# - tau_f)) / ((1# + f) * (Cpt / Cpc) * Tt6_Tt2 *
effm_lpt) '(26)
pi_hpt = tau_hpt ^ (gamat / ((gamat - 1#) * ehpt)) '(27)
pi_lpt = tau_lpt ^ (gamat / ((gamat - 1#) * elpt)) '(28)
7/29/2019 UserManual_ITB
60/87
eff_hpt = (1# - tau_hpt) / (1# - tau_hpt ^ (1# / ehpt)) '(29)
eff_lpt = (1# - tau_lpt) / (1# - tau_lpt ^ (1# / elpt)) '(30)
Pt10_P10 = P0_P10 * pi_r * pi_d * pi_lpc * pi_hpc * pi_b * pi_hpt * pi_itb * pi_lpt *
pi_n '(31)
Tt10_T0 = tau_r * tau_c * tau_b * tau_hpt * tau_itb * tau_lpt
'(32)
T10_T0 = Tt10_T0 / Pt10_P10 ^ ((gamat - 1#) / gamat)
'(33)
If gamat < 1# Or Pt10_P10 ^ ((gamat - 1#) / gamat) < 1# Then
response = MsgBox(Msg8, Style, Title)
Msg8 = "Occurs at " & "PIc,PIf,Mo,ByPass = " & pi_hpc * pi_lpc & "," & pi_f & ","
& M0 & "," & alpha
response = MsgBox(Msg8, Style, Title)
jump = MsgBox(Msg, Style1, Title)
GoTo 10
End If
M10 = (((Pt10_P10 ^ ((gamat - 1#) / gamat)) - 1#) * 2# / (gamat - 1#)) ^ 0.5
'(34)
v10_a0 = M10 * (gamat * rt * T10_T0 / (gamac * rc)) ^ 0.5
'(35)
Pt19_P19 = P0_P19 * pi_r * pi_d * pi_f * pi_fn '(36)
If gamac < 1# Or Pt19_P19 ^ ((gamac - 1#) / gamac) < 1# Then
response = MsgBox(Msg9, Style, Title)
7/29/2019 UserManual_ITB
61/87
Msg9 = "Occurs at " & "PIc,PIf,Mo,ByPass = " & pi_hpc * pi_lpc & "," & pi_f & ","
& M0 & "," & alpha
response = MsgBox(Msg9, Style, Title)
jump = MsgBox(Msg, Style1, Title)
GoTo 10
End If
M19 = (((Pt19_P19 ^ ((gamac - 1#) / gamac)) - 1#) * 2# / (gamac - 1#)) ^ 0.5
'(37)
Tt19_T0 = tau_r * tau_f '(38)
T19_T0 = Tt19_T0 / Pt19_P19 ^ ((gamac - 1#) / gamac)
'(39)
v19_a0 = M19 * T19_T0 ^ 0.5 '(40)
fc_mc = (a0 / gc) * ((1# + f) * v10_a0 - M0 + (1# + f) * (rt / rc) * (T10_T0 / v10_a0) *
(1# - P0_P10) * (1# / gamac)) '(41)
ff_mf = (a0 / gc) * (v19_a0 - M0 + (T19_T0 / v19_a0) * (1# - P0_P19) / gamac)
'(42)
F_mo = (fc_mc + alpha * ff_mf) / (1# + alpha)
'(43)
s = f / ((1# + alpha) * F_mo)
'(44)
10
End Sub
7/29/2019 UserManual_ITB
62/87
B - FORTRAN 77 code
Three separate files are needed to execute this code, namely itb.f, comitb.i, and
input. All the equations used in this code are summarized in the section 4 - Summary of
equations.
(A) Main program: itb.f
itb.fis the main program for this application. It comprises of a main driver and
nine subroutines. Each subroutine has its own specific function and is described in detail
below.
1) Subroutine START
STARTis the first subroutine called by main driveritb. It ensures that the input
file exists, and then the program will carry on. Or else, the program will terminate.
2) Subroutine RINPUT
Once the file inputis provided at the same directory as itb.f is located,RINPUTwill
then be called and read in the data file.
3) Subroutine CONSTANT
All the constants will be initialized in this subroutine.This subroutine is called only
once before performing necessary computation.
7/29/2019 UserManual_ITB
63/87
4) Subroutine SELECT
SELECT allows user to specify which plot they desire to get. Up to this point, there
are only four options to choose, which include:
Option 1:
(a). Specific Thrust vs Mach Number (ST_M0.dat)
(b). TSFC vs Mach Number (TSFC_M0.dat)
Option 2:
(a). Specific Thrust vs Compressor Pressure Ratio (ST_PIc.dat)
(b). TSFC vs Compressor Pressure Ratio (TSFC_PIc.dat)
(c). Fuel-air Ratio vs Compressor Pressure Ratio (f_PIc.dat)
Option 3:
(a). Specific Thrust vs Fan Pressure Ratio (ST_PIf.dat)
(b). TSFC vs Fan Pressure Ratio (TSFC_PIf.dat)
Option 4:
(a). Specific Thrust vs Bypass Ratio (ST_Alpha.dat)
(b). TSFC vs Bypass Ratio (TSFC_Alpha.dat)
The selected plots will be plotted and stored in the same directory where the program
is executed.
5) Subroutine MACH
MACH is called to plot engine performance parameters (for instance,specific thrust
orthrust specific fuel consumption) vsflight mach number.
7/29/2019 UserManual_ITB
64/87
6) Subroutine COMPR
COMPR is called to plot engine performance parameters vs compressor pressure
ratio.
7) Subroutine FANPR
FANPR is called to plot engine performance parameters vsfan pressure ratio.
8) Subroutine BYPASS
BYPASS is called to plot engine performance parameters vs bypass ratio.
9) Subroutine EQUATION
EQUATION is called to perform all necessary computations. It includes all
equations here.
(B) Variable initialization: comitb.i
All variables will be declared and initialized before running main program and all
subroutines. Variables are grouped into five common blocks, i.e. inputs, outputs,
equations, constants, and chardat.
7/29/2019 UserManual_ITB
65/87
(C) Data file: input
Since two types of unit system will be used for computation, namely SI and
English unit, user needs to specify the input parameter unitsys to be either 0.
(English unit) or 1.0 (SI unit).
Another important input parameter is itbsw. When itbsw is set to be 1.,
ITB will be turned on and vice versa (i.e. itbsw is set to be 0.0).
Table shown below is the brief descriptions of input variables in input file:
Input Variables Unit
program literature English SI
unitsys - - -
itbsw - - -
T0 T0 R Kgamac c - -
cpc cpc
Rlbm
Btu
KkgkJ
gamab b - -
cpb cpb
Rlbm
Btu
KkgkJ
gamat t - -
cpt cpt
Rlbm
Btu
KkgkJ
hprb hPR-b
lbm
Btu
kg
kJ
hpritb hPR-itb
lbm
Btu
kg
kJ
pidmax d max - -
pib b - -
piitb itb - -
pin n - -
pifn fn - -
ehpc eHPC - -
elpc eLPC - -
7/29/2019 UserManual_ITB
66/87
ef ef - -
ehpt eHPT - -
elpt eLPT - -
effb b - -
effitb itb -
effmhpt hpt -effmlpt lpt -
p0op10
10
0
P
P -
p0op19
19
0
P
P -
Tt4 Tt4 R KTt6 Tt6 R K
Table B.1 Description of input variables in input file in Fortran77 code (both SI
and English units)
Main program: itb.f
*deck itbprogram itb
cc +++cc===========================================================cc ITB is the main driver.cc===========================================================c
include 'comitb.i'cc//////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\c
7/29/2019 UserManual_ITB
67/87
c +++call start
c +++call rinput
c +++call constant
ccall select
c +++if (plot.eq.1) call mach
cif (plot.eq.2) call compr
cif (plot.eq.3) call fanpr
cif (plot.eq.4) call bypass
c +++end
c*deck bypass
subroutine bypasscc===========================================================cc BYPASS determines the range for bypass ratio forc plotting.cc BYPASS is called by: itbcc===========================================================c
include 'comitb.i'cc//////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\c
write(3,*) 'Subroutine BYPASS'c
open(unit=18,file='ST_Alpha.dat')open(unit=19,file='TSFC_Alpha.dat')
cWRITE(18,*) 'Title="','Specific Thrust VS Alpha"'if (unitsys.eq.0.0) thenWRITE(18,*) 'Variables = "`a","Sp. thrust [lbf/(lbm/sec)]"'elseWRITE(18,*) 'Variables = "`a","Specific thrust [N/(kg/s)]"'endif
c
WRITE(19,*) 'Title="','TSFC VS Alpha"'if (unitsys.eq.0.0) thenWRITE(19,*) 'Variables = "`a","TSFC [(lbm/hr)/lbf]"'elseWRITE(19,*) 'Variables = "`a","TSFC [mg/(N-sec)]"'endif
cif (npif.gt.0) thendo 90 i=1,npif
pif=pi_f(i)
7/29/2019 UserManual_ITB
68/87
write(*,*) 'pif(',i,')=',pifc
if (itbsw.eq.0.) thenwrite(18,314)'Zone T="`p_f = ',pif,'(no itb)"'write(19,314)'Zone T="`p_f = ',pif,'(no itb)"'
elsewrite(18,314)'Zone T="`p_f = ',pif,'(itb)"'write(19,314)'Zone T="`p_f = ',pif,'(itb)"'
endifc
do 100 alpha = ialp,falp,dalpc
alpp1 = alpha+1.0ralpp1 = 1.0/alpp1
ccall equationif (error.eq.1.0) then
write(*,*) 'error'go to 90
endif
write(18,313) alpha,stwrite(19,313) alpha,tsfc
100 continue90 continue
endifc
close(18)close(19)return
313 format(f10.5,2x,f13.8)314 format(a15,f5.2,a9)
endc*deck compr
subroutine comprcc===========================================================cc COMPR determines the range for compressor pressurec ratio for plotting.cc COMPR is called by: itbcc===========================================================c
include 'comitb.i'c
c//////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\c
write(3,*) 'Subroutine COMPR'c
open(unit=15,file='ST_PIc.dat')open(unit=16,file='TSFC_PIc.dat')open(unit=17,file='f_PIc.dat')
cWRITE(15,*) 'Title="','Specific Thrust VS Pi Comp"'if (unitsys.eq.0.0) then
7/29/2019 UserManual_ITB
69/87
WRITE(15,*)'Variables ="`p_c","Sp.thrust [lbf/(lbm/sec)]"'elseWRITE(15,*)'Variables ="`p_c","Sp.thrust [N/(kg/s)]"'endif
cWRITE(16,*) 'Title="','TSFC VS Pi Comp"'if (unitsys.eq.0.0) thenWRITE(16,*)'Variables = "`p_c","TSFC [(lbm/hr)/lbf]"'elseWRITE(16,*)'Variables = "`p_c","TSFC [mg/(N-sec)]"'endif
cWRITE(17,*) 'Title="','f VS Pi Comp"'WRITE(17,*) 'Variables = "`p_c","f"'
cipic = scalec*pilpc*pilpck=1do 60 pic = ipic,fpic,dpic
term = pic/scalectpilpc(k) = sqrt(term)
tpihpc(k) = pic/tpilpc(k)k=k+1
60 continuewrite(3,*) pilpc,pihpc,picwrite(3,*) ipic,fpic,dpic
cif (nalpha.gt.0) thendo 70 i=1,nalpha
alpha=alp(i)write(*,*) 'alpha(',i,')=',alphaif (itbsw.eq.0.) then
write(15,12)'Zone T="`a =',alpha,'(no itb)"'write(16,12)'Zone T="`a =',alpha,'(no itb)"'write(17,12)'Zone T="`a =',alpha,'(no itb)"'
elsewrite(15,12)'Zone T="`a =',alpha,'(itb)"'write(16,12)'Zone T="`a =',alpha,'(itb)"'write(17,12)'Zone T="`a =',alpha,'(itb)"'
endifc
alpp1 = alpha+1.0ralpp1 = 1.0/alpp1
c write(3,*) 'alpp1=',alpp1c write(3,*) 'ralpp1=',ralpp1c
j=1write(3,*) pilpc,pihpc,pic
write(3,*) ipic,fpic,dpicdo 80 pic = ipic,fpic,dpic
pilpc = tpilpc(j)pihpc = tpihpc(j)write(3,*) pilpc,pihpc,pic
ccall equationif (error.eq.1.0) then
write(*,*) 'error'go to 70
7/29/2019 UserManual_ITB
70/87
endifwrite(15,11) pic,stwrite(16,11) pic,tsfcwrite(17,11) pic,f
c count=count+1j=j+1
80 continue70 continue
endifc
close (15)close (16)close (17)return
11 format(f10.5,2x,f13.9)12 format(a13,f5.2,a9)
endc*deck constant
subroutine constant
cc===========================================================cc EQUATION performs all necessary computations.cc EQUATION is called by: mach,compr,fanpr,bypasscc===========================================================c
include 'comitb.i'cc//////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\c
write(3,*)write(3,*) '*******Check constant begins!!******'
cgc=32.174if (unitsys.eq.1.0) gc = 1.0
cecvrn = 778.14if (unitsys.eq.1.0) ecvrn = 1000.0
crgc = 1.0/gcwrite(3,*) 'gc=',gcwrite(3,*) 'rgc=',rgc
crgamac = 1.0/gamac
rgamat = 1.0/gamatrgamab = 1.0/gamabwrite(3,*) 'rgamac=',rgamacwrite(3,*) 'rgamat=',rgamatwrite(3,*) 'rgamab=',rgamab
cgcm1ogc = (gamac-1.0)*rgamacgtm1ogt = (gamat-1.0)*rgamatgbm1ogb = (gamab-1.0)*rgamabwrite(3,*) 'gcm1ogc=',gcm1ogc
7/29/2019 UserManual_ITB
71/87
write(3,*) 'gtm1ogt=',gtm1ogtwrite(3,*) 'gbm1ogb=',gbm1ogb
crgcm1ogc = 1.0/gcm1ogcrgtm1ogt = 1.0/gtm1ogtrgtm1 = 1.0/(gamat-1.0)rgcm1 = 1.0/(gamac-1.0)write(3,*) 'rgcm1ogc=',rgcm1ogcwrite(3,*) 'rgtm1ogt=',rgtm1ogtwrite(3,*) 'rgcm1=',rgcm1write(3,*) 'rgtm1=',rgtm1
cTt4oT0 = Tt4/T0Tt6oT0 = Tt6/T0write(3,*) 'Tt4oT0=',Tt4oT0write(3,*) 'Tt6oT0=',Tt6oT0
ccpbocpc = cpb/cpccptocpc = cpt/cpccpcocpb = 1.0/cpbocpc
write(3,*) 'cpbocpc=',cpbocpcwrite(3,*) 'cptocpc=',cptocpcwrite(3,*) 'cpcocpb=',cpcocpb
crehpc = 1.0/ehpcrelpc = 1.0/elpcwrite(3,*) 'rehpc=',rehpcwrite(3,*) 'relpc=',relpc
crehpt = 1.0/ehptrelpt = 1.0/elptwrite(3,*) 'rehpt=',rehptwrite(3,*) 'relpt=',relpt
ctaud = 1.0
cwrite(3,*) '******constant check ENDs!!******'write(3,*)
creturnend
c*deck equation
subroutine equationcc===========================================================c
c EQUATION performs all necessary computations.cc EQUATION is called by: itbcc===========================================================c
include 'comitb.i'INTEGER eqn
cc//////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
7/29/2019 UserManual_ITB
72/87
cerror=0.eqn = 0write(3,*) '-----------------------------'write(3,*) 'Subroutine EQUATION'write(3,*) '-----------------------------'
cc --- equation 1,2,3c
rc = gcm1ogc*cpc*ecvrnrb = gbm1ogb*cpb*ecvrnrt = gtm1ogt*cpt*ecvrnwrite(3,*) 'Rc=',rcwrite(3,*) 'Rt=',rtwrite(3,*) 'Rb=',rb
crtorc = rt/rcwrite(3,*) 'rtorc=',rtorc
cc --- equation 4 & 5
cterm = gamac*rc*gc*T0if (term.lt.0) then
eqn = 4write(3,201) eqn
endifc
a0 = sqrt(term)v0 = a0*M0write(3,*) 'a0=',a0write(3,*) 'v0=',v0
cc --- equation 6,7,8c
taur = 1.0+(gamac-1.0)/2*M0*M0pir = taur**rgcm1ogceffr = 1.if (M0.gt.5.0) then
effr = 800/(M0**4+935.0)else if (M0.gt.1.0) then
effr = 1.0-0.075*(M0-1)**1.35endif
cwrite(3,*) 'taur=',taurwrite(3,*) 'pir=',pirwrite(3,*) 'effr=',effr
c
c --- equation 9,10,11c
pid = pidmax*effrtaulb = cpbocpc*Tt4oT0taulitb = cptocpc*Tt6oT0write(3,*) 'pid=',pidwrite(3,*) 'taulb=',taulbwrite(3,*) 'taulitb=',taulitb
cc
7/29/2019 UserManual_ITB
73/87
c --- equation 12 & 13c
tauhpc = pihpc**(gcm1ogc*rehpc)taulpc = pilpc**(gcm1ogc*relpc)write(3,*) 'tauhpc=',tauhpcwrite(3,*) 'taulpc=',taulpc
cc --- equation 14,15,16c
if (ef.lt.0) theneqn = 14write(3,201) eqn
endifc
tauf = pif**(gcm1ogc/ef)tauc = tauhpc*taulpc
cterm = taur*tauc*taudif (term.lt.0) then
eqn = 16
write(3,201) eqnendif
ctaub = Tt4oT0/(term)
cwrite(3,*) 'tauf=',taufwrite(3,*) 'tauc=',taucwrite(3,*) 'taub=',taub
cc --- equation 17,18,19c
if (tauhpc.eq.1.0) theneqn = 17write(3,201) eqn
go to 299endif
ceffhpc = (tauhpc**ehpc-1.0)/(tauhpc-1.0)write(3,*) 'effhpc=',effhpc
cif (taulpc.eq.1.0) then
eqn = 18write(3,201) eqn
go to 299endif
cefflpc = (taulpc**elpc-1.0)/(taulpc-1.0)
write(3,*) 'efflpc=',efflpcc
if (tauf.eq.1.0) theneqn = 19write(3,201) eqn
go to 299endif
cefff = (tauf**ef-1.0)/(tauf-1.0)write(3,*) 'efff=',efff
7/29/2019 UserManual_ITB
74/87
cc --- equation 20c
num = tauc*taur-taulbdenom = taulb-(effb*hprb)/(cpc*T0)write(3,*) 'num=',numwrite(3,*) 'denom=',denom
cif (denom.eq.0) then
eqn = 20write(3,201) eqn
go to 299endif
cfb = num/denomwrite(3,*) 'fb=',fb
cc --- equation 21c
denom = (1.0+fb)*cpbocpc*tauhpc*taub*effmhpt
write(3,*) 'denom=',denomc
if (denom.eq.0) theneqn = 21write(3,201) eqn
go to 299endif
ctauhpt = 1.0+(1.0-tauhpc)/denomwrite(3,*) 'tauhpt=',tauhpt
cc --- equation 22 & 23c
if (itbsw.eq.1.0) thendenom1 = cpcocpb*taulitbdenom2 = (effitb*hpritb)/(cpb*T0)denom = denom1-denom2num = taur*taud*tauc*taub*tauhpt-cpcocpb*taulitbwrite(3,*) 'denom1=',denom1write(3,*) 'denom2=',denom2write(3,*) 'denom=',denomwrite(3,*) 'num=',num
cif (denom.eq.0) then
eqn = 22write(3,201) eqn
go to 299
endiffitb = num/denom*(1.0+fb)
elsefitb = 0.0
endifc
f = fb+fitbwrite(3,*) 'fitb=',fitbwrite(3,*) 'f=',f
c
7/29/2019 UserManual_ITB
75/87
c --- equation 24 & 25c
if (itbsw.eq.1.0) thennum=taur*tauc*taub*tauhptwrite(3,*) 'num=',numif (num.eq.0) then
eqn = 24write(3,201) eqngo to 299
endiftauitb = Tt6oT0/num
elsetauitb = 1.0
endifc
Tt6oTt2 = tauitb*taulpc*tauhpc*taub*tauhptwrite(3,*) 'tauitb=',tauitbwrite(3,*) 'Tt6oTt2=',Tt6oTt2
cc --- equation 26,27,28,29,30
cfp1 = f+1.0num = 1.0-taulpc+alpha*(1.0-tauf)denom = fp1*cptocpc*Tt6oTt2*effmlptwrite(3,*) 'num=',numwrite(3,*) 'denom=',denom
cc
if (denom.eq.0) theneqn = 26write(3,201) eqn
go to 299endif
ctaulpt = 1.0+num/denomwrite(3,*) 'taulpt=',taulpt
cpihpt = tauhpt**(rgtm1ogt*rehpt)pilpt = taulpt**(rgtm1ogt*relpt)write(3,*) 'pihpt=',pihptwrite(3,*) 'pilpt=',pilpt
cdenom = 1.0-tauhpt**rehptwrite(3,*) 'denom=',denomif (denom.eq.0) then
eqn = 29write(3,201) eqn
go to 299endif
ceffhpt = (1.0-tauhpt)/denomwrite(3,*) 'effhpt=',effhpt
cdenom = 1.0-taulpt**relptwrite(3,*) 'denom=',denomif (denom.eq.0) then
eqn = 30
7/29/2019 UserManual_ITB
76/87
write(3,201) eqngo to 299endif
cefflpt = (1.0-taulpt)/denomwrite(3,*) 'efflpt=',efflpt
cc --- eqaution 31,32,33,34,35c
pt10op10 = p0op10*pir*pid*pilpc*pihpc*pibpt10op10 = pt10op10*pihpt*piitb*pilpt*pinwrite(3,*) 'pt10op10=',pt10op10
cTt10oT0 = taur*tauc*taub*tauhpt*taulpt*tauitbdenom = pt10op10**gtm1ogtwrite(3,*) 'Tt10oT0=',Tt10oT0write(3,*) 'denom=',denomif (denom.eq.0) then
eqn = 33write(3,201) eqn
go to 299endif
cT10oT0 = Tt10oT0/denomwrite(3,*) 'T10oT0=',T10oT0
cterm = denomif (term.lt.1.0) then
eqn = 34write(3,200) eqn
go to 299endif
cM10 = sqrt(2.0*(term-1.0)/(gamat-1.0))
cterm = rtorc*T10oT0*gamat/gamacwrite(3,*) 'term=',term
cif (term.lt.0.0) then
eqn = 35write(3,200) eqn
go to 299endif
cv10oa0 = M10*sqrt(term)write(3,*) 'M10=',M10write(3,*) 'v10oa0=',v10oa0
cc --- equation 36,37,38,39,40c
pt19op19 = p0op19*pir*pid*pif*pifnc
term = pt19op19**gcm1ogcwrite(3,*) 'pt19op19=',pt19op19write(3,*) 'term=',termif (term.lt.1.0) then
eqn = 37
7/29/2019 UserManual_ITB
77/87
write(3,200) eqngo to 299endif
cM19 = sqrt(2.0*(term-1.0)/(gamac-1.0))write(3,*) 'M19=',M19
cTt19oT0 = taur*tauf
cdenom = termT19oT0 = Tt19oT0/denomwrite(3,*) 'Tt19oT0=',Tt19oT0write(3,*) 'T19oT0=',T19oT0
cif (T19oT0.lt.0) then
eqn = 40write(3,200) eqn
go to 299endif
c
v19oa0 = sqrt(T19oT0)*M19write(3,*) 'v19oa0=',v19oa0
cc --- equation 41 & 42c
term = fp1*rtorc*T10oT0*(1.0-p0op10)*rgamac/v10oa0write(3,*) 'term=',termwrite(3,*) 'a0=',a0write(3,*) 'rgc=',rgcwrite(3,*) 'fp1=',fp1write(3,*) 'v10oa0=',v10oa0write(3,*) 'M0=',M0fcomc = a0*rgc*(fp1*v10oa0-M0+term)if (fcomc.lt.0) then
eqn = 41write(3,202) eqn
go to 299endif
cwrite(3,*) 'term=',termwrite(3,*) 'fcomc=',fcomc
cterm = T19oT0*(1.0-p0op19)*rgamac/v19oa0ffomf = a0*rgc*(v19oa0-M0+term)write(3,*) 'term=',termwrite(3,*) 'ffomf=',ffomf
c
c --- equation 43 & 44c
st = (fcomc+ffomf*alpha)*ralpp1c
tsfc = ((1.0-unitsys)*3600+unitsys*1e6)*(f*ralpp1/st)write(3,*) 'st=',stwrite(3,*) 'tsfc=',tsfcwrite(3,*) '------------------------------'
c ---299 if (eqn.gt.0) error=1.0
7/29/2019 UserManual_ITB
78/87
returnc200 format(' Error: Square root of a negative number! Check
& equation',i3)201 format(' Error: Division by zero !! Check equation', i3)202 format(' Error: Negative Fc/mcdot !! Check equation',i3)
endc*deck fanpr
subroutine fanprcc===========================================================cc FANPR determine the range of Fan pressure ratio forc plotting.cc FANPR is called by: itbcc===========================================================c
include 'comitb.i'cc//////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\c
write(3,*) 'Subroutine FANPR'c
open(unit=13,file='ST_PIf.dat')open(unit=14,file='TSFC_PIf.dat')
cWRITE(13,*) 'Title="','Specific Thrust VS Pi Fan"'if (unitsys.eq.0.0) thenWRITE(13,*)'Variables = "`p_f","Sp. thrust [lbf/(lbm/sec)]"'elseWRITE(13,*)'Variables = "`p_f","Sp. thrust [N/(kg/s)]"'endif
cWRITE(14,*) 'Title="','TSFC VS Pi Fan"'if (unitsys.eq.0.0) thenWRITE(14,*)'Variables = "`p_f","TSFC [(lbm/hr)/lbf]"'elseWRITE(14,*)'Variables = "`p_f","TSFC [(mg/(N-sec)]"'endif
cif (nalpha.gt.0) thendo 40 i=1,nalpha
alpha=alp(i)write(*,*) 'alpha(',i,')=',alpha
cif (itbsw.eq.0.) then
write(13,12)'Zone T="`a = ',alpha,'(no itb)"'write(14,12)'Zone T="`a = ',alpha,'(no itb)"'
elsewrite(13,12)'Zone T="`a = ',alpha,'(itb)"'write(14,12)'Zone T="`a = ',alpha,'(itb)"'
endifc
alpp1 = alpha+1.0
7/29/2019 UserManual_ITB
79/87
ralpp1 = 1.0/alpp1write(3,*) 'alpp1=',alpp1write(3,*) 'ralpp1=',ralpp1
cdo 50 pif = ipif,fpif,dpif
call equationif (error.eq.1.0) then
c write(*,*) 'error'go to 40
endifwrite(13,11) pif,stwrite(14,11) pif,tsfc
c count=count+150 continue40 continue
endifc
close (13)close (14)return
11 format(f10.5,2x,f13.9)12 format(a13,f5.2,a9)
endc*deck mach
subroutine machcc===========================================================cc MACH determine the range of Mach number for plotting.cc MACH is called by: itbcc===========================================================c
include 'comitb.i'cc//////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\c
write(3,*) 'Subroutine MACH'c
open(unit=11,file='ST_M0.dat')open(unit=12,file='TSFC_M0.dat')
cWRITE(11,*) 'Title="','Specific Thrust VS Mach #"'if (unitsys.eq.0.0) thenWRITE(11,*)'Variables = "M_0","Sp. thrust [lbf/(lbm/sec)]"'
elseWRITE(11,*)'Variables = "M_0","Sp. thrust [N/(kg/s)]"'endif
cWRITE(12,*) 'Title="','TSFC VS Mach #"'if (unitsys.eq.0.0) thenWRITE(12,*)'Variables = "M_0","TSFC [(lbm/hr)/lbf]"'elseWRITE(12,*)'Variables = "M_0","TSFC [mg/(N-sec)]"'endif
7/29/2019 UserManual_ITB
80/87
cif (nalpha.gt.0) thendo 20 i=1,nalpha
alpha=alp(i)write(*,*) 'alpha(',i,')=',alpha
c count=0if (itbsw.eq.0.) then
write(11,12)'Zone T="`a = ',alpha,'(no itb)"'write(12,12)'Zone T="`a = ',alpha,'(no itb)"'
elsewrite(11,12)'Zone T="`a = ',alpha,'(itb)"'write(12,12)'Zone T="`a = ',alpha,'(itb)"'
endifc
alpp1 = alpha+1.0ralpp1 = 1.0/alpp1write(3,*) 'alpp1=',alpp1write(3,*) 'ralpp1=',ralpp1
cdo 10 M0 = iM0,fM0,dM0
call equationif (error.eq.1.0) then
write(*,*) '!!error!!'go to 20
endifwrite(11,11) M0,stwrite(12,11) M0,tsfc
10 continue20 continue
endifc
close(11)close(12)return
11 format(f10.5,2x,f13.7)12 format(a13,f5.2,a9)
endc*deck rinput
subroutine rinputcc===========================================================cc RINPUT reads the 'input' data file.cc RINPUT is called by: itbc
c===========================================================c
include 'comitb.i'character *10 id(4)
cc//////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\c
read (1,310) id(1),unitsyswrite(3,310) ' unitsys',unitsys
c
7/29/2019 UserManual_ITB
81/87
read (1,310) id(1),itbswwrite(3,310) ' itbsw ',itbsw
cread (1,310) id(1),T0write(3,310) ' T0 ',T0
cread (1,310) id(1),gamac,id(2),cpcwrite(3,310) ' gamac ',gamac,' cpc ',cpc
cread (1,310) id(1),gamab,id(2),cpbwrite(3,310) ' gamab ',gamab,' cpb ',cpb
cread (1,310) id(1),gamat,id(2),cptif (itbsw.eq.0.0) then
cpt = cpbgamat = gamab
endifwrite(3,310) ' gamat ',gamat,' cpt ',cpt
cread (1,310) id(1),hprb,id(2),hpritb
write(3,310) ' hprb ',hprb, ' hpritb ',hpritbc
read (1,310) id(1),pidmax,id(2),pib,id(3),piitbif (itbsw.eq.0.0) piitb = 1.0write(3,310) ' pidmax ',pidmax,' pib ',pib,& ' piitb ',piitb
cread (1,310) id(1),pin,id(2),pifnwrite(3,310) ' pin ',pin,' pifn ',pifn
cread (1,310) id(1),ehpc,id(2),elpc,id(3),efwrite(3,310) ' ehpc ',ehpc,' elpc ',elpc,& ' ef ',ef
cread (1,310) id(1),ehpt,id(2),elptwrite(3,310) ' ehpt ',ehpt,' elpt ',elpt
cread (1,310) id(1),effb,id(2),effitbwrite(3,310) ' effb ',effb,' effitb ',effitb
cread (1,310) id(1),effmhpt,id(2),effmlptwrite(3,310) ' effmhpt',effmhpt,' effmlpt',effmlpt
cread (1,310) id(1),p0op10,id(2),p0op19write(3,310) ' p0op10 ',p0op10,' p0op19 ',p0op19
cread (1,310) id(1),Tt4,id(2),Tt6
write(3,310) ' Tt4 ',Tt4,' Tt6 ',Tt6c
return310 format(a8,f14.8)311 format(a8,i5)
endc*deck select
subroutine selectc===========================================================
7/29/2019 UserManual_ITB
82/87
cc SELECT allows user to specify the desired plots.cc SELECT is called by: itbcc===========================================================c
include 'comitb.i'CHARACTER *2 try
cc///////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\c1 write(*,*)
write(*,*) 'Please choose a plot:'write(*,*) '--------------------'write(*,*) '(1)'write(*,*) ' a. Specific Thrust vs Mach Number'write(*,*) ' b. TSFC vs Mach Number'write(*,*) '(2)'write(*,*) ' a. Specific Thrust vs Compressor Pres.Ratio'
write(*,*) ' b. TSFC vs Compressor Pres.Ratio'write(*,*) ' c. Fuel-air Ratio vs Compressor Pres.Ratio'write(*,*) '(3)'write(*,*) ' a. Specific Thrust vs Fan Pres.Ratio'write(*,*) ' b. TSFC vs Fan Pres.Ratio'write(*,*) '(4)'write(*,*) ' a. Specific Thrust vs Bypass Ratio'write(*,*) ' b. TSFC vs Bypass Ratio'write(*,*) '--------------------'write(*,*) '(1~4)?'read (*,*) plot
cif (plot.lt.1.or.plot.gt.4) then
write(*,*) '!!Invalid selction number!!'write(*,*) ' Try again (y/n)?'read (*,*) try
if (try.eq.'y'.or.try.eq.'Y') go to 1endif
cc +++ Plot 1c
if (plot.eq.1) thenwrite(*,*) 'Initial M0 (iM0):'read (*,*) iM0
2 write(*,*) 'Final M0 (fM0):'read (*,*) fM0
c
if (fM0.le.iM0) thenwrite(*,*) ' >>Error: iM0 >= fM0 !!'go to 2
endifc
write(*,*) 'Delta M0 (dM0):'read (*,*) dM0write(*,*) 'HPC Pressure Ratio (pihpc):'read (*,*) pihpcwrite(*,*) 'LPC Pressure Ratio (pilpc):'
7/29/2019 UserManual_ITB
83/87
read (*,*) pilpcwrite(*,*) 'Fan Pressure Ratio (pif):'read (*,*) pif
endifcc +++ Plot 2c
if (plot.eq.2) thenwrite(*,*) 'LPC Pressure Ratio (pilpc):'read (*,*) pilpcwrite(*,*) 'Constant between LPC & HPC (scalec):'write(*,*) ' i.e. HPC = scalec*LPC'read (*,*) scalec
cpihpc = scalec*pilpcipic = scalec*pilpc*pilpcwrite(*,'(a6,f6.2)') ' HPC =',pihpcwrite(*,'(a21,f6.2)') ' Initial pic (ipic) =',ipic
3 write(*,*) 'Final pic (fpic):'read (*,*) fpic
cif (fpic.le.ipic) then
write(*,*) ' >>Error: ipic >= fpic'go to 3
endifc
write(*,*) 'Delta pic (dpic):'read (*,*) dpicwrite(*,*) 'Fan Pressure Ratio (pif):'read (*,*) pifwrite(*,*) 'Mach Number (M0):'read (*,*) M0
endifcc +++ Plot 3c
if (plot.eq.3) then4 write(*,*) 'Initial pif (ipif):'
read (*,*) ipifc
if (ipif.le.1.0) thenwrite(*,*)'>>Error: "ipif" has to be greater than 1.0'go to 4
endifc
5 write(*,*) 'Final pif (fpif):'read (*,*) fpif
cif (fpif.le.ipif) then
write(*,*) ' >>Error: ipif >= fpif'go to 5
endifc
write(*,*) 'Delta pif (dpif):'read (*,*) dpifwrite(*,*) 'HPC Pressure Ratio (pihpc):'read (*,*) pihpc
7/29/2019 UserManual_ITB
84/87
write(*,*) 'LPC Pressure Ratio (pilpc):'read (*,*) pilpcwrite(*,*) 'Mach number (M0):'read (*,*) M0
endifcc +++ Plot 4c
if (plot.eq.4) thenwrite(*,*) 'Initial alpha (ialp):'read (*,*) ialp
6 write(*,*) 'Final alpha (falp):'read (*,*) falp
cif (falp.le.ialp) then
write(*,*) ' >>Error: ialp >= falp'go to 6
endifc
write(*,*) 'Delta alpha (dalp):'
read (*,*) dalpwrite(*,*) 'HPC Pressure Ratio (pihpc):'read (*,*) pihpcwrite(*,*) 'LPC Pressure Ratio (pilpc):'read (*,*) pilpcwrite(*,*) 'Mach number (M0):'read (*,*) M0write(*,*)write(*,*) 'Plot at different fan pres. ratio (pif)'write(*,*) '---------------------------------------'write(*,*) 'Number of pif (npif):'read (*,*) npifwrite(*,*) 'Please input',npif,' pif(s):'do 7 i=1,npif
write(*,*) 'pif',i,' ->'read (*,*) pi_f(i)
7 continueendif
cif (plot.le.3) then
write(*,*)write(*,*) 'Plot at different bypass ratio (alpha)'write(*,*) '--------------------------------------'write(*,*) 'Number of alpha (nalpha):'read (*,*) nalphawrite(*,*) 'Please input',nalpha,' alpha(s):'do 8 i=1,nalpha
write(*,*) 'alpha',i,' ->'read (*,*) alp(i)
8 continueendif
creturnend
c*deck start
subroutine start
7/29/2019 UserManual_ITB
85/87
c===========================================================cc START performs initialization for 'itb' run.cc START is the first subroutine called by the driver.cc START is called by: itbcc===========================================================c
include 'comitb.i'logical present
cc///////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\c
open(unit=3,file='check')c +++c +++ ensure that 'input' file existsc +++
inquire(file='input',exist=present)
if(.not.present) thenwrite(*,300)write(3,300)call exit(0)
endifc
open(unit=1,file='input')read (1,301) namewrite(3,301) name
300 format(' data file input is missing: run aborted')301 format(a80)
returnend
Variable initialization: comitb.i
*deck comitbcc implicit double precision (a-h,o-z)
parameter (na=10,ncomp=1000)c na = maximum number of different alpha valuesc
REAL M0,iM0,M10,M19,num,ipic,ialp,ipif,itbswCHARACTER *80 name
ccommon /inputs/ unitsys,itbsw,T0,gamac,cpc,gamab,cpb,1 gamat,cpt,hprb,hpritb,pidmax,pib,piitb,pin,pifn,ehpc,2 elpc,ef,ehpt,elpt,effb,effitb,effmhpt,effmlpt,p0op10,3 p0op19,Tt4,Tt6,M0,iM0,dM0,fM0,pihpc,pilpc,pic,ipic,4 dpic,fpic,tpilpc(ncomp),tpihpc(ncomp),scalec,pif,ipif,5 dpif,fpif,npif,pi_f(na),ialp,dalp,falp,nalpha,alpha,6 alp(na),taud,plot
7/29/2019 UserManual_ITB
86/87
ccommon /outputs/ f,st,tsfc
ccommon /equations/ rc,rb,rt,a0,v0,taur,pir,effr,pid,taulb,1 taulitb,tauhpc,taulpc,tauf,tauc,taub,effhpc,efflpc,efff,2 fb,tauhpt,fitb,tauitb,Tt6oTt2,taulpt,pihpt,pilpt,effhpt,3 efflpt,pt10op10,Tt10oT0,t10oT0,M10,v10oa0,pt19op19,M19,4 Tt19oT0,T19oT10,v19oa0,fcomc,ffomf
ccommon /constants/ gc,rgc,ecvrn,gcm1ogc,gbm1ogb,gtm1ogt,1 rgcm1ogc,denom,fp1,rgtm1ogt,rehpt,relpt,num,pt10rgt,2 rgtm1,term,rgcm1,pt19rgc,rgamac,alpp1,ralpp1,rgamat,3 rgamab,Tt4oT0,Tt6oT0,cpbocpc,cptocpc,cpcocpb,rehpc,4 relpc,denom1,denom2,rtorc,error
ccommon /chardat/ name
c
Input data file: input
/062302/ ITBunitsys 0.0itbsw 1.0
T0 390.0gamac 1.39999cpc 0.239
gamab 1.27284cpb 0.277gamat 1.27882cpt 0.274hprb 18400.0hpritb 18400.0pidmax 0.99pib 0.96piitb 0.96
7/29/2019 UserManual_ITB
87/87
pin 0.99pifn 1.3ehpc 0.9066elpc 0.9036ef 0.8961ehpt 0.9029
elpt 0.9174effb 0.999effitb 0.999effmhpt 0.92effmlpt 0.93p0op10 0.9p0op19 0.9Tt4 3214.07Tt6 2814.92
References
1. Mattingly, J. D., Elements of Gas Turbine Propulsion, McGraw-Hill series in
mechanical engineering, McGraw Hill, Inc. Singapore 1996.
2. Model Specification for Engines, Aircraft, Turbojet, Military Specification MIL-E-
5008B, Department of Defense. January 1959
3. F. Liu, W.A. Sirignano, Turbojet and Turbofan Engine Performance Increases
Through Turbine Burners,Journal of Propulsion and Power, Vol. 17, No. 3, May-June
2001, pp 695-705.