OTTO CYCLE
%Function with arguments engine geo parameters
function [V] = piston_kinematics(bore,stroke,con_rod,cr,s_c,e_c)
a = stroke/2;
R = con_rod/a;
v_s = (pi/4)*bore^2*stroke;
v_c = v_s/(cr-1);
theta = linspace(s_c,e_c,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
%Code to plot PV diagram of otto cycle.
clear all
close all
clc
%inputs
gamma = 1.4;
t3 = 2300;
%state variables
p1 = 101325;
t1 = 500;
%engine geometric variables
bore = 0.1;
stroke = 0.1;
con_rod = 0.15;
cr = 12;
%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 2
p2 = p1*cr^gamma;
t2 = p2*v2*t1/(p1*v1);
constant_c = p1*v1^gamma;
V_compression = piston_kinematics(bore, stroke, con_rod,cr,180,0);
P_compression = constant_c./V_compression.^gamma;
%state 3
v3 = v2;
p3 = p2*t3/t2;
constant_c = p3*v3^gamma;
V_expansion = piston_kinematics(bore, stroke, con_rod,cr,0,180);
P_expansion = constant_c./V_expansion.^gamma;
%state 4
v4 = v1;
p4 = p3*(v3/v4)^gamma;
t4 = p4*v4*t3/(p3*v3);
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]);
%To find the thermal efficency of the engine
th_eff = 1-((t4-t1)/(t3-t2));