Challenge

Week 2 Air standard Cycle

Aim:

Write a program to calculate air standard otto cycle using python

Introduction

The air standard otto cycle is idealized for spark ignition internal combustion engine

The otto cycle process

Process 1-2: Reversible adiabatic compression of air

Process 2-3: Heat condition at constant value

Process 3-4: Reversible adiabatic expanssion of air

Process 4-1: Heat rejection at constant value

Geometric inputs: Bore, Stroke, Connecting rod, crank, starting of the crank,Ending of the crank

Volume

THERMAL EFFICIENCY OF ENGINE :

where

1. n = thermal efficiency

2. k = the value of gamma that 1.4 adiabatic process

3. r = compression ratio

CODE:

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*(1/4)*pow(Bore,2)*Stroke
v_c = v_s/(cr-1)

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(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
t3 = 2300
gamma = 1.4

# Geometeric parameters
Bore = 0.1
Stroke = 0.1
con_rod = 0.15
cr = 8

# volume computational
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

#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
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^gamma = 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.show()


#thermal effciency of engine
n = 1-(pow(cr,(1-gamma)))
print(n)

FUNCTION OF KINEMATICS

import math

#inputs

Bore =0.1
Stroke = 0.1
con_rod = 0.15
cr = 12

a = Stroke/2
R = con_rod/a

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

theta = math.radians(180)

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 = ((1+ term1*(term2-term3))*v_c)
print(v)
print(v_c+v_s)

RESULT:

Output

THERMAL EFFICIENCY:

output

CONCLUSION:

Thus the thermal efficiency of engine is 62.98%

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.