Challenge

Week 2 Air standard Cycle

To generate the PV diagram and to determine the thermal efficiency of

the engine.

INTRODUCTION OF OTTO CYCLE :-

An ideal thermodynamic cycle describing the functionality of SI (spark ignition)

engine. The below shown figure is for idealized otto cycle based on four state of

point which is not practically possible. In general, the PV diagram for SI engine

dosen't have sharp corners rather smooth and curved. Also, actual thermal efficiency

of engine is quite lower than the theoretical efficiency due to some other important

factors such as ignition.

Figure. PV Diagram

Processes:-

In this process, 0-1 (intake stroke):- Air drawn into cylinder at constant pressure.

1-2 (compression process) :- Isentropic compression, i.e. BDC to TDC.

2-3 (ignition phase) :- Constant volume heat addition process.

3-4 (expansion stroke) :- Isentropic expansion, i.e. TDC to BDC.

4-1 (heat rejection) :- Constant volume heat rejection process.

1-0 (exhaust stroke) :- Air released to atmosphere at constant pressure from cylinder.

ENGINE KINEMATICS:-

During compression (1-2) and expansion (3-4) stroke, the change in volume is not

linear. Rather given by engine kinematics whose relation is given by,

V/Vc=1+1/2(Cr−1)[R+1−cosθ(R2−sin2θ)1/2]

where,

V = Volume traced at particular crank angle.

Vc = Clearance volume of cylinder given by ratio of swept volume and compression ratio.

Vs = Swept volume of cylinder as per the stroke length and bore diameter.

Cr = Compression ratio.

R = Constant given by ratio of length of connecting rod and crank pin radius.

a = Crank pin radius i.e., half of stroke length.

θ = Instantaneous crank angle.

PROGRAM :-

"""

otto cycle simulator

"""

import math

import matplotlib.pyplot as plt

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

"""

engine kinematics

"""

# Geometric parameters

a = stroke/2

R = con_rod/a

# volume parameter

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

V_c = V_s/(cr-1)

sc = math.radians(start_crank)

ec = math.radians(endd_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

# geometric parameters

bore = 0.1

stroke = 0.1

con_rod = 0.15

cr = 12

# 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 | t3 = 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.plt([v2,v3],[p2,p3])

plt.plot([V_compression,P_compression])

plt.plot(V_expansion,P_expansion)

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

plt.xlabel('Volume')

plt.ylabel('Pressure')

plt.title('OTTO CYCLE')

plt.show()

# thermal efficiency of otto cycle (te)

# inputs k = 1.4

k = 1.4

te = (1-1/pow(cr,(k-1)))

print (te)

EXPLANTION:-

Before satrting program we used module like, import math and

import matplotlib.pyplot as plt.

Then we used engine_kinematics function returns the volume(V) as an array of

volumes which gradually changes during the isentropic processes otherwise the

isentropic curve would be linear which is not possible.

Then initial conditions are defined as,

p1 = 101325 Pa

t1 = 500 K

gamma = 1.4

t3 =2300

After that geometric parameter required for calculations are defined and volumes are computed.

Then values of parameter at all states are computed using formulae:-

For constant volume process

PV/T = constant

For isentropic processes

(PVγ)=constant

Then this all formulae used for all compression and expansion process.

Then using plot function the pressure vs volume graph is plotted.

After that find thermal efficiency

Thermal efficiency = [1-(1/cr^(gamma-1))]*100.

OUTPUT :-

PV plot is,

Thermal Efficiency is 56.47 percent. In this result when compression ratio increases

that time thermal efficiency also increased

CONCLUSION :-

PV diagram was generated and the thermal efficiency of the engine was

determined using python.

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.