Project

P-V diagram of otto cycle using MATLAB

AIM : to plot P-V diagram of otto cycle using MATLAB

INTRODUCTION : In IC engine the combustion of the fuel with the oxygen of the air occurs inside the cylinder. The hot exhaust pushes a piston which is connected to crankshaft to produce power. The combustion of the air-fuel mixture is not a continuous process, but occurs very quickly at regular time intervals.

Between ignitions, the engine parts move in a repeated sequence called cycle. This cycle consists of four stages: 1)suction stroke 2) compression stroke 3)power stroke 4)exhaust stroke. In a suction stroke the inlet valve is opened and piston moves from the top dead center (T.D.C) to bottom dead center (B.D.C) and the air-fuel mixture is sucked into the cylinder, In compression stroke, the inlet valve is closed and piston moves from B.D.C to TD C and the pressure increases and the temperature reaches the self-ignition temperature and the combustion occurs, In power stroke, hot gases produced due to combustion drive the piston from TDC to B.D.C and thus the work is obtained in this stroke. It is during this stroke we get power from the engine In exhaust stroke the exhaust valve opens and piston moves from BDC to TDC and the exhaust gases are escaped from the exhaust valve to the atmosphere and cycle repeats.

PROCESS :

1. process 1-2 is an adiabatic (isentropic) compression

2. Process 2-3 is an constant value heat transfer

3. process 3-4 is an adiabatic (isentropic) expansion (powerstoke)

4. process 4-1 complete the cycle by a constant volume process in which heat is rejected

FORMULA :

thermal efficiency of the engine is given by

Where

  • η = thermal efficiency
  • r = compression ration that is 'cr'
  • K = the value of gamma that is 1.4 adiabatic process
#otto cycle simulator

import math
import mathplotlib.pyplot as plt

def engine_kinematics(bore,stroke,con_rod,cr,start_angle,end_angle):
"""
Engine kinematics
"""

# Engine parameters
a = stroke/2
R = con_rod/2

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

sc = math.radian(start_angle)
ec = math.radian(end_angle)

num_values = 50
dtheta = (sc-ec)/(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

# engine 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_s + v_s

# stage2
v2 = v_c

p2=p1*pow(v1,gamma)/pow(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 = []
for v in v_compression:
    p_compression.append(constant/pow(v,gamma))
    
    # stage3
    v3 = v2
    rhs = p2*v2/t2
    p3 = rhs*t3/v3
    
    v_expansion = engine_kinematics(bore,stroke,con_rod,cr,0,180)
    
    constant = p3(v3,gamma)
    
    p_expansion = []
    
    for v in v_expansion
            p_expansion.append(constsant/pow(v,gamma))
        
        # stage4
        v4 = v1
        
        p4 = p3*pow(v3,gamma)/pow(v4,gamma)
        
        t4 = p4*v4/rhs
        
        plt.plot([v2,v3],[p2,p3])
        plt.plot(v_compression,p_compresssion)
        plt.plot([v4,v1],[p4,p1]
        plt.show()
        
        # thermal efficiency
        n = 1-(pow(cr,(1-gamma)))
        print (n)
    
    

RESULT

Thermal efficiency of the engine = 56.47 %

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.