Challenge

Week 2 Air standard Cycle

Based on the concepts you have learnt during the forward kinematics routine, go ahead and write code that can solve an otto cycle and make plots for it.

Here are the requirements

1. Your code should create a PV diagram

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

There are 4 process in otto cycle :-

  • 1–2, isentropic compression;
  • 2–3, constant-volume heat addition;
  • 3–4, isentropic expansion; and
  • 4–1, constant-volume heat rejection.

The Thermal efficiency of the ideal Otto cycle in term of compression ratio is written as:

here, r = compression ratio and y = gamma

Method :-

  • Import lybraries
    import math
    import matplotlib.pyplot as plt
  • Define a function for volume and pressure change during isentropic expansion and compression with the help of below formula.
a = stroke/2, R = con_rod/a
con_rod = connecting rod lenth.
V = volume of compression or expansion
Vc = Clearance volume.

Provide inputs for different variables used in otto cycle.

Initial values :-
p1 = 101325, t1 = 500, gamma = 1.4, t3 = 2500, v1 = v_c + v_s
v_s = (math.pi/4)*(bore^2)*stroke
v_c = v_s/(cr-1)
v1 = v_c + v_s
# Geometric parameters
bore = 0.8
stroke = 0.2
con_rod = 0.15
cr (compression ratio) = 8

then find different state variables(pressure, volume and temperature) at all 4 points.

which are as follows :-

State variables at point 2 :-

  • v2 = v_c
    p2v2^gamma = p1v1^gamma
    therefore : p2 =p1*pow(v1,gamma)/pow(v2,gamma)

then find state variable 3 and 4.

v3 = v2
p3v3/t3 = p2v2/t2, rhs = p2v2/t2 |
p3 = rhs*t3/v3
v4 = v1
p4v4^gamma = p3v3^gamma, p4v4/t4 = rhs
p4 = p3*pow(v3,gamma)/pow(v4,gamma)
t4 = p4*v4/rhs

then program for plotting.

'''
Program to calculate different state variables in an otto cycle and to calculate its thermal efficiency
'''

import math
import matplotlib.pyplot as plt

def engine_kinematics(bore,stroke,con_rod,cr,start_crank,end_crank):
    
    # Geometric parameters
    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 = 100
    dtheta = (ec-sc)/(num_values)

    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 = 2500

# Geometric parameters
bore = 0.8
stroke = 0.2
con_rod = 0.15
cr = 8

# Computing the volume
v_s = (math.pi/4)*pow(bore,2)*stroke
v_c = v_s/(cr-1)
v1 = v_c + v_s


# State variables at 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 variables at 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 variables at point 4
v4 = v1

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

# p4v4/t4 = rhs
t4 = p4*v4/rhs

# Calculating the thermal efficiency

thermal_eff = (1 - (1/pow((cr),(gamma-1))))*100
print('Thermal efficiency of the Otto Cycle is :',thermal_eff,'%')

# Plotting the state points
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('Volume (m^3)')
plt.ylabel('Pressure (Pa)')
plt.title('P-V diagram of an Otto Cycle')
plt.show()

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.