In [1]:

```
#Given:
Pr = 500. #Smath.radians(numpy.arcmath.tan(ard reference brake power in kW
eta_m = 85. #Mechanical efficiency in percent
br = 220. #Smath.radians(numpy.arcmath.tan(ard specific fuel consumption in g/kWh
px = 87. #Site ambient air pressure in kPa
Tx = 45.+273 #Site ambient temperature in K
phix = 80./100 #Relative humidity at site
#Solution:
#Refer table 27.1, 27.2 and 27.3
a = 1. #Factor
m = 1.;n = 0.75;q = 0 #Exponents
psx = 9.6 #Saturation vapour pressure at site in kPa
psr = 3.2 #Smath.radians(numpy.arcmath.tan(ard saturation vapour pressure in kPa
pr = 100. #Smath.radians(numpy.arcmath.tan(ard total barometric pressure in kPa
Tr = 298. #Smath.radians(numpy.arcmath.tan(ard air temperature in K
phir = 0.3 #Smath.radians(numpy.arcmath.tan(ard relative humidity
k = ((px-a*phix*psx)/(pr-a*phir*psr))**m*(Tr/Tx)**n #The ratio of indicated power
alpha = k-0.7*(1-k)*(100/eta_m-1) #Power adjustment factor
Beta = k/alpha #Fuel consumption adjustment factor
Px = alpha*Pr #Brake power at site in kW
bx = Beta*br #Specific fuel consumption at site in g/kWh
#Results:
print " The site continuous net brake power, Px = %.1f kW"%(Px)
print " The site continuous specific fuel consumption, bx = %.1f g/kWh"%(bx)
```

In [2]:

```
#Given:
Pr = 1000. #Smath.radians(numpy.arcmath.tan(ard reference brake power in kW
eta_m = 90. #Mechanical efficiency in percent
Pir = 2. #Boost pressure ratio
Tra = 313. #Substitute reference air temperature in K
Pimax = 2.36 #Maximum boost pressure ratio
h = 4000. #Altitude in m
px = 61.5 #Site ambient air pressure in kPa
Tx = 323. #Site ambient temperature in K
Tcx = 310. #Charge air coolent temperature at site in K
#Solution:
#Refer table 27.1, 27.2 and 27.3
m = 0.7
n = 1.2
q = 1. #Exponents
pr = 100. #Smath.radians(numpy.arcmath.tan(ard total barometric pressure in kPa
Tcr = 298. #Smath.radians(numpy.arcmath.tan(ard charge air coolent temperature in K
Tr = 298. #Smath.radians(numpy.arcmath.tan(ard air temperature in K
pra = pr*Pir/Pimax #Smath.radians(numpy.arcmath.tan(ard reference pressure in kPa
pra = round(10*pra)/10
k = (px/pra)**m*(Tra/Tx)**n*(Tcr/Tcx)**q #The ratio of indicated power
alpha = k-0.7*(1-k)*(100/eta_m-1) #Power adjustment factor
Px1 = round(alpha*Pr) #Brake power at site in kW
#If reference conditions are not changed
k = (px/pr)**m*(Tr/Tx)**n*(Tcr/Tcx)**q #The ratio of indicated power
alpha = k-0.7*(1-k)*(100/eta_m-1) #Power adjustment factor
Px2 = round(alpha*Pr) #Brake power at site in kW
#Results:
print " Power available at an altitude of 4000m, Px = %d kW"%(Px1)
print " Power available at an altitude of 4000m if reference conditions are not changed, Px = %d kW"%(Px2)
```

In [4]:

```
from math import floor
#Given:
Px = 640. #Brake power at site in kW
px = 70. #Site ambient air pressure in kPa
Tx = 330. #Site ambient temperature in K
Tcx = 300. #Charge air coolent temperature at site in K
eta_m = 85. #Mechanical efficiency in percent
py = 100. #Test ambient pressure in kPa
Tcy = 280. #Charge air coolent temperature at test in K
Ty = 300. #Test ambient temperature in K
#Solution:
#Refer table 27.1, 27.2 and 27.3
m = 0.7
n = 1.2
q = 1. #Exponents
pr = 100. #Smath.radians(numpy.arcmath.tan(ard total barometric pressure in kPa
Tcr = 298. #Smath.radians(numpy.arcmath.tan(ard charge air coolent temperature in K
Tr = 298. #Smath.radians(numpy.arcmath.tan(ard air temperature in K
kr = (px/pr)**m*(Tr/Tx)**n*(Tcr/Tcx)**q #The ratio of indicated power
kr = floor(1000*kr)/1000
alphar = kr-0.7*(1-kr)*(100/eta_m-1) #Power adjustment factor
Pr = Px/alphar #Smath.radians(numpy.arcmath.tan(ard reference brake power in kW
ky = (py/pr)**m*(Tr/Ty)**n*(Tcr/Tcy)**q #The ratio of indicated power at test
alphay = ky-0.7*(1-ky)*(100/eta_m-1) #Power adjustment factor at test
Py = Pr*alphay #Brake power at test in kW (Round off error)
#Results:
print " Power developed under test ambient conditions, Py = %.0f kW"%(Py)
#Round off error in the value of 'Py'
```

In [5]:

```
#Given:
#Datas are taken from Ex. 27.3
Px = 640. #Brake power at site in kW
eta_m = 85. #Mechanical efficiency in percent
px = 70. #Site ambient air pressure in kPa
py = 100. #Smath.radians(numpy.arcmath.tan(ard total barometric pressure in kPa
Tx = 330. #Site ambient temperature in K
Ty = 300. #Test ambient temperature in K
p2_py = 2.5 #Pressure ratio
by = 238. #Specific fuel consumption at test in g/kWh
#Solution:
#Refer table 27.1, 27.2 and 27.3
m = 0.7
n = 1.2
q = 1. #Exponents
ky = (py/px)**m #The ratio of indicated power at test
alphay = ky-0.7*(1-ky)*(100/eta_m-1) #Power adjustment factor at test
Py = round(Px*alphay) #Brake power at test in kW
#From fig 27.1
Tx_Ty = Tx/Ty #Temperature ratio
p1_py = 0.925 #Ratio
p1 = p1_py*py #Air pressure after throttle in kPa (printing error)
Betay = ky/alphay #Fuel consumption adjustment factor at test
bx = by/Betay #Specific fuel consumption at site in g/kWh
#Results:
print " Power developed on the test bed, Py = %d kW"%(Py)
print " The pressure behind the throttle plate, p1 = %.1f kPa"%(p1)
print " The fuel consumption adjusted to site ambient conditions, bx = %d g/kWh"%(bx)
#Answer in the book is printed wrong
```

In [6]:

```
#Given:
Py = 640. #Brake power at test in kW
py = 98. #Test ambient pressure in kPa
Ty = 303. #Test ambient temperature in K
phiy = 0.8 #Relative humidity at test
#Solution:
#Refer table 27.1, 27.3
psy = 4.2 #Saturation vapour pressure at test in kPa
psr = 3.2 #Smath.radians(numpy.arcmath.tan(ard saturation vapour pressure in kPa
pr = 100. #Smath.radians(numpy.arcmath.tan(ard total barometric pressure in kPa
Tr = 298. #Smath.radians(numpy.arcmath.tan(ard air temperature in K
phir = 0.3 #Smath.radians(numpy.arcmath.tan(ard relative humidity
alpha_a = ((pr-phir*psr)/(py-phiy*psy))**1.2*(Ty/Tr)**0.6 #Correction factor for CI engine
Pr = round(alpha_a*Py) #Smath.radians(numpy.arcmath.tan(ard reference brake power in kW
#Results:
print " The power at standard reference conditions, Pr = %d kW"%(Pr)
```

In [7]:

```
import math
#Given:
Py = 896. #Brake power at test in kW
py = 96. #Test ambient pressure in kPa
Ty = 302. #Test ambient temperature in K
phiy = 0.2 #Relative humidity at test
px = 98. #Site ambient air pressure in kPa
Tx = 315. #Site ambient temperature in K
phix = 0.4 #Relative humidity at site
N = 1800. #Engine speed in rpm
V_s = 51.8 #Swept volume in litres
m_f = 54.5 #Fuel delivery in gm/s
pi = 2.6 #Pressure ratio
#Solution:
#Refer table 27.1, 27.3
psy = 4.8 #Saturation vapour pressure at test in kPa
psx = 8.2 #Saturation vapour pressure at site in kPa
q = m_f*1000/(N/(2*60)*V_s) #Fuel delivery in mg/litrecycle
qc = round(q/pi) #Corrected fuel delivery inmg/litrecycle
#Applying condition given in fig 27.2 for value of engine factor (fm)
if (qc <= 40):
fm = 0.3;
elif (qc >= 65):
fm = 1.2;
else:
fm = 0.036*qc-1.14;
fa = ((px-phix*psx)/(py-phiy*psy))**0.7*(Ty/Tx)**1.5 #Atmospheric factor
alpha_d = fa**fm #Correction factor for CI engine
Px = alpha_d*Py #Brake power at site in kW
#Results:
print " Power at site ambient conditions, Px = %d kW"%(Px)
```

In [8]:

```
import math
#Given:
Py = 700. #Brake power at test in kW
py = 96. #Test ambient pressure in kPa
Ty = 302. #Test ambient temperature in K
phiy = 0.2 #Relative humidity at test
px = 69. #Site ambient air pressure in kPa
Tx = 283. #Site ambient temperature in K
phix = 0.4 #Relative humidity at site
N = 1200. #Engine speed in rpm
V_s = 45. #Swept volume in litres
m_f = 51.3 #Fuel delivery in gm/s
pi = 2.0 #Pressure ratio
eta_m = 85. #Mechanical efficiency in percent
#Solution:
pr = 100. #Smath.radians(numpy.arcmath.tan(ard total barometric pressure in kPa
Tr = 298. #Smath.radians(numpy.arcmath.tan(ard air temperature in K
phir = 0.3 #Smath.radians(numpy.arcmath.tan(ard relative humidity
#Refer table 27.1, 27.3
psy = 4.1 #Saturation vapour pressure at test in kPa
psx = 1.2 #Saturation vapour pressure at site in kPa
psr = 3.2 #Smath.radians(numpy.arcmath.tan(ard saturation vapour pressure in kPa
q = m_f*1000/(N/(2*60)*V_s) #Fuel delivery in mg/litrecycle
qc = round(q/pi) #Corrected fuel delivery in mg/litrecycle
#Applying condition given in fig 27.2 for value of engine factor (fm)
if (qc <= 40):
fm = 0.3;
elif (qc >= 65):
fm = 1.2;
else:
fm = 0.036*qc-1.14;
fa = ((px-phix*psx)/(py-phiy*psy))**0.7*(Ty/Tx)**1.5 #Atmospheric factor
alpha_d = fa**fm #Correction factor for CI engine
#Applying condition given in section 27.4.2
if (alpha_d > 0.9) and (alpha_d < 1.1):
Px = alpha_d*Py
else:
fa = ((pr-phir*psr)/(py-phiy*psy))**0.7*(Ty/Tr)**1.5 #Atmospheric factor
alpha_d = fa**fm #Correction factor for CI engine
Pr = alpha_d*Py #Smath.radians(numpy.arcmath.tan(ard reference brake power in kW
m = 0.7;n = 2 #Exponents
k = (px/pr)**m*(Tr/Tx)**n #The ratio of indicated power
alpha = k-0.7*(1-k)*(100/eta_m-1) #Power adjustment factor
Px = alpha*Pr #Brake power at site in kW
#Results:
print " Power at site ambient conditions, Px = %d kW"%(Px)
#Answer in the book is wrong
```