# Chapter 13: Nozzles¶

## Example 1, page no. 584¶

In [1]:
from __future__ import division

#Variable Declaration:
p1 = 10 #Pressure of dry steam(in bar):
C1 = 100 #Velocity of steam entering(in m/s):
C2 = 300 #Velocity of steam leaving the nozzle(in m/s):
p2 = 5 #Pressure of steam at exit(in bar):
m = 16 #Mass flow rate(in kg/s):
q = 10 #Heat loss to surroundings(in kJ/kg):
#From steam tables:
h1 = 2778.1                 #kJ/kg
hf = 640.23                 #kJ/kg
hfg = 2108.5                #kJ/kg

#Calculations:
dh = (q*10**3+(C1**2-C2**2)/2)/1000	#Heat drop in the nozzle(in kJ/kg):
dQ = -dh*m #Total heat drop(in kJ/s):
h2 = h1+dh #Enthalpy at state 2(in kJ/kg):
x2 = (h2-hf)/hfg #Dryness fraction at state 2:

#Results:
print "Heat drop in the nozzle: ",round(-dh,2),"kJ/kg"
print "Total heat drop: ",round(dQ,2),"kJ/s"
print "Dryness fraction at exit: ",round(x2,4)

Heat drop in the nozzle:  30.0 kJ/kg
Total heat drop:  480.0 kJ/s
Dryness fraction at exit:  0.9997


## Example 2, page no. 585¶

In [2]:
from __future__ import division

from math import sqrt

#Variable Declaration:
p1 = 10 #Steam entering at pressure(in bar):
p2 = 6 #Pressure at which steam leaves(in bar):
A2 = 20 #Cross-section area of exit of nozzle(in cm**2):
#From steam tables:
h1 = 3478.5                 #kJ/kg
s1 = 7.7622                 #kJ/kg.K
T2 = 418.45                 #C(by interpolation)
h2 = 3309.51                #kJ/kg
v2 = 0.5281                 #m**3/kg

#Calculations:
s2 = s1
C2 = sqrt(2*(h1-h2)*10**3) #Velocity at exit(in m/s):
m = A2*10**(-4)*C2/v2     #Mass flow rate(in kg/s):

#Result:
print "Mass flow rate: ",round(m,3),"kg/s"

Mass flow rate:  2.202 kg/s


## Example 3, page no. 587¶

In [3]:
from __future__ import division

from math import sqrt

#Variable Declaration:
p1 = 12 #Pressure of steam entering(in bar):
p2 = 6 #Pressure at exit(in bar):
m1 = 5 #Mass flow rate(in kg/s):
m2 = m1
m3 = m1
C3a = 500 #Exit velocity(in m/s):
#From steam tables:
h1 = 3045.8                 #kJ/kg
h2 = 2900.05                #kJ/kg
s2 = 7.0317                 #kJ/kg.K
v2 = 0.3466                 #m**3/kg
h3 = 2882.55                #kJ/kg
v3 = 0.3647                 #m**3/kg
n = 1.3     #For superheated steam:

#Calculations:
s1 = s2
s3 = s2
p2 = p1*(2/(n+1))**(n/(n-1)) #Pressue at state 2(in bar):
C2 = sqrt(2*(h1-h2)*10**3) #Velocity at throat(in m/s):
A2 = m2*v2/C2 #Cross-sectional area at throat(in m**2):
C3 = sqrt(2*(h1-h3)*10**3) #Ideal velocity at exit(in m/s):
A3 = m3*v3/C3a #Cross-sectional area at exit(in m**2):
r = C3a/C3  #Coefficient of velocity:

#Results:
print "Cross-sectional area at throat: ",round(A2*10**3,3)," x 10^-3 m^2"
print "Cross-sectional area at exit: ",round(A3*10**3,3)," x 10^-3 m^2"
print "Coefficient of velocity: ",round(r,3)

Cross-sectional area at throat:  3.21  x 10^-3 m^2
Cross-sectional area at exit:  3.647  x 10^-3 m^2
Coefficient of velocity:  0.875


## Example 4, page no. 588¶

In [9]:
from __future__ import division

from math import sqrt

#Variable Declaration:
p1 = 16 #Pressure of steam entering(in bar):
p3 = 5 #Pressure at exit(in bar):
m1 = 1 #Mass flow rate(in kg/s):
m2 = m1
m3 = m1
#From steam tables:
#For case 1:
h1 = 3034.8                 #kJ/kg
s1 = 6.8844                 #kJ/kg.K
v1 = 0.15862                #m**3/kg
n = 1.3
h2 = 2891.39                #kJ/kg
h3 = 2777                   #kJ/kg
v2 = 0.2559                 #m**3/kg
v3 = 0.3882                 #m**3/kg
#For case 2:
h2a = 2905.73               #kJ/kg
v2a = 0.2598                #m**3/kg
v3a = 0.40023               #m**3/kg

#Calculations:
p2 = p1*(2/(n+1))**(n/(n-1)) #Pressure at the throat of nozzle(in bar):
q12 = h1-h2 #Heat drop up to throat section(in kJ/kg):
C2 = sqrt(2*(h1-h2)*10**3) #Velocity at throat(in m/s):
q23 = h2-h3 #Heat drop from exit(in kJ/kg):
C3 = sqrt(2*(h2-h3)*10**3+C2**2) #Velocity at exit(in m/s):
A2 = m2*v2/C2 #Throat area(in m**2):
A3 = m3*v3/C3 #Exit area(in m**2):
q12a = 0.9*q12 #Considering expansion to have 10% friction loss:
C2a = sqrt(2*q12a*10**3) #Actual velocity at throat(in m/s):
A2a = m2*v2a/C2a #Actual throat area(in m**2):
q23a = 0.9*q23 #Actual drop at the exit of the nozzle(in kJ/kg):
h3a = h2a-q23a #Actual enthalpy at state 3(in kJ/kg):
C3a = sqrt(2*q23a*10**3+C2a**2) #Actual velocity at exit(in m/s):
A3a = m3*v3a/C3a #Actual area at exit(in m**2):

#Results:
print "Throat area, without friction consideration: ",round(A2*10**4,2),"cm**2"
print "Exit area, without friction consideration: ",round(A3*10**4,2),"cm**2"
print "Throat area, with friction consideration: ",round(A2a*10**4,2),"cm**2"
print "Exit area, with friction consideration: ",round(A3a*10**4,3),"cm**2"

Throat area, without friction consideration:  4.78 cm**2
Exit area, without friction consideration:  5.41 cm**2
Throat area, with friction consideration:  5.11 cm**2
Exit area, with friction consideration:  5.875 cm**2


## Example 5, page no. 590¶

In [8]:
from __future__ import division

from math import sqrt,pi
#Variable Declaration:
P = 1 #Power of turbine(in MW):
p1 = 20 #Pressure of steam entering(in bar):
m = 8 #Steam consumption rate(in kg/kW.h):
p3 = 0.2 #Pressure at which steam leaves(in bar):
d = 0.01 #Throat diameter(in m):
#From Mollier diagram:
q12 = 142              #kJ/kg
v2 = 0.20              #m**3/kg
q13 = 807              #kJ/kg
v3 = 7.2               #m**3/kg

#Calculations:
C2 = sqrt(2*q12*10**3) #Velocity at throat(in m/s):
m2 = pi*d**2/4*C2/v2 #Mass flow rate:
m3 = m2
n = 10**3*m/(3600*m2) #Number of nozzles:
q13a = 0.90*q13 #Useful heat drop:
C3 = sqrt(2*10**3*q13a)#Velocity at exit(in m/s):
A3 = m3*v3/C3 #Area at exit(in m**2):

#Results:
print "Number of nozzles required: ",round(n)
print "Area at exit: ",round(A3*10**4,2),"cm**2"

Number of nozzles required:  11.0
Area at exit:  12.5 cm**2


## Example 6, page no. 591¶

In [7]:
from __future__ import division

from math import pi, atan, sqrt
#Variable Declaration:
p1 = 0.7 #Pressure at which steam is supplied(in MPa):
l = 0.06 #Length of diverging nozzle(in m):
d = 0.005 #Throat diameter(in mm):
p3 = 0.1 #Pressure at which steam leaves the nozzle(in MPa):
#From Mollier diagram:
q12 = 138                   #kJ/kg
v2 = 0.58                   #m**3/kg
T = 203                     #°C
q23 = 247                   #kJ/kg
q23a = 209.95               #kJ/kg
v3a = 1.7                   #m**3/kg

#Calculations:
C2 = sqrt(2*q12*10**3) #Velocity at throat(in m/s):
m1 = pi*d**2/4*C2/v2   #Mass flow rate(in kg/s):
m2 = m1
m3 = m1
q = q12+q23a   #Total heat drop(in kJ/kg):
C3 = sqrt(2*10**3*q) #Velocity at exit(in m/s):
A3 = m3*v3a/C3 #Area at exit(in m**2):
d1 = (sqrt(A3*4/pi))*10**3 #Diameter at exit(in mm):
a = atan((d1-d*10**3)/(2*60))*180/pi

#Results:
print "With no losses, temperature at throat: ",round(T,2),"°C"
print "Velocity at throat: ",round(C2,2),"m/s"
print "With losses, cone angle: ",round(2*a,2),"°"

With no losses, temperature at throat:  203.0 °C
Velocity at throat:  525.36 m/s
With losses, cone angle:  1.71 °


## Example 7, page no. 593¶

In [10]:
from __future__ import division

from math import sin,pi,sqrt

#Variable Declaration:
P = 5000 #Power of the turbine(in hp):
m = P*6/3600 #Steam required(in kg of steam/hp-hr):
n = 0.90 #Efficiency of nozzle:
a = 12 #Nozzle angle:
p = 5 #Pitch(in cm):
t = 0.3 #Thickness(in cm):
#From steam tables:
h1 = 2794                   #kJ/kg
s1 = 6.4218                 #kJ/kg.K
x2 = 0.9478
h2 = 2662.2                 #kJ/kg
x2a = 0.9542
v2a = 0.2294                #m**3/kg

#Calculations:
s2 = s1
h12 = h1-h2 #Change in enthalpy(in kJ/kg):
h12a = n*h12 #Actual change(in kJ/kg):
C2 = sqrt(2*h12a*10**3) #Velocity at inlet(in m/s):
A2 = m*v2a/C2*10**4 #Area at exit of nozzle(in cm**2):
l = 60*pi/3  #Approximate length of the nozzle(in cm):
n = int(l/p)+1 #Number of nozzles:
l1 = n*p #Correct length of nozzle arc:
h = A2/((p*sin(a*pi/180)-t)*n)#Radial height of nozzle(in cm):

#Results:
print "Length of nozzle: ",round(l1,2),"cm"
print "Radial height of nozzle: ",round(h,2),"cm"

Length of nozzle:  65.0 cm
Radial height of nozzle:  4.08 cm


## Example 8, page no. 594¶

In [12]:
from __future__ import division

from math import sqrt

#Variable Declaration:
p1 = 13 #Pressure at which steam enters(in bar):
p2 = 6 #Pressure at which steam leaves(in bar):
T1 = 150+273 #Temperature of steam entering(in K):
r = 1.4 #Adibatic insex of compression:

#Calculations:
T2 = T1*(p2/p1)**((r-1)/r) #Final temperature of steam(in K):
C2 = sqrt(2*1.005*(T1-T2)) #Exit velocity(in m/s):

#Results:
print "Exit velocity: ",round(C2,2),"m/s"

Exit velocity:  12.98 m/s


## Example 9, page no. 595¶

In [14]:
from __future__ import division

from math import sqrt

#Variable Declaration:
F = 350 #Force on the plate(in N):
p1 = 8 #Initial pressure(in bar):
p3 = 1 #Final pressure(in bar):
A2 = 5*10**(-4) #Throat cross-sectional area(in m**2):
#From steam tables:
h1 = 2769.1                 #kJ/kg
s1 = 6.6628                 #kJ/kg.K
x2 = 0.9717
h2 = 2685.17                #kJ/kg
v2 = 0.3932                 #m**3/kg
x3 = 0.8238
h3 = 2277.6                 #kJ/kg

#Calculations:
s2 = s1
s3 = s1
h12 = h1-h2 #Enthalpy change(in kJ/kg):
C2 = sqrt(2*h12*10**3) #Velocity at throat(in m/s):
m = A2*C2/v2 #Discharge at throat(in kg/s):
C3a = F/m #Actual exit velocity(in m/s):
h23 = h2-h3 #Theoretical enthalpy drop(in kJ/kg):
n = C3a**2/(2*h23*10**3) #Nozzle efficiency:

#Results:
print "Discharge at throat: ",round(m,3),"kg/s"
print "Nozzle efficiency: ",round(n*100,2),"%"

Discharge at throat:  0.521 kg/s
Nozzle efficiency:  55.37 %


## Example 10, page no. 597¶

In [16]:
from __future__ import division

from math import sqrt,pi

#Variable Declaration:
m = 5/60 #Mass flow rate(in kg/s):
p3 = 1 #Pressure at which steam is discharged(in bar):
p1 = 10 #Initial pressure(in bar):
T1 = 200+273 #Initial temperature(in K)
n = 1.3 #Adiabatic index of compression:

#From steam tables:
h1 = 2827.9                 #kJ/kg
s1 = 6.6940                 #kJ/kg.K
v1 = 0.2060                 #m**3/kg
h2a = 2711.23               #kJ/kg
s2a = 6.6749                #kJ/kg.K
h3 = 2420.08                #kJ/kg
v3 = 1.5025                 #m**3/kg
psat = 3.44                 #bar (at T = 138.18 °C)
Tsat = 155.12               #C (at p = 5.45 bar)

#Calculations:
s3 = s2a
p2 = p1*(2/(n+1))**(n/(n-1)) #Pressure at throat(in bar):
C3 = sqrt(2*(h1-h3)*10**3) #Velocity at exit(in m/s):
A3 = m*v3/C3 #Exit area(in m**2):
d = sqrt(A3*4/pi) #Diameter of nozzle at exit(in m):
T2 = T1*(p2/p1)**((n-1)/n) #Temperature at throat(in K):
d1 = p2/psat #Degree of supersaturation:
u = Tsat-(T2-273) #Amount of undercooling(in °C):

#Results:
print "Degree of supersaturation: ",round(d1,2)
print "Amount of undercooling: ",round(u,2),"°C"

Degree of supersaturation:  1.59
Amount of undercooling:  16.82 °C


## Example 11, page no. 599¶

In [19]:
from __future__ import division

#Variable Declaration:
p1 = 4 #Initial pressure(in bar):
T1 = 180+273 #Initial temperature(in K):
p2 = 1.5 #Final pressure(in bar):
n = 1.3 #Index of compression:
nn = 0.95 #Efficiency due to heat loss:
C = 2.174 #Specific heat(in kJ/kg.K):
#From steam tables:
v1 = 0.5088                 #m**3/kg
Tsat = 111.37+273           #K (at p = 1.5 bar)

#Calculations:
h1 = p1*v1*10**2+2614      #Enthalpy at state 1(in kJ/kg):
v2 = v1*(p1/p2)**(1/n) #Specific volume at state 2(in m**3/kg):
h2 = p2*v2*10**2+2614 #Enthalpy at state 2(in kJ/kg):
dh = nn*(h1-h2) #Actual heat drop(in kJ/kg):
T2 = T1*(p2/p1)**((n-1)/n) #Temperature at state 2(in K):
dT = (1-nn)*(h1-h2)/C #Temperature rise due to supersaturation:
T2a = T2+dT #Actual temperature at state 2(in K):
u = Tsat-T2a #Amount of undercooling(in °C):

#Results:
print "Actual heat drop: ",round(dh,2),"kJ/kg"
print "Amount of undercooling: ",round(u,2),"°C"

Actual heat drop:  39.16 kJ/kg
Amount of undercooling:  22.18 °C


## Example 12, page no. 600¶

In [21]:
from __future__ import division

from math import sqrt

#Variable Declaration:
p1 = 14 #Initial pressure(in bar):
T1 = 400+273 #Initial temperature(in K):
N = 16 #Number of nozzles:
p2 = 10 #Final pressure(in bar):
m = 5  #Discharge(in kg/s):
nn = 0.90 #Nozzle efficiency:
C1 = 100 #Inlet velocity(in m/s):
n = 1.3 #Insex of compression:

#From steam tables:
h1 = 3257.5                 #kJ/kg
s1 = 7.3026                 #kJ/kg.K
T2 = 350.46                 #°C
h2 = 3158.7                 #kJ/kg
v2 = 0.2827                 #m**3/kg

#Calculations:
h12 = (h1-h2)*nn #Actual enthalpy change(inn kJ/kg):
C2 = sqrt(2*h12*10**3) #Velocity at exit(in m/s):
A2 = m*v2/(C2*N)*10**4 #Cross-sectional area at exit(in cm**2):
C2a = sqrt(2*h12*10**3+C1**2)#Modified velocity at nozzle exit(in m/s):
ma = 16*2.13*433.41*10**(-4)/0.2827#ma = A2*C2a*N/v2*10**(-4)
p = (ma-m)/m*100       #% increase in discharge:

#Results:
print "Cross-sectional area at exit of nozzle: ",round(A2,2),"cm**2"
print "Percentage increase in discharge: ",round(p,2),"%"

Cross-sectional area at exit of nozzle:  2.09 cm**2
Percentage increase in discharge:  4.5 %


## Example 13, page no. 602¶

In [24]:
from __future__ import division

#Variable Declaration:
p1 = 20       #Initial pressure(in bar):
p3 = 5       #Final pressure(in bar):
n = 1.3
#From steam tables:
T1 = 212.42+273         #K
Tsat = 186.43+273       #K (at 11.6 bar)
psat = 5.452            #bar (at 155.14 °C)
h1 = 2799.5             #kJ/kg
v1 = 0.009963           #m**3/kg
s1 = 6.3409             #kJ/kg.K
h2aa = 2693.98          #kJ/kg
s2a = 6.5484            #kJ/kg.K
h3a = 2632.76           #kJ/kg
h3 = 2544.21            #kJ/kg
p2 = p1*0.58 #Pressure at throat(in bar):

#Calculations:
s2aa = s1
s3a = s2a
s3 = s1
T2 = T1*(p2/p1)**((n-1)/n)	#Temperature at state 2(in K):
d = p2/psat #Degree of supersaturation:
d1 = Tsat-T2 #Degree of undercooling:
h12 = (n/(n-1))*p1*10**2*v1*(1-(T2/T1)) #Isentropic enthalpy drop:
h2 = h1-h12 #Enthalpy at state 2(in kJ/kg):
h12aa = h1-h2aa #Heat drop with no saturation(in kJ/kg):
L = h12aa-h12 #Loss of available heat drop(in kJ/kg):
s12a = L/Tsat #Increase in entropy(in kJ/kg.K):
L1 = h3a-h3 #Loss due to undercooling(in kJ/kg):
p = L1/(h1-h3)*100 #Percentage loss:

#Results:
print "Degree of supersaturation: ",round(d,2)
print "Degree of undercooling: ",round(d1,2),"°C"
print "Entropy change: ",round(s12a,4),"kJ/kg.K"
print "Loss due to undercooling: ",round(L1,2),"kJ/kg"
print "Percentage loss: ",round(p,2)

Degree of supersaturation:  2.13
Degree of undercooling:  31.35 °C
Entropy change:  0.2075 kJ/kg.K
Loss due to undercooling:  88.55 kJ/kg
Percentage loss:  34.69


## Example 14, page no. 604¶

In [27]:
from __future__ import division

from math import sqrt,pi

#Variable Declaration:
m1 = 150/60 #Mass flow rate(in kg/s):
H = 5  #Height of water level from the axis of injector(in m):
p4 = 20 #Pressuer at which steam is injected(in bar):
Z4 = 0.8 #Water level in boiler from the injector(in m):
x1 = 0.95 #Dryness fraction at state 1:
C4 = 20 #Velocity in delivery pipe(in m/s):
p3 = 1.013 #Atmospheric pressure(in bar):
d = 10**3 #Density(in kg/m**3):
g = 9.81 #Acceleration due to gravity(in m/s**2):
Cps = 3.18 #Specific heat of steam(in kJ/kg.K):
Cpw = 4.18 #Specific heat of water(in kJ/kg.K):
#From steam tables:
T1 = 212.42                 #°C
Tw = 25                     #°C
p2 = 0.7*p4
h1 = 2704.95                #kJ/kg
hfg1 = 1890.7               #kJ/kg
s1 = 6.1462                 #kJ/kg.K
x2 = 0.923
h2 = 2639.10                #kJ/kg
v2 = 0.13                   #m**3/kg

#Calculations:
s2 = s1
C2 = sqrt(2*(h1-h2)*10**3) #Velocity of steam at throat(in m/s):
C3 = sqrt(2*(g*Z4+p4*10**5/d+C4**2/2-p3*10**5/d))#Velocity at state 3(in m/s):
m = (C2-C3)/(sqrt(2*g*H)+C3) #Mass of water pumped per kg of steam(in kg):
m3 = m1+m1/m #Mass of mixture passing through state 3(in kg/s):
A3 = m3/(d*C3)*10**4 #Area of throat of mixing nozzle(in cm**2):
d3 = sqrt(A3*4/pi)     #Diameter of throat of the mixing nozzle(in cm):
ms = m1/m #Mass of steam required for given flow rate(in kg/s):
A2 = ms*v2/C2*10**4 #Area at state 2(in cm**2):
d2 = sqrt(A2*4/pi) #Diameter of throat of steam nozzle(in cm):
T3 = (x1*hfg1+Cps*T1+m*Cpw*Tw)/(m*Cpw+Cps)#Temperature of water coming out of the injector(in C):

#Results:
print "Mass of water pumped per kg of steam: ",round(m,2),"kg"
print "Diameter of throat of the mixing nozzle: ",round(d3,3),"cm"
print "Diameter of throat of steam nozzle: ",round(d2,2),"cm"
print "Temperature of water coming out of the injector: ",round(T3,2),"°C"

Mass of water pumped per kg of steam:  3.98 kg
Diameter of throat of the mixing nozzle:  0.783 cm
Diameter of throat of steam nozzle:  1.69 cm
Temperature of water coming out of the injector:  145.63 °C


## Example 15, page no. 607¶

In [29]:
from __future__ import division

from math import sqrt

#Variable Declaration:
p4 = 20 #Pressure at which steam is generated(in bar):
p1 = 1.5 #Pressure at inlet(in bar):
x1 = 0.9 #Dryness fraction:
M = 5000 #Mass of water taken from feed water tank(in kg/hr):
d = 10**3 #Density(in kg/m**3):
#From steam tables:
h1 = 2470.96                #kJ/kg
s1 = 6.6443                 #kJ/kg.K
s2 = s1
x2 = 0.88
h2 = 2396.72                #kJ/kg
v2 = 1.7302                 #m**3/kg

#Calculations:
C2 = sqrt(2*(h1-h2)*10**3) #Steam velocity(in m/s):
C3 = sqrt(1.2*p4*2*10**5/d) #Velocity at 3(in m/s):
m = C2/C3-1  #Mass entrained per kg of steam:
ms = M/(3600*m) #Mass of steam supplied per second(in kg/s):
A2 = ms*v2/C2*10**4 #Area of steam nozzle(in cm**2):
D = M/3600+ms #Total discharge from injector(in kg/s):
A = D/(C3*d)*10**4 #Area of discharge orifice(in cm**2):

#Results:
print "Mass of water pumped per kg of steam: ",round(m,2),"kg water/kg of steam"
print "Area of steam nozzle: ",round(A2,2),"cm**2"
print "Area of discharge orifice: ",round(A,3),"cm**2"

Mass of water pumped per kg of steam:  4.56 kg water/kg of steam
Area of steam nozzle:  13.67 cm**2
Area of discharge orifice:  0.244 cm**2