Advertisement
Guest User

Untitled

a guest
Feb 17th, 2019
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 3.52 KB | None | 0 0
  1. function varma1(a,b,w,v)
  2.     %Viljum adeins loglegar staerdir
  3.     if(b <= a)
  4.         disp('Armur a verdur ad vera styttri en armur b');
  5.         return
  6.     elseif(w < 0)
  7.         w = abs(w);
  8.     elseif(v < 0)
  9.         disp('R?mm?l brunaholfsins verdur ad vera staerra en 0');
  10.         return
  11.     end
  12.    
  13.     % Eiginleikar lofts
  14.     cp = 1.006;
  15.     cv = 0.7177;
  16.     n = cp/cv;
  17.    
  18.     % Eiginleikar brunans
  19.     H_comb = 47.8; %Brennsluvarmi oktans i kJ/g, reiknad ut fra 5460 kJ/mol
  20.     m_air = 0.001225*(0.5 + v); %density*volume (i litrum)
  21.     M_air = 0.029; %molmassi = kg/mol
  22.     n_air = m_air/M_air; %molfjoldi lofts
  23.     %C_8H_18 + 12.5O_2 = 47.8 kJ/g
  24.    
  25.     n_octane = n_air/12.5; %molfjoldi oktans
  26.     M_octane = 114.23; %g/mol
  27.     m_octane = n_octane*M_octane; %massi oktans
  28.     Q = m_octane*H_comb*0.4*0.21; %Oxygen 21% of air, 40% efficiency
  29.    
  30.     % Reikna max horn alpha ? TDC/BDC me? P??ag?ras
  31.     max_alpha = atan(a/sqrt(b^2-a^2));
  32.     w1 = w;
  33.     w2 = (max_alpha/pi)*w;
  34.    
  35.     % Breytingar
  36.     dtheta = 2*pi/360;
  37.     dV = 0.0005/180; %Notum m3 i stadinn fyrir l
  38.  
  39.     % Faersla stimpils
  40.     dt = dtheta/w;
  41.     dx = 2*a*(w/(2*pi))*dt;
  42.     S = 2*a;
  43.    
  44.     % Horn i TDC (I upphafi)
  45.     alpha = 0;
  46.     beta = pi;
  47.     dalpha = max_alpha/pi;
  48.     dbeta = dtheta;
  49.    
  50.     % Astand 1
  51.    
  52.     W = 0;
  53.     for i = 1:1
  54.         for theta = linspace(0,2*pi,360)
  55.             alpha = asin((sin(theta)*a)/b);
  56.             phi = pi - alpha - theta; %Hornid milli a og b
  57.             varmaplot1(a,b,beta,S,v) %Hreyfimynd
  58.             if(theta-pi<0.01 && theta-pi>0)
  59.                 % ORKA BRUNA - ORKA INN I KERFI
  60.                 T2 = (Q+m_air*cv*T(length(T)))/(m_air*cv); %Lokahiti
  61.                 P2 = (P(length(P))/T(length(T)))*T2; %Lokathrystingur vid fast rummal
  62.                 P = [P P2];
  63.                 V = [V V(length(V))];
  64.                 T = [T T2];
  65.             elseif(theta == 2*pi)
  66.                 P = [P P(1)];
  67.                 V = [V V(length(V))];
  68.                 T = [T T(1)];
  69.             elseif(theta >= 0 && theta <= pi-dtheta)
  70.                 % Samthjoppun
  71.                 if(theta == 0)
  72.                     P = [100];  
  73.                     V = [0.0005+(v/1000)];
  74.                     R = 0.2871;
  75.                     T = [(P(1)*V(1))/(m_air*R)];
  76.                 else
  77.                     vt = V(length(V))-dV;
  78.                     P = [P P(length(P))*(V(length(V))/vt)^n];
  79.                     T = [T (P(length(P))*V(length(V)))/(m_air*R)];
  80.                     V = [V vt];
  81.                     S = S - dx;
  82.                 end
  83.             elseif(theta >= pi && theta <= 2*pi)
  84.                 % Uthensla
  85.                 vt = V(length(V))+dV;
  86.                 P = [P P(length(P))*(V(length(V))/vt)^n];
  87.                 T = [T ((P(length(P))*vt))/(m_air*R)];
  88.                 V = [V vt];
  89.                 S = S + dx;
  90.             end
  91.  
  92.             if(alpha == max_alpha || alpha == -max_alpha)
  93.                 dalpha = -dalpha;
  94.             end
  95.             alpha = alpha + dalpha;
  96.             beta = beta - dbeta;
  97.             W = W + abs(P(length(P))*(0.5e-3/a)*sin(phi));
  98.         end
  99.     end
  100.     fprintf('Shaft work: %.2f kJ \n', W)
  101.     close all
  102.    
  103.     plot(V,T)
  104.     xlim([(v/1000)*0.5 1.2*max(V)])
  105.     ylim([0 1.2*max(T)])
  106.     xlabel('Volume (m3)')
  107.     ylabel('Temperature (K)')
  108.     title('TV graph')
  109.    
  110.     figure
  111.     plot(V,P)
  112.     xlim([(v/1000)*0.5 1.2*max(V)])
  113.     ylim([0 1.2*max(P)])
  114.     xlabel('Volume (m3)')
  115.     ylabel('Pressure (kPa)')
  116.     title('PV graph')
  117.    
  118. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement