otto cycle
clear allclose allclc% inputsgamma=1.4% state variablesp1=101325t1=500t3=2300% engine parametersbore=0.1;stroke=0.1;con_rod=0.15;cr=12;% calculating the swept volume and the clearance volumev_swept=(p1/4)*bore^2*stroke;v_clearance=v_swept/(cr-1);v1=v_swept+v_clearancev2=v_clearancea=stroke/2;theta=linspace(0,360,100);% state variables at the state points2% p2v2^gamma = p1v1^gamma% p2= p1*(v1/v2)^gammap2=p1*cr^gamma% p1v1/t1=p2v2/t2t2=p2*v2*t1/(p1*v1)% calculating compression volumeterm1=0.5*(cr-1);term2=a+(1-cosd(theta));term3=(a^2-(sind(theta)).^2).^(0.5);v_compression=(1+term1*(term2-term3))*v_clearancec=p2*v2^gamma;p_compression=c./(v_compression).^gamma% state variables at the state point 3v3=v2% p3v3/t3=p2v2/t2p3=p2*t3/t2% calculating expansionv_expansion=(1+term1*(term2-term3))*v_clearancec1=p3*v3^gamma;p_expansion=c1./(v_expansion).^gamma%state varibles at state point 4v4=v1% p3v3^gamma=p4v4^gammap4=p3*(v3/v4)^gamma%p4v4/t4=p1v1/t1t4=p4*t1/p1% calculating the thermal efficiencyefficiency=1-(1/((cr)^(gamma-1)))figure(1)hold onplot([ v_compression v_expansion ],[ p_compression p_expansion ])plot([v2 v3],[p2 p3])plot([v4 v1],[p4 p1])