PV Diagram visualizer for otto cycle
i have done a code for generating curve for otto cycle and to calculate thermal effeciency of otto cycle and i am submitting the code of the program and results for the same.
function [V] = otto_cycle(bore, stroke, con_rod, cr, start_crank, end_crank)
%engine parameters
%bore = 0.1;
%stroke = 0.1;
%con_rod = 0.15;
%cr = 12;
% a = cranck pin radius
a = stroke/2;
R = con_rod/a;
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);
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\',1.5)
end
clear all
close all
clc
%input parameters
gamma = 1.4;
t3 = 2500;
%state variables
p1 = 101425;
t1 = 600;
%engineparameters
bore = 0.1;
stroke = 0.1;
con_rod = 0.15;
cr = 12;
v_swept = (pi/4)*bore^2*stroke;
v_clearance = v_swept/(cr-1);
v1 = v_swept + v_clearance;
v2 = v_clearance;
%variables at point 2
%p2v2^gamma = p1v1^gamma
%p2 = p1*(v1/v2)^gamma and v1/v2 = cr
p2 = p1*cr^gamma;
%p1v1/t1 = p2v2/t2 | t2 = p2*v2*t1/(p1*v1)
t2 = p2*v2*t1/(p1*v1);
constant_c = p1*v1^gamma;
V_comp = otto_cycle(bore,stroke,con_rod,cr,180,0);
P_comp = constant_c./V_comp.^gamma;
%variables at state point 3
v3 = v2;
% constnt volume process at state point 3
p3 = p2*t3/t2;
constant_c = p3*v3^gamma;
V_expansion = otto_cycle(bore,stroke,con_rod,cr,0,180);
P_expansion = constant_c./V_expansion.^gamma;
%variables at state point 4
v4 = v1;
%p3v3^gamma = p4v4^gamma | p4 = p3(v3/v4)^gamma
p4 = p3*(v3/v4)^gamma;
%t4/t3 = (v3/v4)^(gamma - 1)
t4 = t3*(v3/v4)^(gamma - 1);
%thermal eff
eff = 1 - (v2/v1)^(gamma-1);
hold on
plot(v1,p1,\'*\',\'color\',\'b\')
plot(V_comp,P_comp)
plot(v2,p2,\'*\',\'color\',\'b\')
plot(v3,p3,\'*\',\'color\',\'b\')
plot(V_expansion,P_expansion)
plot(v4,p4,\'*\',\'color\',\'b\')
plot([v2 v3],[p2 p3])
plot([v1 v4],[p1 p4])