Challenge

Air standard Cycle using PYTHON

"""

  • Aim :- To create PV diagram and thermal efficiency for otto cycle using PYTHON.
INTRODUCTION OF OTTO CYCLE:-

An otto cycle is an idealized thermodynamic cycle that describes the fuctioning of a typical spark ignition piston engine. it is the thermodynami cycle most commonly found in automobile engines.

The processes are described by :-

  • 1. Process 0–1 a mass of air is drawn into piston/cylinder arrangement at constant pressure.
  • 2. Process 1–2 is an adiabatic (isentropic) compression of the charge as the piston moves from bottom dead center (BDC) to top dead centre (TDC).
  • 3. Process 2–3 is a constant-volume heat transfer to the working gas from an external source while the piston is at top dead centre. This process is intended to represent the ignition of the fuel-air mixture and the subsequent rapid burning.
  • 4. Process 3–4 is an adiabatic (isentropic) expansion (power stroke).
  • 5. Process 4–1 completes the cycle by a constant-volume process in which heat is rejected from the air while the piston is at bottom dead centre.
  • 6. Process 1–0 the mass of air is released to the atmosphere in a constant pressure process.

"""

#CODE FOR OTTO CYCLE :-
""" 
 Air standard cycle
"""

import math
import matplotlib.pyplot as plt

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

 """
    Engine kinematics
 """

 # Geomatric parameter
 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 = 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
gamma = 1.4
t3 = 2300

#geomatric parameter
bore = 0.1
stroke = 0.1
con_rod = 0.15
cr = 8

# Volume computation
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 = p3v3/t3
t4 = p4*v4/rhs


# Thermal efficiency of the otto cycle

# r = compression ratio = v1/v1 = v4/v3

r = v4/v3 
Thermal_efficiency = 1 - (1 / pow(r, (gamma - 1)))
print(Thermal_efficiency)



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.xlabel('V')
plt.ylabel('P')
plt.show()

"""

OUTPUT :-
1. PV diagram of OTTO cycle-

The intake stroke and compression stroke require one rotation of the engine crankshaft. The power stroke and exhaust stroke require another rotation. For two rotations there is one work generating stroke. In this PV cycle in adiabatic process should be smooth to obtain easy compression stroke and power stroke. Otherwise it would affect the kinematics and efficiency of the OTTO cycle.

2. Thermal efficiency of the OTTO cycle-

Thermal efficiency of this perticular cycle is 56.47 in the mean of percentage.

"""

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.