PV diagram of otto cycle with function defined piston kinematics for volume trace
AIM
- To understand the otto cycle concepts, PV diagram, and function definition for the piston kinematics in order to obtain the accurate volume trace.
MATLAB PROGRAM
%MAIN PROGRAM
%inputs
gamma=1.4;
t3=2300;
t1 = 500;
p1 = 101325;
%engine geometric parameter
bore = 0.1;
stroke = 0.1;
con_rod = 0.15;
cr = 12;
%total vol = swept vol + clearance vol
swept_vol = (pi/4*bore^2*stroke); %cr=(swept vol+clearance vol)/clearance vol
clearance_vol= swept_vol/(cr-1); %cr=1 + swept vol/clearance vol
v1=swept_vol+clearance_vol;
v2=clearance_vol;
% state points found or known till now v1,p1,t1| v2 | t3
%isentropic compression
%p1v1^gamma = p2v2^gamma | p2=p1(v1/v2)^gamma | p2=p1*cr^gamma
p2=p1*cr^gamma;
% state points found or known till now v1,p1,t1 | v2,p2 | t3
constant=p1*v1^gamma;
%calling the function
V_compression=piston_kinematics_for_pv_diagram_challenge(bore,stroke,con_rod,cr,180,0); %start_crank=180 end_crank=0
%constant=P_compression*V_compression^gamma
P_compression=constant./V_compression.^gamma;
%ideal gas law
%p1v1/t1=p2v2/t2 | t2=p2v2t1/p1v1
t2=(p2*v2*t1)/(p1*v1);
% state points found or known till now v1,p1,t1 | v2,p2,t2 | t3
%constant volume v3=v2
v3=v2;
% state points found or known till now v1,p1,t1 | v2,p2,t2 | v3,t3
%ideal gas law
%p3v3/t3=p2v2/t2 | p3=p2v2t3/t2v3 |p3=p2t3/t2
p3=(p2*t3)/t2;
% state points found or known till now v1,p1,t1 | v2,p2,t2 | v3,,p3,t3
constant=p3*v3^gamma;
%calling the function
V_expansion=piston_kinematics_for_pv_diagram_challenge(bore,stroke,con_rod,cr,0,180); %strat_crank=0 end_crank=180
%constant=P_expansion*V_expansion^gamma
P_expansion=constant./V_expansion.^gamma;
%isentropic expansion || constant volume heat rejection
%p4v4^gamma=p3v3^gamma || v4=v1
v4=v1;
p4=p3*(v3/v4)^gamma;
% state points found or known till now v1,p1,t1 | v2,p2,t2 | v3,p3,t3 | v4,p4
%p4v4/t4=p3v3/t3 || t4=p4v4t3/p3v3
t4=(p4*v4*t3)/(p3*v3);
% state points found or known till now v1,p1,t1 | v2,p2,t2 | v3,p3,t3 | v4,p4,t4
figure
hold on
plot(v1,p1,'*','color','r')
plot(V_compression,P_compression,'color','b')
plot(v2,p2,'*','color','r')
plot([v2,v3],[p2,p3],'color','b') %constant volume straight line
plot(v3,p3,'*','color','r')
plot(V_expansion,P_expansion,'color','b')
plot(v4,p4,'*','color','r')
plot([v4,v1],[p4,p1],'color','b') %constant volume straight line
thermal_efficiency_temp = (1-((t4-t1)/(t3-t2)))
thermal_efficiency_temp_percentage = (1-((t4-t1)/(t3-t2)))*100
% eff= workdone/heat addition
%heat additiont=workdone+heat rejection
%eff=heat addition - heat rejection/heat addition
%eff = 1 - heat rejection/heat addition
%heat addition=mcv(t3-t2) | heat rejection=mcv(t4-t1)
%eff = 1 - (t4-t1)/(t3-t2)
thermal_efficiency_comp =( 1-1/cr^(gamma-1))
thermal_efficiency_comp_percentage=( 1-1/cr^(gamma-1))*100
FUNCTION PROGRAM
%FUNCTION PROGRAM
function[V]=piston_kinematics_for_pv_diagram_challenge(bore,stroke,con_rod,cr,start_crank,end_crank)
%engine geometric parameter
%bore = 0.1;
%stroke = 0.1;
%con_rod = 0.15;
%cr = 12;
a=stroke/2; %crankpin radius
R=con_rod/a;
swept_vol = (pi/4*bore^2*stroke);
clearance_vol = swept_vol/(cr-1);
theta=linspace(start_crank,end_crank,100);
term1=0.5*(cr-1); %formula divided into 3 terms
term2=R+1-cosd(theta);
term3=(R.^2-sind(theta).^2).^0.5;
V=(1+term1*(term2-term3)).*clearance_vol; %formula used for finding the volume trace with correct area
%plot(theta,V)
end
OUTPUT PLOTS

