OTTO CYCLE USING MATLAB
Plotting a P vs V graph and calculating the efficiency of otto cycle using MATLAB
CODE:
clear all
close all
clc
%inputs
gamma = 1.4;
t3 = 2300;
%state variables
p1 = 101325
t1 = 500
% engine geometric parameters
bore = 0.1;
stroke = 0.1;
cr = 12;
con_rod = 0.15;
%calculating swept volume and clearance volume
v_swept = (pi/4)*bore^2*stroke;
v_clearance = v_swept/(cr-1);
v1 = v_swept + v_clearance
v2 = v_clearance
%state variables at state point 2 as it is an isentropic process we use this law
%p1*v1^gamma = p2*v2^gamma
%here we call the function so that can get the accurate plot of the compression process(VOLUME)
const_c = p1*v1^gamma ;
v_compression = piston_kinematics(0.1,0.1,0.15,12,180,0);
p_compression = const_c./v_compression.^gamma;
p2 = p1*cr^gamma
%(p1*v1)/t1 = (p2*v2)/t2
t2 = p2*v2*t1/(p1*v1)
%state variables at state point 3
v3 = v2
% p2*v2/t2 = p3*v3/t3
%here we call the function so that can get the accurate plot of the expansion process(VOLUME)
p3 = p2*t3/t2
const_c = p3*v3^gamma
v_expansion = piston_kinematics(0.1,0.1,0.15,12,0,180);
p_expansion = const_c./v_expansion.^gamma;
%state variables at state point 4;
v4 = v1
% p3*v3^gamma = p4*v4^gamma
p4 = p3*(v3/v4)^gamma
% p3*v3/t3 = p4*v4/t4
t4 = p4*v4*t3/(p3*v3)
%THERMAL EFFICIENCY
n = 1 - (v2/v1)^(gamma-1)
%now we plot the various points in the processes as well as the expansion and compression curve data obtained using the function
figure(1)
hold on
plot(v1,p1,'*','color','r')
plot(v_compression,p_compression)
plot(v2,p2,'*','color','r')
plot([v2 v3],[p2 p3])
plot(v3,p3,'*','color','r')
plot(v_expansion,p_expansion)
plot(v4,p4,'*','color','r')
plot([v4 v1],[p4 p1])
using the following relation we can use this to accurately chart the isentropic expansion and compression using piston kinematics
CODE FOR PISTON KINEMATIC (expansion and compression):
function [V] = piston_kinematics(bore, stroke, con_rod, cr, start_crank, end_crank)
%engine geometric parameters
%bore = 0.1;
%stroke = 0.1;
%con_rod = 0.15;
%cr = 12;
% a = cranck pin radius
a = stroke/2;
R = con_rod/a;
%calculating the swept volume and clearance volume
v_swept = (pi/4)*bore^2*stroke;
v_clearance = v_swept/(cr-1);
v1 = v_swept + v_clearance;
v2 = v_clearance;
theta = linspace(start_crank,end_crank,100);
%Refer to the attached picture of the formula that provides the relation of volume and crank angle
term1 = 0.5*(cr-1);
term2 = R + 1 - cosd(theta);
term3 = (R^2 - sind(theta).^2).^0.5;
V = (1 + term1*(term2 - term3)).*v_clearance;
%plot(theta,V,'linewidth',2)
end
OUTPUTS:
1)Pressure versus Volume plot