clear all
close all
clc
code for P-V diagram:
% inputs
gamma=1.4
t3=2300
% state variables
p1=101325
t1=500
% engine geometric parameters
bore=0.1;
stroke=0.1;
con_rod=0.5;
cr=12;
% calculating the 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 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/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 point 4
v4=v1
%p3v3^gamma=p4v4^gamma | p4=p3*(v3/v4)^gamma;
p4=p3*(v3/v4)^gamma
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])
explanation:
input the values for gamma and temperature for point 3
define state variables.
calculate the swept volume and clearance volume.
calculate pressure and volume at point 2.
p2v2^gamma=p1v1^gamma and p1v1/t1=p2v2/t2.
calculate the V_compression by function and P_compression by constant_c=p1*v1^gamma.
calculate pressure and volume at point3.
v3=v2 and p3v3/t3=p2v2/t2.
calculate V_expansion by function and P_expansion by constant_c=p3*v3^gamma.
calculate pressure and volume at point 4.
v4=v1 and p3v3^gamma=p4v4^gamma.
calculate thermal_efficiency by(1-(1/cr^(gamma-1)))*100
by using plot command plotting P-V diagram.
code function and thermal efficiency:
function[V]=engine_kinematics(bore,stroke,con_rod,cr,start_crank,end_crank)
a = stroke/2;
R = con_rod/a;
v_s=pi/4*bore^2*stroke;
v_c=v_s/(cr-1);
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_c
end
# code function explanation:
in this code create a function that take input and gives values to output and calculate
swept volume and clearance volume by formula and create array for different theta values.
calculate thermal_efficiency by(1-(1/cr^(gamma-1)))*100
% thermal efficiency
thermal_efficiency = (1-(1/cr^(gamma-1)))*100
62.98
ERRORS:
typing errors. values error types wrong values for for wrong term. problem is solved by observing the codes.