Engine Efficiency
PROGRAM:
\"\"\"
Engine Kinematics and Engine efficiency
\"\"\"
import math
import matplotlib.pyplot as plt
def engine_kinematics(bore,stroke,con_rod,cr,start_crank,end_crank):
#Geometric Parameters
a=stroke/2
R=con_rod/a
#Volume Parameter
V_s = math.pi*(1/4)*pow(bore,2)*stroke
V_c = V_s/(cr-1)
sc = math.radians(start_crank)
ec = math.radians(end_crank)
num_values = 50
dtheta = (ec-sc)/(num_values-1)
V = []
for i in range(0,num_values):
theta = sc + i*dtheta
term1 = 0.5 * (cr-1)
term2 = R+1 - math.cos(theta)
term3 = pow(pow(R,2)-pow(math.sin(theta),2),0.5)
V.append((1+term1*(term2-term3))*V_c)
return V
#Inputs
p1 = 101325
t1 = 500
t3 = 2500
gamma = 1.4
#Geometri parameters
bore = 0.1
stroke = 0.1
con_rod = 0.15
cr = 12
#Volume computation
V_s = (math.pi/4)*pow(bore,2)* stroke
V_c = V_s/(cr-1)
v1 = V_c + V_s
#State point 2
v2 = V_c
#p2v2^gamma = p1v1^gamma
p2 = p1*pow(v1,gamma)/pow(v2,gamma)
#p2v2/t2 = p1v1/t1 | rhs = p1v1/t1 | p2v2/t2 = rhs | t2 = p2v2/rhs
rhs = p1*v1/t1
t2 = p2*v2/rhs
V_compression = engine_kinematics(bore,stroke,con_rod,cr,180,0)
constant = p1*pow(v1,gamma)
P_compression = []
for v in V_compression:
P_compression.append(constant/pow(v,gamma))
#State point 3
v3 = v2
#p3v3/t3 = p2v2/t2 | rhs = p2v2/t2 | p3 = rhs*t3/v3
rhs = p2*v2/t2
p3 = rhs*t3/v3
V_expansion = engine_kinematics(bore,stroke,con_rod,cr,0,180)
constant = p3*pow(v3,gamma)
P_expansion = []
for v in V_expansion:
P_expansion.append(constant/pow(v,gamma))
#State point 4
v4 = v1
#p4v4^gamma = p3v3^gamma
p4 = p3*pow(v3,gamma)/pow(v4,gamma)
#p4v4/t4 = rhs
t4 = p4*v4/rhs
#Efficiency
Efficiency = ((1 - (t1/t2))*100)
print(\"The efficiency of the otto cycle is\",Efficiency,\"%\")
plt.plot([v2,v3],[p2,p3])
plt.plot(V_compression,P_compression)
plt.plot(V_expansion,P_expansion)
plt.plot([v4,v1],[p4,p1])
plt.xlabel(\"Volume\")
plt.ylabel(\"Pressure\")
plt.show()
OUTPUT:
The above graph shows the graphical representation of the otto-cycle.The graph is a P-V graph of the otto-cycle. This graph represents four processes in a graphical manner. The four processes are \'isentropic compression\' , \'constant volume heat addition\' , \'isentropic expansion\' and \' constant volume heat rejection\'.
The orange curve in the graph represents the isentropic compression, during this process the piston moves towards the TDC therefore there is a decrease in the volume inside the cylinder, and this is evident from the graph(,i.e, the volume decreases to 0.0001 from 0.0008,approx.) This is a curve because the isentropic equation is a quadratic mathematical model.
The blue line represents the constant-volume heat addition, this is the point of combustion within the cylinder block.During this process the volume is the same and there is a great increase in the pressure and temperature. This pressure and temperature is the highest encountered values within the engine system, so computing this pressure and temperature is important for selecting the material for the engine the for desining the engine.
The green curve represents the isentropic expansion process, during this process the piston moves down to the BDC. During this proces the volume within the system increases.This is the power producing process.(,i.e, the movement of the piston is the power stroke.). This curve also represents a non- linear characteristics due to the quadratic nature of the curves mathematical model.
The red line represents the constant-volume heat rejection process.During this process there is a further decrease in temperature and pressure. This process represents the mass air flow during the exhaustion stroke.
The program computes the efficiency of the modeled otto cycle.
The efficiency of the otto engine is given by:
Efficiency = ((1 - (t1/t2))*100),
where, t1- is the temperature when the piston is at the BDC
t2 - is the temperature when the piston is at the TDC