Advertisement
Guest User

lifting_line

a guest
Nov 18th, 2018
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 3.70 KB | None | 0 0
  1.  
  2.  
  3. %%%%%%%%%%%%% TAREFA 2.2 - LIFTING LINE %%%%%%%%%%%%%
  4.  
  5. %           Augusto Morcelli e Jonas Muller.
  6.  
  7.  
  8. Npanels = 90; %número de paineis
  9. ct = 100; %corda na ponta (tip chord)[mm]
  10. cr = 150; %corda do meio[mm]
  11. b = 1000; %envergadura[mm]
  12. S = ((cr+ct)*b/2)*10^(-6); %área alar [m^2]
  13. AR = b^2/S; %Aspect Ratio (alongamento)
  14. y = -b/2:b/Npanels:b/2;
  15. rho_o = 1.1839; %densidade do escoamento a 25ºC[Kg/m^3]
  16. V_o = 3.5; %Vel. inicial do escoamento [m/s]
  17. q_o = 0.5*rho_o*(V_o^2); %pressão dinâmica
  18. n = 1; %fator de carga
  19. m = 1000; %massa [kg]
  20. g = 9.81; %aceleração da gravidade [m/s^2]
  21. W = m*g; %Peso [N]
  22. L_o = n*W; %sustentação
  23. circ_o = 4*L_o/(rho_o*V_o*b*pi); %chute inicial
  24. enflex = atan2((cr/2-ct/2),(y(Npanels/2+1)-y(1))); %angulo de enflexamento
  25. enflex_dg = enflex*180/pi; %angulo de enflexamento em graus
  26.  
  27.  
  28. % enflex_dg = 180; %angulo de enflexamento em graus
  29. % enflex = enflex_dg*pi/180; %angulo de enflexamento
  30.  
  31.  
  32.  
  33. circ = circ_o*sqrt((1-(2.*y./b).^2));
  34.  
  35. plot(y,circ);
  36.  
  37. % x = 2*y/b*ct/2+cr/2
  38.  
  39.  
  40. for i = 1:Npanels+1
  41.      
  42.     if i == Npanels+1
  43.         break
  44.     end  
  45.    
  46.     dcirc_dy(i) = (circ(i+1)-circ(i))./(y(i+1)-y(i));
  47.     dy(i) = y(i+1)-y(i);
  48.    
  49. end
  50.  
  51.  
  52. for i = 1:Npanels
  53.    
  54.     for j = 1:Npanels
  55.                                      
  56.         alpha_indaux(i,j) =(1/(4*pi*V_o)).*dcirc_dy(j).*dy(i)./(y(i) - y(j));
  57.        
  58.         if j == i
  59.            
  60.                 if j == 1
  61.                     alpha_indaux(i,j) = (1/(4*pi*V_o)).*dcirc_dy(j+1).*dy(i)./(y(i) - y(j+1));
  62.                 end
  63.        
  64.                 if j == Npanels
  65.                     alpha_indaux(i,j) = (1/(4*pi*V_o)).*dcirc_dy(j-1).*dy(i)./(y(i) - y(j-1));
  66.                 end
  67.                
  68.                 if (j > 1) && (j < Npanels)
  69.                    
  70.                     alpha_indaux(i,j) = (alpha_indaux(i,j-1)+alpha_indaux(i,j+1))./2;
  71.                    
  72.                 end
  73.            
  74.         end        
  75.     end
  76. end
  77.  
  78. alpha_indaux_dg = alpha_indaux*180/pi;
  79.  
  80. alpha_ind = sum(alpha_indaux,2);
  81. alpha_ind_dg = alpha_ind*180/pi;
  82.  
  83.  
  84. for i = 1:Npanels
  85.     CL_aux(i) = (2/(V_o*S))*circ(i)*dy(i);
  86.     CDi_aux(i) = (2/(V_o*S))*circ(i)*alpha_ind(i).'*dy(i); %.' faz a transposta do vetor para transformar de vetor coluna para vetor linha.
  87.     CDi2_aux(i) = (circ_o*b*pi/(2*V_o*S))*alpha_ind(i).';
  88.     alpha_ind2(i) = CL_aux(i)/(pi*AR);
  89.     L_aux(i) = rho_o*V_o*circ(i)*dy(i); %<<< distribuição de sustentação
  90.     Di_aux(i) = rho_o*V_o*circ(i)*alpha_ind(i).'*dy(i);
  91.     Di2_aux(i) = L_aux(i).'*alpha_ind(i);
  92. end
  93.  
  94. CL = sum(CL_aux); %<<<<< estimativa de CL
  95. CDi = sum(CDi_aux); %<<<<< estimativa de CDi
  96.  
  97. CDi2 = sum(CDi2_aux); %para conferir [XXX]
  98. CDi3 = (CL^2)/(pi*AR); %para conferir
  99. circ_o2 = 2*CL*V_o*S/(b*pi); %para conferir
  100. L = sum(L_aux);%para conferir
  101. Di = sum(Di_aux);
  102. Di2 = sum(Di2_aux);%para conferir
  103. CL2 = L/(q_o*S); %para conferir
  104.  
  105.  
  106. %%%% wingplot %%%%
  107.  
  108. coordinates_up(:,1) = linspace(-b/2, b/2,Npanels+1);
  109. coordinates_up(1:(Npanels/2 +1),2) = linspace(ct/2, cr/2,(Npanels/2)+1);
  110. coordinates_up((Npanels/2 +1):(Npanels+1),2) = linspace(cr/2,ct/2,(Npanels/2)+1);
  111.  
  112.  
  113. coordinates_down(:,1) = coordinates_up(:,1);
  114. coordinates_down(:,2) = -coordinates_up(:,2);
  115.  
  116. for i = 1:Npanels+1
  117.      
  118.     if i == Npanels+1
  119.         break
  120.     end  
  121.    
  122.     faixa(i,1) = (y(i+1)+y(i))/2;
  123.     faixa(i,2) = ((coordinates_up(i,2)+coordinates_down(i,2)));
  124.    % dy(i) = y(i+1)-y(i);
  125.    
  126. end
  127.  
  128. zaxis = zeros(length(faixa),1);
  129.  
  130. figure(2)
  131. plot(coordinates_up(:,1),coordinates_up(:,2),'bo')
  132. hold on;
  133. plot(coordinates_down(:,1),coordinates_down(:,2),'ro')
  134. grid on; grid minor;
  135.  
  136. quiver3(faixa(:,1),zaxis, faixa(:,2),zaxis,zaxis, L_aux.',0.1); %plot da distribuição de sustentação
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement