Otto cycle p-v diagram
% pv diagram of otto cycle
clear all
close all
clc
% inputs
gamma = 1.4
t3 = 3000
% state variables
p1 = 101325
t1 = 500
% engine geometric prameters
bore = 0.1;
stroke = 0.1;
con_rod = 0.15;
cr = 15;
% calculating the swept volume and the 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 point 2
% p2v2^gamma = p1v1^gamma
% p2 = p1*(v1/v2)^gamma = p1*cr^gamma
p2 = p1*cr^gamma
%p1v1/t1 = p2v2/t2 | t2 = p2*v2*t2/(p1*v1)
t2 = p2*v2*t1/(p1*v1)
constant_c = p1*v1^gamma;
V_compression = engine_kinematics(bore,stroke,con_rod,cr,180,0);
P_compression = constant_c./V_compression.^gamma
% state variables at point 3
v3 = v2
%p3v3/t3 = p2v2/t2 | p3 = p2*t3/t2
p3 = p2*t3/t2
constant_c = p3*v3^gamma;
V_expansion = engine_kinematics(bore,stroke,con_rod,cr,0,180);
P_expansion = constant_c./V_expansion.^gamma
%state variables at state point 4
v4 = v1
% p3v3^gamma = p4v4^gamma |p4 = p3(v3/v4)^gamma
p4 = p3*(v3/v4)^gamma
hold on
plot(v1,p1,\'color\',\'b\')
plot(V_compression,P_compression,\'color\',\'b\')
plot(v2,p2,\'color\',\'b\')
plot(v3,p3,\'color\',\'b\')
plot(V_expansion,P_expansion,\'color\',\'b\')
plot(v4,p4,\'color\',\'r\')
plot([v1 v4],[p1 p4],\'color\',\'b\')
plot([v2 v3],[p2 p3],\'color\',\'b\')
grid on
% Thermal efficiency of the engine
rc = 12;
gamma = 1.4;
n_thermal = 1-1/rc^(gamma-1)