Project

OTTO- cycle

 ## Otto Cycle Simulator

import math
import matplotlib.pyplot as plt

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

	##Volume parameter 

	v_s= math.pi*(1/4)*pow(bore,2)*stroke
	v_c=v_s/(cr-1)

	a=stroke/2
	R= con_rod/a

	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
gamma= 1.2
t3=2300
 ## Geometric paramters
bore=0.1
stroke=0.1
con_rod=0.15
cr=12

 # Volume Computaion
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^gamma = p1v1^gamma

p2= p1*pow(v1,gamma)/pow(v2,gamma)

## p2v2/t2= p1v1/t1 // rhs= p1v1/t1

rhs= p1*v1/t1

t2= (p2*v2)/rhs

V_compression = engine_kinematics(bore , stroke ,con_rod ,cr ,  180 , 0  )
## p1v1^gamma= Constant

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 )
## p1v1^gamma= Constant

constant= p3* pow(v3,gamma)


P_expansion = []

for v in V_expansion:
	P_expansion.append(constant/pow(v,gamma))


## state point4
v4=v1
 # p3v3^gamma=p4v4^gamma

p4 = p3*pow(v3,gamma)/pow(v4,gamma)

#p3v3/t3=p4v4/t4=rhs

t4=p4*v4/rhs

thermal_eff=1-((t4-t1)/(t3-t2))
print(thermal_eff*100)

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

EXPLANATION:

We have imported math and matplotlib for various functions used: like pi function, and angle theta , radians etc. and graphs.

then, we have made a funtion with some arguments as bore,stroke, con_rod , cr and start and end crank angles.

We have calculated swept vol. and clearance vol. formulas

then all states parameters were calculated such as temp, pressure , volume etc.

as compression and expansion process are adiabatic process , we have calculated the pressure with the help of array and for loop.

we have considered volume as array and calculated pressure accordingly for compression and expansion stage.

Later, graph was also plotted for the same (P-V diagram)

Also thermal efficiency is getting calculated at the end getting displayed.

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.