Otto Cycle Petrol Cycle Using MATLAB
close all
clear all
clc
gamma = 1.4
t3 = 2300
%State Variable of Isentropic Compression
p1 = 101325
t1 = 500
%Engine Design Parameters
bore = 0.1;
stroke = 0.1;
con_rod = 0.15;
cr = 12;
%Calculating Volume
v_swept = (pi/4)*bore^2*stroke;
v_clearance = v_swept/(cr-1);
v1 = v_swept + v_clearance
v2 = v_clearance
%State Variable of Constant Volume Heat Addition
p2 = p1*cr^gamma;
t2 = p2*v2*t1/(p1*v1);
constant_c = p1*v1^gamma;
V_compression = engine_kinematics(bore,stroke,con_rod,cr,0,180)
P_compression = constant_c./V_compression.^gamma
%State Variable of Isentropic Expansion
v3 = v2
p3 = p2*t3/t2
constant_c = p3*v3^gamma;
V_expansion = engine_kinematics(bore,stroke,con_rod,cr,180,0)
P_expansion = constant_c./V_expansion.^gamma
%State Variable of Constant Volume Heat Reduction
v4 = v1
p4 = p3*(v3/v4)^gamma
figure(1)
hold on
plot(v1,p1,\'*\',\'color\',\'g\')
plot(V_compression,P_compression)
plot(v2,p2,\'*\',\'color\',\'g\')
plot(v3,p3,\'*\',\'color\',\'g\')
plot(V_expansion,P_expansion)
plot(v4,p4,\'*\',\'color\',\'g\')
xlabel(\'Volume\')
ylabel(\'Pressure\')
line([v2,v3],[p2,p3])
line([v4,v1],[p4,p1])
ENGINE KINEMATICS FUNCTION
function [V] = engine_kinematics(bore,stroke,con_rod,cr,start_crank,end_crank)
a = stroke/2
R = con_rod/a
v_s = pi/4*bore^2*stroke;
v_c = v_s/(cr-1);
theta = linspace(start_crank,end_crank,100);
term1 = 0.5*(cr-1);
term2 = R+1-cosd(theta);
term3 = (R^2-sind(theta).^2).^0.5;
V = (1 + term1*(term2 - term3)).*v_c;
end