Chapter11-Compressible Flow of Gases

Ex1-pg492

In [1]:
import math
#calculate "Density at plane 1 and tagnation temperature and temperautre and density
p1=1.5*10**5; ## N/m^2
R=287.; ## J/kg.K
T1=271.; ## K

rho1=p1/R/T1; 
print'%s %.1f %s'%("Density at plane 1 =",rho1,"kg/m^3")


print("the stagnation temperature")

u1=270.; ## m/s
cp=1005.; ## J/Kg.K

T0=T1+u1**2./(2.*cp);
print'%s %.1f %s'%("The stagnation temperature =",T0,"K")


print("the temperature and density at plane 2")

u2=320; ## m/s
p2=1.2*10**5; ## N/m^2

T2=T0-u2**2/(2*cp);
print'%s %.1f %s'%("Temperature = ",T2,"K")


rho2=p2/(R*T2);
print'%s %.2f %s'%("density =",rho2,"kg/m^3")
Density at plane 1 = 1.9 kg/m^3
the stagnation temperature
The stagnation temperature = 307.3 K
the temperature and density at plane 2
Temperature =  256.3 K
density = 1.63 kg/m^3

Ex2-pg509

In [2]:
import math
#calculate Deflection angle and the final Mach number and  the pressure ratio across the wave
y=1.4;
R=287.; ## J/kg.K
T1=238.; ## K
u1=773.; ## m/s
beta1=38.; ## degrees
cp=1005.; ## J/kg.K

a1=math.sqrt(y*R*T1);
M1=u1/a1;

beta2=math.atan(math.tan(beta1)*((2.+(y-1.)*M1**2.*(math.sin(beta1))**2.)/((y+1.)*M1**2.*(math.sin(beta1))**2.)));

deflection_angle=beta1-beta2;
print'%s %.1f %s'%("Deflection angle =",deflection_angle,"degrees")


print("the final Mach number")

u2=u1*math.cos(beta1)/math.cos(beta2);

T2=T1+1./(2.*cp)*(u1**2.-u2**2.);
a2=math.sqrt(y*R*T2);

M2=u2/a2;

print'%s %.2f %s'%("Final Mach number =",M2,"")


print(" the pressure ratio across the wave.")
ratio=T2/T1*(math.tan(beta1)/math.tan(beta2));
print'%s %.2f %s'%("Pressure ratio =",ratio,"")
Deflection angle = 37.5 degrees
the final Mach number
Final Mach number = 3.02 
 the pressure ratio across the wave.
Pressure ratio = 0.47 

Ex3-pg515

In [3]:
import math
#calculate Pressure after the bend
M1=1.8;
theta1=20.73; ## degrees
theta2=30.73; ## degrees
M2=2.162;
p1=50; ## kPa
y=1.4;

p2=p1*((1.+(y-1.)/2.*M1**2.)/(1.+(y-1.)/2.*M2**2.))**(y/(y-1.));

print'%s %.1f %s'%("Pressure after the bend =",p2,"kPa")
Pressure after the bend = 28.5 kPa

Ex4-pg525

In [4]:
import math
#calculate the pressures in the reservoir and at the nozzle throat and Pressure in the reservoir and Pressure at the nozzle throat and the temperature and velocity of the air at the exit 
p=28*10**3; ## N/m^2 
y=1.4;
M1=2.4;
M2=1.;
T0=291.; ## K
R=287.; ## J/kg.K

print("the pressures in the reservoir and at the nozzle throat")

p0=p*(1+(y-1)/2*M1**2)**(y/(y-1));
pc=p0*(1+(y-1)/2*M2**2)**(-y/(y-1));

print'%s %.2f %s'%("Pressure in the reservoir =",p0,"N/m^2")

print'%s %.2f %s'%("Pressure at the nozzle throat =",pc,"N/m^2")


print("the temperature and velocity of the air at the exit.")

T=T0*(1+(y-1)/2*M1**2)**(-1);

print'%s %.1f %s'%("Temperature =",T,"K")


a=math.sqrt(y*R*T)

u=M1*a;

print'%s %.1f %s'%("Velocity =",u,"m/s")
the pressures in the reservoir and at the nozzle throat
Pressure in the reservoir = 409360.53 N/m^2
Pressure at the nozzle throat = 216257.71 N/m^2
the temperature and velocity of the air at the exit.
Temperature = 135.2 K
Velocity = 559.4 m/s

Ex5-pg529

In [5]:
import math
#calculate Mach number before the shock and  Stagnation Pressure
M_He=1.8;
y_He=5/3;
y_air=1.4;
p2=30; ## kPa

## (A/At)=(1+(y-1)/2*M^2)^((y+1)/(y-1))/M^2*(2/(y+1))^((y+1)/(y-1))

##    = (1+1/3*1.8^2)^(4)/1.8^(2)*(3/4)^(4) = 1.828 for helium

##    = (1+0.2*M^2)^6/M^2*1/1.2^6    for air
## Hence by trial 

M1=1.715;
print'%s %.3f %s'%("Mach number before the shock =",M1,"")


p1=p2/((2*y_air*M1**2-(y_air-1))/(y_air+1));

p0_1=p1*(1+(y_air-1)/2*M1**2)**(y_air/(y_air-1));

print'%s %.1f %s'%("Stagnation Pressure =",p0_1,"kPa")
Mach number before the shock = 1.715 
Stagnation Pressure = 46.4 kPa

Ex6-pg538

In [6]:
import math
#calculate the value of the friction factor for the pipe and friction factor and the overall length of the pipe, L, if the flow exhausts to atmosphere
p0=510.; ## kPa
pA=500.; ## kPa
pB=280.; ## kPa
d=0.02; ## m
l_max=12.; ## m

print(" the value of the friction factor for the pipe");

## At A, pA/p0 = 500/510 = 0.980. From the Isentropic Flow Tables (Appendix 3), M_A = 0.17.

pC=pA*0.1556;

## From the Fanno Tables at pc/pB = 0.278,M_B = 0.302 and (fl_maxP/A)B = 5.21. For a circular pipe P/A=4/d
M_B=0.302;
f=(21.37-5.21)/l_max/4*d;

print'%s %.3f %s'%("friction factor =",f,"")


print(" the overall length of the pipe, L, if the flow exhausts to atmosphere")

p=100; ## kPa

## At exit, pc/p = 77.8/100 = 0.778. From the Fanno Tables, (fl_maxP/A) = 0.07
L=l_max*(21.37-0.07)/(21.37-5.21);

print'%s %.1f %s'%("Overall Length =",L,"m")

print(" the mass flow rate if the reservoir temperature is 294 K.")
T0=294.; ## K
R=287.; ## J/kg.K
y=1.4;
M=0.302;

m=math.pi/4.*d**2.*pB*10.**3.*M_B*(y*(1.+(y-1.)*M**2./2.)/R/T0)**(1/2.);
print'%s %.3f %s'%("mass flow rate =",m,"kg/s")
 the value of the friction factor for the pipe
friction factor = 0.007 
 the overall length of the pipe, L, if the flow exhausts to atmosphere
Overall Length = 15.8 m
 the mass flow rate if the reservoir temperature is 294 K.
mass flow rate = 0.109 kg/s

Ex7-pg542

In [7]:
import math
#calculate  Diameter of pipe and  Entry and Exit Mach number and at various points
p1=8.*10.**5.; ## N/m**2
p2=5.*10.**5.; ## N/m**2
f=0.006;
l=145.; ## m
m=0.32; ## kg/s
R=287.; ## J/kg.K
T=288.; ## K
y=1.4;

d=(4.*f*l*m**2.*R*T/(math.pi/4.)**2./(p1**2.-p2**2.))**(1/5.);
print'%s %.3f %s'%(" Diameter of pipe =",d,"m")

rho=p1/R/T;
A=math.pi/4.*d**2.;
u=m/rho/A;

a=math.sqrt(y*R*T);

M1=u/a;
M2=p1/p2*M1;

print(" Entry and Exit Mach number =")

print'%s %.3f %s'%("Entry Mach number =",M1,"")


print'%s %.2f %s'%("Exit Mach number =",M2,"")

print(" Determine the pressure halfway along the pipe.")
px=math.sqrt((p1**2.+p2**2.)/2.);
print'%s %.1f %s'%("Pressure =",px,"N/m**2")
 Diameter of pipe = 0.041 m
 Entry and Exit Mach number =
Entry Mach number = 0.072 
Exit Mach number = 0.12 
 Determine the pressure halfway along the pipe.
Pressure = 667083.2 N/m**2