Challenge

Week 2 Air standard Cycle

# otto cycle

import math
import matplotlib.pyplot as plt


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

	a = stroke/2
	R = con_rod/a


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


	num_values = 100

	sc = math.radians(start_crank)
	ec = math.radians(end_crank)

	V = []

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


	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

#engine parameter

bore= 0.1
cr = 8
con_rod = 0.1
stroke = 0.1

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

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

#p2*v2/t2 = p1*v1/t1 
t2 = (p2*v2*t1)/(p1*v1)

v_compression = engine_kinematics(bore,stroke,con_rod,cr,180,0)
constant = p1*pow(v1,gamma)

p_compression = []

for j in v_compression:
	p_compression.append(constant/pow(j,gamma))


#state point 3

v3 = v2

#p3*v3/t3 = p2*v2/t2
p3 = (p2*v2*t3)/(t2*v3)


v_expansion = engine_kinematics(bore,stroke,con_rod,cr,0,180)
constant = p3*pow(v3,gamma)

p_expansion = []

for j in v_expansion:
	p_expansion.append(constant/pow(j,gamma))
	

#state point 4

v4 = v1

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

#p4*v4/t4 = p3*v3/t3
t4 = (p4*v4*t3)/(p3*v3)


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


explanations
 1. for developing otto cycle diagram we calculate v1,v2,v3,v4,p1,p2,p3,p4,t1,t2,t3,t4
    and we create a diagram using the plot command
 2. but the diagram is not that correct because of insufficient inputs so that's why we use the 'function command' to calculate inputs and then plot the diagram of the otto cycle 
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.