Challenge

Week 2 Air standard Cycle

Objective:

Plotting P V diagram and calculate the thermal efficiency of a Otto cycle

Description:

Otto cycle is a gas power cycle that is used in spark-ignition internal combustion engines
An Otto cycle consists of four processes:

1.Two isentropic (reversible adiabatic) processes
2.Two isochoric (constant volume) processes

Step by step procedure:

1.Import math library

2.Impot matplotlib.plyplot library

3.Import numpy

4.Define the function engine_kinematics(bore, stroke,con_rod,stroke,start_angle,end_angle)

5.Calculate the swept volume(v_s)

6.Calculate the clearance volume(v_c)

7.Extract the crank angle values from start_angle and end_angle

8.Derive the state points 2,and 4 constant volume process

9.solve the V_compression function

10.solve P_compression for each and evry value of V_compression

11.follow steps 9 and 10 for expansion process

12.plot the graph

13.solve the thermal efficiency of otto cycle

"""
Engine Kinematics
"""

import math
import matplotlib.pyplot as plt
import numpy as np


def engine_kinematics(bore,stroke,con_rod,cr,start_crank,end_crank):

	#Geometric parameters

	bore=0.10
	stroke=0.1
	con_rod=0.15
	cr=12
	a=stroke/2
	R=con_rod/a

	#Volume parameters

	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=100

	dtheta=(ec-sc)/(num_values-1)

	V=[]
	for i in range(0,num_values):
		theta=sc-i*dtheta
		print(theta)
		term1=0.5*(cr-1)
		term2=R+1-math.cos(theta)
		term3=pow(R,2)-pow(math.sin(theta),2)
		term4=pow(term3,0.5)

		V.append((1+term1*(term2-term4))*v_c)
	return V	


#inputs
p1=101325
t1=500
gamma=1.4
t3=2300

#Geometic parameters

#Geometric parameters

bore=0.10
stroke=0.1
con_rod=0.15
cr=12
a=stroke/2
R=con_rod/a
#Volume parameters

v_s=math.pi*(1/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
print(rhs)
t2=p2*v2/rhs
V_compression=engine_kinematics(bore,stroke,con_rod,cr,0,180)
print(V_compression)

constant=p1*pow(v1,gamma)

P_compression=[]

for v in V_compression:

	P_compression.append(constant/pow(v,gamma))
print(P_compression)	

#state point 3
v3=v2

#p3v3/t3=p2v2/t2|rhs=p2v2/t2|p3=rhs*t3/v3
rhs=p2*v2/t2
print(rhs)
p3=rhs*t3/v3
V_expansion=engine_kinematics(bore,stroke,con_rod,cr,0,180)

print(V_expansion)

constant=p3*pow(v3,gamma)

P_expansion=[]

for v1 in V_expansion:

	P_expansion.append(constant/pow(v1,gamma))
print(P_expansion)	

#state point 4
v4=v1

#p4v4^gamma=p3v3^gamma
p4=p3*pow(v3,gamma)/pow(v4,gamma)

#p4v4/t4=rhs

t4=p4*v4/rhs

#thermal efficiency

x=1-(t4-t1)/(t3-t2)
print(x)


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.show()


Results:

PV Diagram

Thermal Efficiency of Otto cycle: 0.6298928275128466

Your portfolio, next

Ship work like this
in your own course.

Talk to a career counsellor

Free 20-minute call. We'll map the right course to where you want to work.

By submitting you agree to our Terms and Privacy Policy.

Talk to a career counsellor

Free 20-minute call. We'll map the right course to where you want to work.

By submitting you agree to our Terms and Privacy Policy.