Chapter4-Gas Turbine Engine Cycle Analysis

Ex1-pg133

In [1]:
import math
print("Example 4.1");
M0=0.85
p0=10000. ##ambient static pressure in Pa
pt2=15.88*10**3. ##total pressure at the engine face in Pa
gm=1.4 ##gamma
pt0=p0*((1.+((gm-1.)*(M0)**2.)/2.)**(gm/(gm-1.)))
Pr=pt2/pt0 ##Pr=total pressure recovery
ie=((pt2/p0)**((gm-1.)/gm)-1.)/(((gm-1.)/2)*M0**2.) ##inlet adiabatic efficiency.
de=-math.log(Pr)
print'%s %.3f %s'%("(a)The inlet total pressure recovery:",Pr,"")
print'%s %.3f %s'%("(b)The inlet adiabatic efficiency:",ie,"")
print'%s %.4f %s'%("(c)The nondimensional entropy rise caused by the inlet:",de,"")

 
Example 4.1
(a)The inlet total pressure recovery: 0.990 
(b)The inlet adiabatic efficiency: 0.978 
(c)The nondimensional entropy rise caused by the inlet: 0.0099 

Ex2-pg138

In [2]:
#calculate compressor exit total temperature and adiabatic efficency and compressor shaft power
print("Example 4.2")
m=50. ##mass flow rate in kg/s
ec=0.9 ##compressore polytropic efficiency
Tt2=288. ##inlet total temp in K.
pt2=100000. ## inlet total pressure in Pa
gm=1.4 ##gama
cp=1004. ##specific heat in J/kg.K
p=35. ##total pressure ratio
tr=p**((gm-1.)/(gm*ec)) ##relation between total pressure and temp ratios
Tt3=Tt2*tr ##Total exit temp
cae=(p**((gm-1.)/gm)-1.)/(tr-1.) ##compressor adiabatic efficiency
pc=m*cp*(Tt3-Tt2)/10**6. ## compressor shaft power
print'%s %.1f %s'%("(a)Compressor exit total temperature in",Tt3," K :")
print'%s %.2f %s'%("(b)Compressor adiabatic efficiency:",cae,"")
print'%s %.1f %s'%("(c)Comprssor shaft power in",pc," MW :")
Example 4.2
(a)Compressor exit total temperature in 890.4  K :
(b)Compressor adiabatic efficiency: 0.84 
(c)Comprssor shaft power in 30.2  MW :

Ex3-pg142

In [3]:
import math
#calcualte fuel to air ratio and combustor exit temperature
print("Example 4.3")
Tt3=800.##in K
pt3=2*10**6. ## in Pa
m=50. ##air mass flow rate in kg/s
gm=1.4 ##gamma
cp3=1004. ##specific heat at inlet in j/kg.K.
Qr=42000. ##heating valuein kJ/kg
mf=1. ##fuel flow rate in kg/s
be=0.995 ##burner efficiency
p=0.96 ##p=pt4/pt3
cp4=1156. ##specific heat at exit in J/kg.K
f=mf/m ## fuel-to-air ratio
Tt4=(((cp3/cp4)*Tt3)+((f*Qr*be*1000.)/cp4))/(1.+f)
pt4=p*pt3/10**6.
print'%s %.3f %s'%("(a)Fuel-to-air ratio :",f,"")
print'%s %.1f %s'%("b(1) combustor exit total temperature in",Tt4," K:")
print'%s %.2f %s'%("b(2)combustor exit total pressure in",pt4," MPa")
Example 4.3
(a)Fuel-to-air ratio : 0.020 
b(1) combustor exit total temperature in 1390.0  K:
b(2)combustor exit total pressure in 1.92  MPa

Ex4-pg149

In [4]:
import math
#calculate turbine exit temperature and turbine polytropic efficency and turbine exit total pressure and turbine shaft power
print("Example 4.4")
m=50. ##air mass flow in kg/s
mf=1. ## fuel mass flow in kg/s
tae=0.88 ##turbine adiabatic efficiency
pe=45*10**6 ##shaft power in Watt
cp4=1156 ## in J/kg.K
Tt4=1390.0197 ## in K
pt4=1.92 ##units in MPa
cp5=cp4##specific heat
mt=m+mf##total mass
gm=1.33 ##gamma
ht5=cp4*Tt4/1000.-(pe/(mt*1000.)) 
##print'%s %.1f %s'%(ht5)
Tt5=ht5/(cp5/1000.)
y=Tt5/Tt4 ##turbine expansion parameter
tpe=math.log(y)/math.log(1.-(1.-y)/tae)
pr=y**(gm/((gm-1.)*tpe))
pt5=pr*pt4*1000. ## turbine total exit pressure
pt=mt*cp5*(Tt4-Tt5)/10**6.
print'%s %.1f %s'%("(a)Turbine exit total temperature in",Tt5," K :")
print'%s %.1f %s'%("(b)Turbine polytropic efficiency:",tpe,"")
print'%s %.1f %s'%("(c)Turbine exit total pressure in ",pt5,"kPa :")
print'%s %.1f %s'%("(d)Turbine shaft power based on turbine expansion delta(Tt) in ",pt,"MW:")
Example 4.4
(a)Turbine exit total temperature in 626.7  K :
(b)Turbine polytropic efficiency: 0.8 
(c)Turbine exit total pressure in  37.3 kPa :
(d)Turbine shaft power based on turbine expansion delta(Tt) in  45.0 MW:

Ex5-pg150

In [6]:
import math
#calculate the mixed out total temperature 
print("Example 4.5")
mc=0.5 ##mass flow rate of coolant in kg/s
mg=50. ##mass flow rate of hot gas in kg/s
htg=1850. ## total enthalpy of gas in kJ/kg
htc=904. ##total enthalpy of coolant in kJ/kg
Cpmixout=1594. ##in j/kg.K
##Energy equation between mixed out state and mixed out state and the hot and cold stream solves this problem:
Htmixout=(mc*htc+mg*htg)/(mc+mg)
Ttmixout=Htmixout/(Cpmixout/1000.)
print'%s %.1f %s'%("Mixed-out total enthalpy after the nozzle in ",Htmixout,"kJ/kg :")
print'%s %.1f %s'%("Mixed out temperature in",Ttmixout," K :")
Example 4.5
Mixed-out total enthalpy after the nozzle in  1840.6 kJ/kg :
Mixed out temperature in 1154.7  K :

Ex6-pg150

In [7]:
import math
#calculate the entropy change across turbine nozzle blade row
print("Example 4.6")
Cpg=1156. ##in J/kg.K
Pt4=1.92 ##in MPa
gm=1.33 ##gamma
htg=1850. ##from example 4.5 in kJ/kg
htc=904. ##from example 4.5 in kJ/kg
Cpc=1.04 ##in kJ/kg.K
pl=.02 ##total pressure loss ratio
Ttmixout=1154.7 ##from example 4.5 in K.
##Calculations:
Ttg=htg/(Cpg/1000.) ##hotgas total temp in K.
Tt4=Ttg ##same as nozzle entrance temp.
Ttc=htc/Cpc ##coolant total temp.
Ptmixout=(1.-pl)*Pt4 ##mixed-out total temp.
##using gibbs equation
de=((gm/(gm-1))*math.log((Ttmixout/Tt4)))-math.log(Ptmixout/Pt4)
print'%s %.1f %s'%("Entropy change across the turbine nozzle blade row:",de,"")
print("The negative sign of entropy change is due to cooling.")
print("*Ans in book is incorrect as Ptmixout is calculated wrong!")
Example 4.6
Entropy change across the turbine nozzle blade row: -1.3 
The negative sign of entropy change is due to cooling.
*Ans in book is incorrect as Ptmixout is calculated wrong!

Ex7-pg157

In [8]:
import math
#calculate nozzle totalpressure ratio and nozzle area ratio and nozzle exit mach number
print("Example 4.7")
NPR=10. ##Pressure ratio
gm=1.33 ##gamma
Cp=1156. ## in J/kg.K
ae=0.94 ##adiabatic efficiency
tpr=((NPR)**((gm-1.)/gm)-(ae*((NPR)**((gm-1.)/gm)-1.)))**((-1)*(gm/(gm-1.)))
print'%s %.1f %s'%("(a)Nozzle total pressure ratio:",tpr,"")
de=-math.log(tpr) ##entropy rise inadiabatic nozzle
##let p=pt9/p9
p=tpr*NPR*1 ##p=pt9/p9; p0=p9 foe expanded nozzle
M9=((2/(gm-1))*((p)**(((gm-1)/gm))-1))**(1/2.)
print'%s %.3f %s'%("(c)Nozzle exit Mach no. M9 (perfectly expanded)",M9,"")
Example 4.7
(a)Nozzle total pressure ratio: 0.8 
(c)Nozzle exit Mach no. M9 (perfectly expanded) 2.048 

Ex10-pg167

In [10]:
import math
#calculate propulsive efficency of turbojet engine 
print("Example4.10")
Vt0=160. ##takeoff velocity in m/s
Vt9=1000. ##takeoff velocity in m/s
Vc0=800. ##cruise velocity in m/s
Vc9=1000. ##cruise velocity in m/s
##using approximation: engine propulsive efficiencfy(pe)=2/(1+V9/V0)
pet=2./(1.+(Vt9/Vt0)) ##takeoff
pec=2./(1.+(Vc9/Vc0)) ##cruise
print'%s %.3f %s'%("Engine propulsive efficiency while takeoff:",pet,"")
print'%s %.3f %s'%("Engine propulsive efficiency while cruise:",pec,"")
Example4.10
Engine propulsive efficiency while takeoff: 0.276 
Engine propulsive efficiency while cruise: 0.889 

Ex11-pg176

In [11]:
import math
#calculate total pressure and temperature throughout the engine aswell as fuel to air ratio and non-dimensional specific thrust and thurst specifi fuel consumption and thermal and propulsive efficency
print("Example 4.11")
M0=2.0 ##Mach no.
p0=10.##units in kPa
T0=228. ##in K
gmc=1.4 ##gamma compressor
Cpc=1004. ##J/kg.K specific heat of compressor
pd=0.88 ##compression ratio of diffuser
pc=12. ## compression ratio of compressor
ec=0.9 ##adiabatic efficiency of compressor
tl=8.    ##enthalpy ratio
Qr=42000. ##kJ/kg
eb=0.98 ##adiabatic efficiency of burner
pb=0.95 ##compression ratio of burner
gmt=1.33 ##gamma turbne
Cpt=1156. ##J/kg.K specific heat turbine
et=0.82 ##adiabatic efficiency of turbine
em=0.995 
tlAB=11. ##enthalpy ratio of afterburner (AB==AfterBurner)
QrAB=42000. ##kJ/kg
eAB=0.98
pAB=0.93
gmAB=1.3 ## gama AB
CpAB=1243. ##J/kg.K
pn=0.93
a0=((gmc-1.)*Cpc*T0)**(1/2.)
V0=M0*a0
pt0=p0*(1.+(((gmc-1.)*(M0)**2.)/2.))**(gmc/(gmc-1.)) ##total flight pressure
Tt0=T0*(1.+(((gmc-1.)*(M0)**2)/2.)) ##total flight temp
Tt2=Tt0 ##Adiabatic inlets
pt2=pt0*pd ## in kPa
pt3=pt2*pc ##compressor exit total pressure
k2=((gmc-1.)/(gmc*ec))
##print'%s %.1f %s'%(k2)
tc=pc**k2 ##relation between temp and pressure ratios
##print'%s %.1f %s'%(tc)
Tt3=Tt2*tc ##total temp at compressor exit
Tt4=Cpc*T0*tl/Cpt ##combustor exit total temp.
pt4=pt3*pb ##combustor exit pressure
f=(Cpt*Tt4-Cpc*Tt3)/(Qr*eb*1000.-Cpt*Tt4) ##fuel-to-air ratio in burner
##print'%s %.1f %s'%(f)
Tt5=Tt4-(Cpc*((Tt3-Tt2)/(Cpt*em*(1.+f)))) ## turbine exit total temp
tt=Tt5/Tt4 ##temp ratio in turbine
pt=tt**(gmt/(et*(gmt-1.)))
pt5=pt4*pt ##in kPa
pt7=pt5*pAB
Tt7=Cpc*T0*tlAB/CpAB ##afterburner exit
fAB=(1+f)*((CpAB*Tt7)-(Cpt*Tt5))/((QrAB*eAB*1000.)-(CpAB*Tt7))
##print'%s %.1f %s'%(fAB)
pt9=pt7*pn ##in kPA
Tt9=Tt7 ##adiabatic flow in nozzle
p9=p0
M9=((2./(gmAB-1.))*((pt9/p9)**(((gmAB-1)/gmAB))-1))**(1/2.) ##nozzle exit
##print'%s %.1f %s'%(M9)
T9=Tt9/(1.+((gmAB-1)*(M9)**2)/2.)
a9=((gmAB-1.)*CpAB*T9)**(1/2.)
##print'%s %.1f %s'%(a9)
V9=M9*a9
##Performance parameters:
st=(1.+f+fAB)*V9-V0 ##st=Fn/m0; specific thrust when nozzle is perfectly expanded
ndst=((1.+f+fAB)*V9/a0)-M0 ##ndst=Fn/m0*ao ; nondimensional specific thrust
TSFC=((f+fAB)/st)*10**6. ##units mg/s/N
eth=(((1.+f+fAB)*((V9)**2)/2.)-((V0)**2.)/2.)/(f*Qr*1000.+fAB*QrAB*1000.) ##cycle thermal efficiency
ep=st*V0/(((1.+f+fAB)*(((V9)**2)/2.))-((V0)**2)/2.) ##propulsive efficiency exact
epa=2./(1.+V9/V0) ##approx
print("a(1)Total temperatures across the engine in"" K:")
print'%s %.1f %s'%("Flight total temperaure:",Tt0," ")

print'%s %.1f %s'%("Toal temperature at compressor inlet:",Tt2,"")
print'%s %.1f %s'%("Total temperature at compressor exit:",Tt3," ")
print'%s %.1f %s'%("Total temperature at burner exit:",Tt4,"")
print'%s %.1f %s'%("Total temperature at turbine exit:",Tt5,"")
print'%s %.1f %s'%("Total temperature at afterburner exit:",Tt7,"")
print'%s %.1f %s'%("Total temperature at nozzle exit:",T9,"")
print'%s %.1f %s'%("Nozzle exit static temperature:",T9,"")
print("a(2)Total pressures across the engine in kPa:")
print'%s %.1f %s'%("Flight total pressure:",pt0,"")

print'%s %.1f %s'%("Toal pressure at compressor inlet:",pt2,"")
print'%s %.1f %s'%("Total pressure at compressor exit:",pt3," ")
print'%s %.1f %s'%("Total pressure at burner exit:",pt4,"")
print'%s %.1f %s'%("Total pressure at turbine exit:",pt5,"")
print'%s %.1f %s'%("Total pressure at afterburner exit:",pt7,"")
print'%s %.1f %s'%("Total pressure at nozzle exit:",pt9,"")
print'%s %.1f %s'%("Nozzle exit static pressure:",p9,"")
print'%s %.1f %s'%("(b)Nondimensional specific thrust:",ndst,"")
print'%s %.1f %s'%("(c)Thrust specific fuel consumption TSFC ",TSFC,"(in mg/s/N):")
print'%s %.1f %s'%("d(1)Themal efficiency:",eth,"")
print'%s %.1f %s'%("d(2)Exact propulsive efficiency:",ep,"")
Example 4.11
a(1)Total temperatures across the engine in K:
Flight total temperaure: 410.4  
Toal temperature at compressor inlet: 410.4 
Total temperature at compressor exit: 903.2  
Total temperature at burner exit: 1584.2 
Total temperature at turbine exit: 1163.9 
Total temperature at afterburner exit: 2025.8 
Total temperature at nozzle exit: 1085.8 
Nozzle exit static temperature: 1085.8 
a(2)Total pressures across the engine in kPa:
Flight total pressure: 78.2 
Toal pressure at compressor inlet: 68.9 
Total pressure at compressor exit: 826.3  
Total pressure at burner exit: 784.9 
Total pressure at turbine exit: 172.5 
Total pressure at afterburner exit: 160.4 
Total pressure at nozzle exit: 149.2 
Nozzle exit static pressure: 10.0 
(b)Nondimensional specific thrust: 3.3 
(c)Thrust specific fuel consumption TSFC  54.2 (in mg/s/N):
d(1)Themal efficiency: 0.5 
d(2)Exact propulsive efficiency: 0.6 

Ex13-pg187

In [12]:
#calculate nozzle exit static pressure and actual and effective nozzle exit velocties and ratio of fan to core thrust and non-dimensional specific thrust and TSFC and all engine effeciences 
print("Example4.13")
M0=0.88 ##Mach no.
p0=15 ## pressure in kPa
T0=233 ##temperatue in K
gmc=1.4 ##gamma compressor
Cpc=1004 ##specific heat of compressor in J/kg.K
pd=0.995 ## pressure compression ratio of diffuser
pf=1.6 ##pressure compression ratio of fan
ef=0.9 ##fan efficiency
alfa=8
pfn=0.95 ##compression ratio of convergent fan nozzle
pc=40 ##compression ratio of compressor
ec=0.9 ##compressor efficiency
tl=8 ##temp. ratio
Cpt=1152 ##in J/kg.K of turbine
gmt=1.33 ##gamma turbine
Qr=42000000 ##in J/kg
pb=0.95 ##burner compression ratio
eb=0.992 ##burner efficiency
em=0.95
et=0.85
pn=0.98 ##primary nozzle
a0=((gmc-1)*Cpc*T0)**(1/2.);
V0=M0*a0;
pt0=p0*(1.+((gmc-1.)*(M0)**2)/2.)**(gmc/(gmc-1.))
Tt0=T0*(1+((gmc-1.)*(M0)**2)/2.)
Tt2=Tt0
pt2=pt0*pd
##fan stream:
pt13=pt2*pf
tf=pf**((gmc-1.)/(ef*gmc))
Tt13=Tt2*tf
pt19=pt13*pfn
p19=pt19/(1.+(gmc-1)/2.)**(gmc/(gmc-1.))
M19=1.
T19=Tt13/1.2
a19=((gmc-1)*Cpc*T19)**(1/2.)
V19=a19
##V19eff=V19+((gmc*p19)/r19)*((1-p0/p19)/(gmc*V19)) i.e V19+a19**2
V19eff=V19+(a19**2.)*((1.-p0/p19)/(gmc*V19))
##Core stream
pt3=pt2*pc
tc=pc**((gmc-1.)/(ec*gmc))
##print'%s %.1f %s'%(tc)
Tt3=Tt2*tc
pt4=pt3*pb
Tt4=Cpc*T0*tl/Cpt
##print'%s %.1f %s'%(Tt4)
f=(Cpt*Tt4-Cpc*Tt3)/(Qr*eb-Cpt*Tt4)
##print'%s %.1f %s'%(f)
Tt5=Tt4-((Cpc*(Tt3-Tt2)+alfa*Cpc*(Tt13-Tt2)))/((1+f)*Cpt*em)
##print'%s %.1f %s'%(Tt5)
tt=Tt5/Tt4
pt=tt**(gmt/(et*(gmt-1)))
pt5=pt4*pt
pt9=pt5*pn
p9=pt9/((gmt+1)/2.)**(gmt/(gmt-1.))
M9=1.
T9=Tt5/((gmt+1)/2.)
a9=((gmt-1)*Cpt*T9)**(1/2.)
V9=a9
V9eff=V9+(((a9)**2)*(1-(p0/p9)))/(gmt*V9)
ndsft=alfa*(V19eff-V0)/((1+alfa)*a0)
ndsct=((1+f)*V9eff-V0)/((1+alfa)*a0)
ndst=ndsft+ndsct
rfct=ndsft/ndsct
fc=ndsft*100./(ndsft+ndsct)
cc=ndsct*100./(ndsft+ndsct)
TSFC=f/((1.+alfa)*a0*(ndsft+ndsct))*10**6.
eth=(alfa*V19eff**2+(1+f)*V9eff**2-(1+alfa)*V0**2.)/(2.*f*Qr)
ep=(2.*(ndsft+ndsct)*(1+alfa)*a0*V0)/(alfa*V19eff**2.+(1.+f)*V9eff**2.-(1.+alfa)*V0**2.)
eo=eth*ep
##Pressures
print("a(1)Total pressures throughout the engine in kPa:")
print'%s %.1f %s'%("Total pressure of flight:",pt0,"")
print'%s %.1f %s'%("Total pressure at engine face:",pt2,"")
print'%s %.1f %s'%("Total pressure at fan exit:",pt13,"")

print'%s %.1f %s'%("Static pressure at nozzle exit:",p19,"")
print'%s %.1f %s'%("Total pressure at compressor exit:",pt3,"")
print'%s %.1f %s'%("Total pressure at burner exit:",pt4,"")
print'%s %.1f %s'%("Total pressure at turbine exit:",pt5,"")
print'%s %.1f %s'%("Total pressure at nozzle exit:",pt9,"")

##Temperatures
print("a(2)Total temperatures across the engine in K:")
print'%s %.1f %s'%("Total temperature of flight:",Tt0,"")
print'%s %.1f %s'%("Total temperature at engine face:",Tt2,"") ##Tt0=Tt2, since adiabatic!
print'%s %.1f %s'%("Total temperature at fan exit:",Tt13,"")
print'%s %.1f %s'%("Static  temperature at fan nozzle exit:",T19,"")
print'%s %.1f %s'%("Total temperature at compressor exit:",Tt3,"")
print'%s %.1f %s'%("Total temperature at burner exit:",Tt4,"")
print'%s %.1f %s'%("Total temperature at turbine exit:",Tt5,"")
print'%s %.1f %s'%("Static temperature at nozzle exit:",T9,"")
print'%s %.1f %s'%("(b{1})Total pressure at fan nozzle exit:",pt19,"")
print'%s %.1f %s'%("(b{2})Static pressure at nozzle exit:",p9,"")


##Remaining results
print'%s %.1f %s'%("(c{1}Actual fan nozzle exit velocity in",V19," m/s:)")
print'%s %.1f %s'%("(c{2}Effective fan nozzle exit velocity in",V9eff," m/s:)")
print'%s %.1f %s'%("(c{3})Actual core nozzle exit velocity in",V9," m/s:")
print'%s %.1f %s'%("(c{4})Effective nozzle exit velocity in ",V9eff,"m/s:")
print'%s %.1f %s'%("(d)Ratio of fan-tocore thrust:",rfct,"")
print'%s %.1f %s'%("(e)Nondimensional specific thrust:",ndst,"")
print'%s %.1f %s'%("(f)TSFC in mg/s/N:",TSFC,"")
print("(g)Engine efficiencies:")
print'%s %.1f %s'%("Thermal efficiency:",eth,"")
print'%s %.1f %s'%("Propulsion effciency:",ep,"")
print'%s %.1f %s'%("Overall efficiency:",eo,"")
Example4.13
a(1)Total pressures throughout the engine in kPa:
Total pressure of flight: 24.8 
Total pressure at engine face: 24.7 
Total pressure at fan exit: 39.5 
Static pressure at nozzle exit: 19.8 
Total pressure at compressor exit: 988.2 
Total pressure at burner exit: 938.8 
Total pressure at turbine exit: 28.7 
Total pressure at nozzle exit: 28.1 
a(2)Total temperatures across the engine in K:
Total temperature of flight: 269.1 
Total temperature at engine face: 269.1 
Total temperature at fan exit: 312.4 
Static  temperature at fan nozzle exit: 260.3 
Total temperature at compressor exit: 867.9 
Total temperature at burner exit: 1624.0 
Total temperature at turbine exit: 778.1 
Static temperature at nozzle exit: 667.9 
(b{1})Total pressure at fan nozzle exit: 37.6 
(b{2})Static pressure at nozzle exit: 15.2 
(c{1}Actual fan nozzle exit velocity in 323.3  m/s:)
(c{2}Effective fan nozzle exit velocity in 508.4  m/s:)
(c{3})Actual core nozzle exit velocity in 503.9  m/s:
(c{4})Effective nozzle exit velocity in  508.4 m/s:
(d)Ratio of fan-tocore thrust: 3.5 
(e)Nondimensional specific thrust: 0.4 
(f)TSFC in mg/s/N: 22.1 
(g)Engine efficiencies:
Thermal efficiency: 0.4 
Propulsion effciency: 0.8 
Overall efficiency: 0.3 

Ex15-pg199

In [13]:
import math
print("Example 4.15")
M0=2. ##Mach no.
p0=10. ## in kPa
T0=223. ##in K
##the engine inlet total pressure loss is characterized by 
pd=0.9
##The fan pressure ratio is
pf=1.9
##and polytropic efficiency of the fan is
ef=0.9
##The flow in the fan duct suffers 1% total pressure loss i.e.
pfd=0.99
##The compressor pressure ratio and polytropic efficiency are 
pc=13.
ec=0.9 ##respectively
##The combustor exit temperature is 
Tt4=1600. ##in K
Qr=42000000. ##fuel heating value in J/kg
pb=0.95 ##total pressure ratio
eb=0.98 ##burner efficiency
et=0.8 ##turbine polytropic efficiency
em=0.95 ##mechanical efficiency of turbine
M5=0.5 ##Mach no at turbine exit
pmf=0.98 ##total pressure loss due to friction in mixer
Tt7=2000. ##afterburner total temp in K
QrAB=42000000. ##in J/kg
pABon=0.92
eAB=0.98
pn=0.95 ##total pressure ratio at nozzle
p=3.8 ##p=p9/p0
gmc=1.4 ##gamma compressor
Cpc=1004. ##specofic heat compressor in J/kg.K
gmt=1.33 ##gamma turbine
Cpt=1152. ##turbine
gmAB=1.3 ##afterburner
CpAB=1241. ##afterburner
pt0=p0*(1.+((gmc-1.)*(M0)**2)/2.)**(gmc/(gmc-1.))
Tt0=T0*(1.+((gmc-1.)*(M0)**2)/2.)
pr=pt0/p0
tr=Tt0/T0
pt=pfd*pf/(pb*pc)
a0=((gmc-1.)*Cpc*T0)**(1/2.);
V0=a0*M0
Tt2=Tt0
pt2=pt0*pd
pt13=pt2*pf
tf=pf**((gmc-1.)/(ec*gmc))
##print'%s %.1f %s'%(tf)
Tt13=Tt0*tf
Tt15=Tt13 ##adiabatic
pt15=pt13*pfd
pt3=pt2*pc
tc=pc**((gmc-1.)/(ec*gmc))
Tt3=Tt2*tc
pt4=pt3*pb
f=(Cpt*Tt4-Cpc*Tt3)/(Qr*eb-Cpt*Tt4)
##print'%s %.1f %s'%(f)
pt5=pt15 ##assumption
pt=(pfd*pf)/(pb*pc)
##print'%s %.1f %s'%(pt)
tt=pt**(et*(gmt-1.)/(gmt))
##print'%s %.1f %s'%(tt)
Tt5=Tt4*tt
tl=(Cpt*Tt4)/(Cpc*T0)
tr=(1.+((gmc-1.)*(M0**2)/2.))
alfa=((em*(1.+f)*tl*(1.-tt))-(tr*(tc-1.)))/(tr*(tf-1.))
ht6M=Cpc*T0*((1.+f)*tt*tl+alfa*tf*tr)/(1.+alfa+f) ## mixed-out total enthalpy in J/kg
Cp6M=(((1.+f)/alfa)*Cpt+Cpc)/(((1.+f)/alfa)+1.)
gm6M=(((1+f)/alfa)*Cpt+Cpc)/(((1+f)/alfa)*(Cpt/gmt)+(Cpc/gmc))
M15=((2./(gmc-1.))*((((1.+((gmt-1.)*(M5**2)/2.))**(gmt/(gmt-1.)))**((gmc-1.)/gmc))-1.))**(1/2.)
T15=Tt15/(1.+((gmc-1.)*(M15)**2)/2.)
p15=pt15/(1.+((gmc-1.)*(M15)**2)/2.)**(gmc/(gmc-1.))
T5=Tt5/(1.+((gmt-1.)*(M5)**2)/2.)
p5=pt5/(1.+((gmt-1.)*(M5)**2)/2.)**(gmt/(gmt-1.))
a15=((gm6M-1.)*Cp6M*T15)**(1/2.)
a5=((gm6M-1.)*Cp6M*T5)**(1/2.)
A=((alfa/(1.+f))*(gmt/gmc)*((T15/T5)**(1/2.))*(M5/M15))
C1=((1.+gmt*M5**2.)+(A*(1.+gmc*M15**2.)))/(1.+A)
Tt6M=ht6M/Cp6M
C2=((gmt/gm6M)*(M5/a5)+(gmc/gm6M)*(M15*A/a15))*(((gm6M-1.)*Cp6M*(Tt6M))**(1/2.))/(1.+A)
C=(C1/C2)**2.
M6M=((C-2*gm6M-((C-2.*gm6M)**2-4.*(gm6M**2.-(C*(gm6M-1))/2.))**(1/2.))/(2*(gm6M)**2.-C*(gm6M-1.)))**(1/2.)
p6M=p5*(C1/(1.+gm6M*(M6M)**2.))
pt6Mi=131.23
pmi=0.9907
pM=0.9709
pt6M=pt6Mi*pmf
Tt7=2000.
pABon=0.92
pt7=118.32
fAB=(CpAB*Tt7-ht6M)/(QrAB*eAB-CpAB*Tt7)
pt9=pt7*pn
p9=p0*p
M9=1.377
T9=1557.2
a9=761.4
V9=a9*M9
V9eff=V9+a9**2.*(1.-p0/p9)/(gmAB*V9)
ndst=((1+alfa+f+fAB)/(1.+alfa))*(V9eff/a0)-M0
TSFC=((f+fAB)/((1+alfa)*a0))*10**6./(ndst)
eth=(((1+alfa+f+fAB)*((V9eff)**2.))-((1+alfa)*V0**2.))/(2.*(f*Qr+fAB*QrAB))
ep=(2.*ndst*V0*a0*(1.+alfa))/((1.+alfa+f+fAB)*V9eff**2-(1.+alfa)*V0**2)
e0=ep*eth
print("a(1)Total pressures throughout the engine in kPa:")
print'%s %.1f %s'%("Total pressure of flight:",pt0,"")
print'%s %.1f %s'%("Total pressure at engine face:",pt2,"")
print'%s %.1f %s'%("Total pressure at fan exit:",pt15,"")
##print'%s %.1f %s'%(p19,"Static pressure at nozzle exit:")
print'%s %.1f %s'%("Total pressure at compressor exit:",pt3,"")
print'%s %.1f %s'%("Total pressure at burner exit:",pt4,"")
print'%s %.1f %s'%("Total pressure at turbine exit:",pt5,"")
print'%s %.1f %s'%("Total pressure at nozzle exit:",pt9,"")


print("a(2)Total temperatures across the engine in K:")
print'%s %.1f %s'%("Total temperature of flight:",Tt0,"")
print'%s %.1f %s'%("Total temperature at engine face:",Tt2,"") ##Tt0=Tt2, since adiabatic!
print'%s %.1f %s'%("Total temperature at fan exit:",Tt13,"")
print'%s %.1f %s'%("Total temperature at fan duct :",Tt15,"")
print'%s %.1f %s'%("Total temperature at compressor exit:",Tt3,"")
print'%s %.1f %s'%("Total temperature at burner exit:",Tt4,"")
print'%s %.1f %s'%("Total temperature at turbine exit:",Tt5,"")
print'%s %.1f %s'%("a(3)Fan bypass ratio :",alfa,"")
print'%s %.3f %s'%("a(4)fuel-to-air ratio in primary :",f,"")
print'%s %.3f %s'%("a(5)fuel-to-air ratio in afterburner :",fAB,"")
print'%s %.1f %s'%("b(1)TSFC in mg/s/N :",TSFC,"")
print'%s %.1f %s'%("b(2)Non-dimensional specific thrust :",ndst,"")
print'%s %.1f %s'%("b(3)Propulsive efficiency :",ep,"")
print'%s %.1f %s'%("b(4)Thermal efficiency :",eth,"")
print'%s %.1f %s'%("b(5)Overall efficiency :",e0,"")
Example 4.15
a(1)Total pressures throughout the engine in kPa:
Total pressure of flight: 78.2 
Total pressure at engine face: 70.4 
Total pressure at fan exit: 132.5 
Total pressure at compressor exit: 915.5 
Total pressure at burner exit: 869.7 
Total pressure at turbine exit: 132.5 
Total pressure at nozzle exit: 112.4 
a(2)Total temperatures across the engine in K:
Total temperature of flight: 401.4 
Total temperature at engine face: 401.4 
Total temperature at fan exit: 492.1 
Total temperature at fan duct : 492.1 
Total temperature at compressor exit: 906.2 
Total temperature at burner exit: 1600.0 
Total temperature at turbine exit: 1101.3 
a(3)Fan bypass ratio : 0.6 
a(4)fuel-to-air ratio in primary : 0.024 
a(5)fuel-to-air ratio in afterburner : 0.039 
b(1)TSFC in mg/s/N : 48.5 
b(2)Non-dimensional specific thrust : 2.7 
b(3)Propulsive efficiency : 0.6 
b(4)Thermal efficiency : 0.5 
b(5)Overall efficiency : 0.3 

Example 4.17 - pg

In [16]:
import math
print("Example 4.17")
M0=0.7 ##Mach no.
T0=228 ## in K
p0=16 ##kPa
eprop=0.85 ## prop efficiency
m=10. ##Kg/s
pd=0.98 ##diffuser pressure ratio
pc=30. ##compressor pressurer ratio
ec=0.92 ##thermal efficiency of compressor
Tt4=1600. ##in K
Qr=42000000. ##in kJ/kg
eb=0.99 ##thermal efficiency of burner
pb=0.96 ##burner pressure ratio
etHPT=0.82
emHPT=0.99
alfa=0.85 
emLPT=0.99
eLPT=0.88
egb=0.995
en=0.95
gmc=1.4 ##gamma of compressor
Cpc=1004. ## in J/kg.K
gmt=1.33 ##gamma of turbine
Cpt=1152. ## in J/kg.K
Tt0=T0*(1.+((gmc-1.)*(M0)**2)/2.)
pt0=p0*(1.+((gmc-1.)*(M0)**2)/2.)**(gmc/(gmc-1.))
a0=((gmc-1.)*Cpc*T0)**(1/2.);
V0=a0*M0
pt2=pt0*pd
Tt2=Tt0 ##Adiabatic
pt3=pt2*pc
tc=pc**((gmc-1.)/(ec*gmc))
Tt3=Tt2*tc
f=(Cpt*Tt4-Cpc*Tt3)/(Qr*eb-Cpt*Tt4)
pt4=pt3*pb
ht45=Cpt*Tt4-(Cpc*Tt3-Cpc*Tt2)/((1.+f)*emHPT)
Tt45=ht45/Cpt
pt45=pt4*(Tt45/Tt4)**(gmt/((gmt-1.)*etHPT))
m9=(1.+f)*m
sp=(1.+f)*m*eLPT*alfa*ht45*(1.-(p0/pt45)**((gmt-1.)/gmt))/10**6.
Tt5=(ht45-sp*10**6./((1.+f)*m))/Cpt
tt=Tt5/Tt45
et=math.log(tt)/(math.log(1-((1-tt)/eLPT)))
pt=tt**(gmt/(et*(gmt-1.)))
pt5=pt45*pt
p9=p0 ##assumption
pi=p9/pt5
ti=pi**((gmt-1.)/gmt)
T9i=Tt5*ti
T9=Tt5-en*(Tt5-T9i)
V9=(2.*Cpt*(Tt5-T9))**(1/2.)
Fprop=eprop*egb*emLPT*sp*10**3/V0
a9=((gmt-1.)*Cpt*T9)**(1/2.)
M9=V9/a9
pt9=p9*(1.+((gmt-1)*M9**2.)/2.)**(gmt/(gmt-1.))
pn=pt9/pt5
Fncore=m*((1.+f)*V9-V0)/1000.
spp=egb*emLPT*sp
Ft=Fprop+Fncore
mp=((m9*V9**2.)/2.-m*(V0**2.)/2.)/10**3.
mf=m9-m
PSFC=mf*10**6./((spp*10**3.)+mp)
TSFC=mf*10**3./(Ft)
eth=(spp*10**3.+mp)*10**3./(mf*Qr)
ep=(Ft*V0)/(spp*10**3+mp)
eo=eth*ep
print("a(1)Total pressures throughout the engine in kPa:")
print'%s %.1f %s'%("Total pressure of flight:",pt0,"")
print'%s %.1f %s'%("Total pressure at engine face:",pt2,"")
##print'%s %.1f %s'%(p19,"Static pressure at nozzle exit:")
print'%s %.1f %s'%("Total pressure at compressor exit:",pt3,"")
print'%s %.1f %s'%("Total pressure at burner exit:",pt4,"")
print'%s %.1f %s'%("Total pressure across HPT :",pt45,"")
print'%s %.1f %s'%("Total pressure at turbine exit:",pt5,"")
print'%s %.1f %s'%("Total pressure at nozzle exit:",pt9,"")

print("a(2)Total temperatures across the engine in K:")
print'%s %.1f %s'%("Total temperature of flight:",Tt0,"")
print'%s %.1f %s'%("Total temperature at engine face:",Tt2,"") ##Tt0=Tt2, since adiabatic!
print'%s %.1f %s'%("Total temperature at compressor exit:",Tt3,"")
print'%s %.1f %s'%("Total temperature at burner exit:",Tt4,"")
print'%s %.1f %s'%("Total temperature across HPT :",Tt45,"")
print'%s %.1f %s'%("Total temperature at turbine exit:",Tt5,"")
print'%s %.1f %s'%("a(3)fuel-to-air ratio in burner :",f,"")
print'%s %.1f %s'%("(b)Engine core thrust in kN :",Fncore,"")
print'%s %.1f %s'%("(c)Propeller thrust in kN :",Fprop,"")
print'%s %.1f %s'%("(d)Power-specific fuel consumption in",PSFC," mg/s/kW :")
print'%s %.1f %s'%("(e)TSFC in",TSFC," mg/s/N :")
print'%s %.3f %s'%("f(1)Propulsive efficiency :",ep,"")
print'%s %.3f %s'%("f(2)Thermal efficiency :",eth,"")
print'%s %.3f %s'%("(g)Overall efficiency :",eo,"")
Example 4.17
a(1)Total pressures throughout the engine in kPa:
Total pressure of flight: 22.2 
Total pressure at engine face: 21.7 
Total pressure at compressor exit: 652.5 
Total pressure at burner exit: 626.4 
Total pressure across HPT : 151.1 
Total pressure at turbine exit: 24.5 
Total pressure at nozzle exit: 24.0 
a(2)Total temperatures across the engine in K:
Total temperature of flight: 250.3 
Total temperature at engine face: 250.3 
Total temperature at compressor exit: 719.9 
Total temperature at burner exit: 1600.0 
Total temperature across HPT : 1198.0 
Total temperature at turbine exit: 815.2 
a(3)fuel-to-air ratio in burner : 0.0 
(b)Engine core thrust in kN : 2.2 
(c)Propeller thrust in kN : 17.9 
(d)Power-specific fuel consumption in 54.6  mg/s/kW :
(e)TSFC in 14.0  mg/s/N :
f(1)Propulsive efficiency : 0.827 
f(2)Thermal efficiency : 0.436 
(g)Overall efficiency : 0.361 

Ex17-pg211

In [2]:
print("Example 4.17")
%matplotlib inline
import warnings
warnings.filterwarnings('ignore')

import numpy
import math
from math import log
import matplotlib
from matplotlib import pyplot
M0=0.7
T0=228. ##in K
p0=16. ##kPa
eprop=0.85 ##efficiency of prop
m=10.##Kg/s
pd=0.98
pc=30.
ec=0.92
Tt4=1600.
Qr=42000000.## in kJ/kg
eb=0.99
pb=0.96
etHPT=0.82
emHPT=0.99
alfa=0.79
emLPT=0.99
eLPT=0.88
egb=0.995
en=0.95
gmc=1.4
Cpc=1004.
gmt=1.33
Cpt=1152.
z0=numpy.linspace(0.79,0.97,19)
leng=len(z0)
g1=numpy.zeros(leng)
gc1=0
g2=numpy.zeros(leng)
gc2=0
g3=numpy.zeros(leng)
gc3=0
g4=numpy.zeros(leng)
gc4=0
for alfa in z0:
    Tt0=T0*(1.+((gmc-1)*(M0)**2)/2.)
    pt0=p0*(1.+((gmc-1.)*(M0)**2)/2.)**(gmc/(gmc-1.))
    a0=((gmc-1.)*Cpc*T0)**(1/2.);
    V0=a0*M0
    pt2=pt0*pd
    Tt2=Tt0 ##Adiabatic
    pt3=pt2*pc
    tc=pc**((gmc-1.)/(ec*gmc))
    Tt3=Tt2*tc
    f=(Cpt*Tt4-Cpc*Tt3)/(Qr*eb-Cpt*Tt4)
    pt4=pt3*pb
    ht45=Cpt*Tt4-(Cpc*Tt3-Cpc*Tt2)/((1+f)*emHPT)
    Tt45=ht45/Cpt
    pt45=pt4*(Tt45/Tt4)**(gmt/((gmt-1)*etHPT))
    m9=(1+f)*m
    sp=(1+f)*m*eLPT*alfa*ht45*(1-(p0/pt45)**((gmt-1)/gmt))/10**6
    Tt5=(ht45-sp*10**6/((1+f)*m))/Cpt
    tt=Tt5/Tt45
    et=log(tt)/(log(1-((1-tt)/eLPT)))
    pt=tt**(gmt/(et*(gmt-1)))
    pt5=pt45*pt
    p9=p0 ##assumption
    pi=p9/pt5
    ti=pi**((gmt-1)/gmt)
    T9i=Tt5*ti
    T9=Tt5-en*(Tt5-T9i)
    V9=(2*Cpt*(Tt5-T9))**(1/2)
    Fprop=eprop*egb*emLPT*sp*10**3/V0
    a9=((gmt-1)*Cpt*T9)**(1/2)
    M9=V9/a9
    pt9=p9*(1+((gmt-1)*M9**2)/2)**(gmt/(gmt-1))
    pn=pt9/pt5
    Fncore=m*((1+f)*V9-V0)/1000
    spp=egb*emLPT*sp
    Ft=Fprop+Fncore
    Fr=Fprop/Ft

    mp=((m9*V9**2)/2-m*(V0**2)/2)/10**3
    mf=m9-m
    PSFC=mf*10**6/((spp*10**3)+mp)
    TSFC=mf*10**3/(Ft)
    eth=(spp*10**3+mp)*10**3/(mf*Qr)
    ep=(Ft*V0)/(spp*10**3+mp)
    eo=eth*ep
    g1[gc1]=Ft;
    gc1=gc1+1;
    g2[gc2]=TSFC;
    gc2=gc2+1
    g3[gc3]=ep
    gc3=gc3+1
    g4[gc4]=Fr
    gc4=gc4+1


pyplot.plot(z0,g1)
pyplot.title("Turboprop total thrust")
pyplot.xlabel("Power split(alfa)")
pyplot.ylabel("Fprop+Fcore(kN)")
pyplot.show()
pyplot.plot(z0,g2)

pyplot.title("TSFC in turboprop engine")
pyplot.xlabel("Power split(alfa)")
pyplot.ylabel("TSFC(mg/s/N)")
pyplot.show()
pyplot.plot(z0,g3)
pyplot.plot(z0,g4)

pyplot.xlabel("Power split(alfa)")
pyplot.title("Propeller thrust as a fraction of total thrust and propulsive efficiency")
pyplot.legend("Prop efficiency","Fprop/Ftotal")
pyplot.show()
##plot2d(z0,g5,4)
Example 4.17