No BSD License  

Highlights from
Numerical Analysis and Graphic Visualization with MATLAB

aft_shk.m
% FINDING SHOCK LOCATION BY INTERPOLATION
% Used in GuiDm_18
for j=ithro+1:n
  if (p_exs(j-1)-pr_ex)*(p_exs(j)-pr_ex) <0
    CC=(pr_ex-p_exs(j-1))/(p_exs(j)-p_exs(j-1));
    a_shk= ar(j-1) + (ar(j)-ar(j-1))*CC;
    x_shk= x(j-1) + (x(j)-x(j-1))*CC;
    T1_shk = T_su(j-1) + (T_su(j) - T_su(j-1))*CC;
    T2_shk = T_afs(j-1) + (T_afs(j) - T_afs(j-1))*CC;
    p_02int= p_02(j-1) + (p_02(j)-p_02(j-1))*CC;
%   [p_exs(j),p_exs(j-1),pr_ex];
%   [ar(j),ar(j-1),a_shk];
%   [x(j),x(j-1),x_shk];
%   [p_02(j),p_02(j-1),p_02int];
    break
  end
end
ar_shk=a_shk;







for i=1:n-1
  if x(i) <= x_shk & x_shk < x(i+1)
     i_shk=i+1; break 
  end    % shock in between i_shk-1 and i_shk
end
%
M1_shk = interp1(x(ithro:n), M_su(ithro:n),x_shk,'spline');
M2_shk = sqrt((M1_shk^2 + 5)/(7*M1_shk^2-1));
T_02   = T2_shk*(1+0.2*M2_shk^2);
p1_shk = interp1(x(ithro:n)',  pr_su(ithro:n)',x_shk,'spline');
p2_shk = p1_shk*(1.1666*M1_shk^2 - 0.16666);
p02_shk = p2_shk*( 1 + 0.2*M2_shk^2)^(1.4/0.4);
p_ratio = p2_shk/p1_shk;
p0rat=p2_shk/p02_shk;

    At1= (0.83333*(1+0.2*M1_shk^2)).^3/M1_shk ;
    At2= (0.83333*(1+0.2*M2_shk^2)).^3/M2_shk ;

    A_star2=ar_shk/At2;
Ma_shk=M_su;
pa_shk=pr_su;
Ta_shk=T_su;
for i=i_shk:n
   Ma_shk(i) = mach_(ar(i)/A_star2,  0);
   pa_shk(i)=p02_shk*( 1 + 0.2*Ma_shk(i).^2).^(-alph);
   Ta_shk(i)=T_02/(1 + 0.2*Ma_shk(i).^2);
end
%
xd=[x(1:i_shk-1),x_shk,x_shk, x(i_shk:n)];
Md=[Ma_shk(1:i_shk-1),M1_shk,M2_shk, Ma_shk(i_shk:n)];
pd=[pa_shk(1:i_shk-1),p1_shk,p2_shk, pa_shk(i_shk:n)];
Td=[Ta_shk(1:i_shk-1),T1_shk,T2_shk, Ta_shk(i_shk:n)];
subplot(hax1);
plot(xd,pd,'-',x,pr_sb,':g', x,pr_su,':r',...
      [x(n),x(n)+2],[pr_ex,pr_ex],'-r')
axis([0,12,0,2])
    ylabel('pressure ratio')
    xlabel('x')
    text(1,1.5,['exit pressure = ',num2str(pa_shk(n))])

subplot(hax4);


plot(xd,Md,'-',x,M_sb,':g',x,M_su,':r')
axis([0,12,0,3])
    ylabel('Mach number')
    xlabel('x')
    text(1,2.5,['exit Mach = ',num2str(Ma_shk(n))])

pa_exit=pa_shk(n);




subplot(hax2);


plot(xd,Td,'-',x,T_sb,':g',x,T_su,':r')
axis([0,12,0,1.5])
    ylabel('Temperature')
    xlabel('x')
    text(1,1.2,['exit temperature = ',num2str(Ta_shk(n))])





Contact us at files@mathworks.com