OTTO CYCLE by DARWIN BENAIAH ANOSE NICKDAM
Aim : To solve and plot otto cycle.
Errors Faced:
Error1:

Error2:

Error3:

Explanation of code:
%otto cycle
Line 1 - 3: Clear, close commands for clearing the command window and workspace.
Line 6 - 8: Input values of gamma and temperature at point 3.
Line 10 - 12: Values of state variables at state point 1.
Lne 14 - 19: Values of engine geometric parameters such as bore, stroke, connecting rod, compression ratio.
Line 21 - 27: Calculating swep volume and clearence volume where, v1 = swept volume + clearence volume and v2 = clearence volume.
Line 29 - 39: Values of state variables at state points 2.
Line 38 - 39: V_compression, P_compression are computed.
Line 41 - 47: Values of state variables at state points 3.
Line 46 - 47: V_expansion and P_expansion are computed.
Line 49 - 52: Values of state variables at state point 4.
Line 54 - 64: Plot commands.
%engine kinematics
This code is a function code which is used to call the function in another program code.
(PS) The code was not copy pasted so there might be difference in line numbers.
Errors faced while programming:
Error 1: Unrecognized variable v4.
Error 2: Unrecognized variable engine_kinematics.
Error 3: Unrecognized function start_crank.
Steps taken to overcome errors:
Error 1: v4 was not iteratted.
Error 2: engine_kinematics progrm was not coded properly and was corrected.
Error 3: start_crank was mentioned propely.
Program Code:
%otto cycle
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;
con_rod = 0.15;
cr = 12;
%Calculating swept volume and clearence volume
v_swept = (pi/4)*bore^2*stroke;
v_clearence = v_swept/(cr-1);
v1 = v_swept+v_clreance
v2 = v_clearence
%State variables at state 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*t1/(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 state point 3
v3 = v2
%p3v3/t3 = p2v2/t2 | p3 = p2*t3/t2
p3 = p2*t3/t3
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 = (v3/v4)^gamma
p4 = p3*(v3/v4)^gamma
figure(1)
hold on
plot(v1,p1,'*','color','r')
plot(V_compression,P_cpmpression)
plot(v2,p2,'*','color','r')
plot(v3,p3,'*','color','r')
plot(V_expansion,P_expansion)
plot(v4,p4,'*','color','r')
figure(2)
plot([v1 v2 v3 v4 v1], [p1 p2 p3 p4 p1],'color','b')
%engine_kinematics
function [V] = engine_kinematics (bore, stroke, con_rod, cr, start_crank, end_crank)
a = stroke/2;
R = con_rod/a;
%Formula
v_s = pi/4*bore^2*stroke;
v_c = v_s/(cr-1);
theta - linspace (start_crank, end_crank, 100);
tertm1 = 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