Project

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])
Your portfolio, next

Ship work like this
in your own course.

Talk to a career counsellor

Free 20-minute call. We'll map the right course to where you want to work.

By submitting you agree to our Terms and Privacy Policy.

Talk to a career counsellor

Free 20-minute call. We'll map the right course to where you want to work.

By submitting you agree to our Terms and Privacy Policy.