Challenge

Week 2 Air standard Cycle

Objective:

Write code that can solve an otto cycle and make plots for it.

1. Your code should create a PV diagram

2. You should output the thermal efficiency of the engine.

Syntax:

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)

sc = math.radians(start_crank)

ec = math.radians(end_crank)

num_value = 50

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

v = []

for i in range(0,num_value):

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

bore = 0.1

stroke = 0.1

cr = 10

con_rod = 0.15

R = 3

gamma = 1.4

v_s = (math.pi)/4*pow(bore,2)*stroke

v_c = v_s/(cr-1)

p1 = 101235

t1 = 300

t3 = 3000

v1 = v_c + v_s

v2 = v_c

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

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 = [constant/pow(v,gamma) for v in v_compression]

v3 = v2

p3 = (rhs*t3)/v3

v_expansion = engine_kinematics(bore,stroke,con_rod,cr,0,180)

constant = p3*pow(v3,gamma)

p_expansion = [constant/pow(v,gamma) for v in v_expansion]

v4 = v1

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

t4 = (p4*v4)/rhs

eeta = 1 - 1/pow(cr,gamma-1)

print('Thermal efficiency:',eeta)

plt.figure()

plt.plot(v_compression,p_compression)

plt.plot([v2,v3],[p2,p3])

plt.plot(v_expansion,p_expansion)

plt.plot([v4,v1],[p4,p1])

plt.xlabel('volume')

plt.ylabel('pressure')

plt.savefig('otto_cycle_PV_diagram.png')

plt.show()

Results:

Thermal efficiency: 0.6018928294465027

Design optimization of the engine can made by observing the thermal efficiency, for the different input values.

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.