Week 2 Air standard Cycle
Aim: Write a python program to plot the pv diagram and calculate efficiency of an engine for the given input parameters.
theory:
otto cycle.
The Otto cycle is a cycle of engine operation which requires four strokes of the piston: for induction, compression, ignition, and exhaust. The fuel and air mixture is compressed before combustion is started by an electrical spark or other means.

The processes are described by:
Process 0–1 a mass of air is drawn into piston/cylinder arrangement at constant pressure.
Process 1–2 is an adiabatic (isentropic) compression of the charge as the piston moves from bottom dead center (BDC) to top dead center (TDC).
Process 2–3 is a constant-volume heat transfer to the working gas from an external source while the piston is at top dead center. This process is intended to represent the ignition of the fuel-air mixture and the subsequent rapid burning.
Process 3–4 is an adiabatic (isentropic) expansion (power stroke).
Process 4–1 completes the cycle by a constant-volume process in which heat is rejected from the air while the piston is at bottom dead center.
Process 1–0 the mass of air is released to the atmosphere in a constant pressure process
Relation between crank angle and volume inside the combustion chamber: also called as the volume trace.

Efficiency of otto cycle:
`eta=1-1/(r^(gamma-1))`
Assumptions in our code:
Process parameters
p1 = 101325
t1 = 500
gamma = 1.4
t3 = 2300
Geomentric parameter
bore = 0.1
stroke = 0.1
con_rod = 0.15
cr = 12
Python Code:
import math
import matplotlib.pyplot as plt
def engine_kinematics(bore,stroke,con_rod,cr,start_angle,end_angle):
#engine parameters
a = stroke/2
R = con_rod/a
v_s = (math.pi/4) * pow(bore,2) * stroke
v_c = v_s/(cr -1)
sc = math.radians(start_angle)
ec = math.radians(end_angle)
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(R,2) - pow(math.sin(theta),2)
term3 = pow(term3,0.5)
v.append((1+term1*(term2-term3))*v_c)
return v
#inputs
p1 = 101325
t1 = 500
gamma = 1.4
t3 = 2300
#Geomentric parameter
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_s+v_c
#state point 2
v2 = v_c
#p2v2^gama = p1v1^gama
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^gama = p3v3^gamma
p4 = p3*pow(v3,gamma)/pow(v4,gamma)
#p4v4/t4 = rhs
t4 = p4*v4/rhs
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.title('pressure vs volume')
plt.show()
#thermal efficiency
thermal_efficiency = 1-(1/(pow(cr,(gamma-1))))
print ('Thermal efficiency is : ',thermal_efficiency)
Code explanation:
Import the necessary library files
To calculate the volume trace, we define the function engine kinematics.
engine geometric parameters like the bore stroke connecting rod length compression ratio is defined also the starting crank angle and end crank angle is defined.
now in between the start crank and end crank angle is divided into 50 subdivisions and for each subdivisin the volume trace is calculated
now we calculate the operating parameters at each state points using the thermodynamic relations.
and a pv plot is generated.
also the thermodynamic efficiency is also calculated.
Results:
Thermal efficiency is : 0.6298928275128466


Conclusion:
for the given engine parameters we have generated the pv plot as per the thermodynamic process for each path.
also the engine efficiency is calculated.