Question

CONVERT THE FOLLOWING MATLAB CODE FROM SOURCE PANEL METHOD TO VORTEX PANEL METHOD: clc;clear all;...

CONVERT THE FOLLOWING MATLAB CODE FROM SOURCE PANEL METHOD TO VORTEX PANEL METHOD:

clc;clear all;close all;

Vinf=100; % freestream velocity

R=1; % cylinder radius

n=4; % number of panels

alpha=2; % angle of attack

dtheta=2*pi/n;

theta=pi+pi/n:-dtheta:-pi+pi/n;

X=R*cos(theta);

Y=R*sin(theta);

for i=1:n

% angle of flow with tangent of panel

phi(i)=-alpha+atan2((Y(i+1)-Y(i)),(X(i+1)-X(i)));

% angle of flow with normal of panel

beta(i)=phi(i)+pi/2;

x_mid(i)=(X(i+1)+X(i))/2;

y_mid(i)=(Y(i+1)+Y(i))/2;

S(i)=sqrt((Y(i+1)-Y(i))^2+(X(i+1)-X(i))^2);

end

% Source Panel Method

for j=1:n

neighbors(:,j)=[1:j-1 j+1:n];

xi=x_mid(j);

yi=y_mid(j);

for i=1:n-1

m=neighbors(i,j);

Xj=X(m);

Yj=Y(m);

Xj1=X(m+1);

Yj1=Y(m+1);

A=-(xi-Xj)*cos(phi(m))-(yi-Yj)*sin(phi(m));

B=(xi-Xj)^2+(yi-Yj)^2;

C=sin(phi(j)-phi(m));

D=(yi-Yj)*cos(phi(j))-(xi-Xj)*sin(phi(j));

E=sqrt(B-A^2);

Sj=S(m);

I(j,m)=C/2*log((Sj^2+2*A*Sj+B)/B)+(D-A*C)/E*(atan2((Sj+A),E)-atan2(A,E));

J(j,m)=(D-A*C)/2/E*log((Sj^2+2*A*Sj+B)/B)-C*(atan2((Sj+A),E)-atan2(A,E));

end

F(j,1)=Vinf*cos(beta(j));

end

M=I/2/pi+eye(n)/2;

lambda=-inv(M)*F;

V=Vinf*sin(beta)+lambda'/2/pi*J';

Cp=1-(V/Vinf).^2

angles=min(beta):0.01:max(beta);

Cp_exact=1-4*sin(angles).^2;

figure(1);

plot(R*cos(0:0.01:2*pi),R*sin(0:0.01:2*pi),'b',X,Y,'r',x_mid,y_mid,'k^');

axis equal;legend('Exact Shape','Panel approximation','Control Points');

figure(2);

plot(angles,Cp_exact,'b',beta,Cp,'k^');grid;

legend('C_p (exact)', 'C_p (Source Panel Method)');

0 0
Add a comment Improve this question Transcribed image text
Answer #1

clc;clear all;close all;
Vinf=30;
R=1;%cylinder radius
n=100;%number of panels
dtheta=2*pi/n;
alfa=0;%angle of attack;
theta=pi+pi/n:-dtheta:-pi+pi/n;%central angle
X=R*cos(theta);
Y=R*sin(theta);
for index=1:n
%angle of flow with tangent of panel
phi(index)=-alfa+...
atan2((Y(index+1)-Y(index)),(X(index+1)-X(index)));
%angle of flow with normal of panel
beta(index)=phi(index)+pi/2;
midpoint_x(index)=(X(index+1)+X(index))/2;
midpoint_y(index)=(Y(index+1)+Y(index))/2;
S(index)=sqrt((Y(index+1)-Y(index))^2+...
(X(index+1)-X(index))^2);%length of panel
end
%The Source Panel Method
for p=1:n
neighbors(:,p)=[1:p-1 p+1:n];
xi=midpoint_x(p);
yi=midpoint_y(p);
for index=1:n-1
m=neighbors(index,p);
Xj=X(m);
Yj=Y(m);
Xj1=X(m+1);
Yj1=Y(m+1);
A=-(xi-Xj)*cos(phi(m))-(yi-Yj)*sin(phi(m));
B=(xi-Xj)^2+(yi-Yj)^2;
C=sin(phi(p)-phi(m));
D=(yi-Yj)*cos(phi(p))-(xi-Xj)*sin(phi(p));
E=sqrt(B-A^2);
Sj=S(m);
I(p,m)=C/2*log((Sj^2+2*A*Sj+B)/B)+...
(D-A*C)/E*(atan2((Sj+A),E)-atan2(A,E));
J(p,m)=(D-A*C)/2/E*log((Sj^2+2*A*Sj+B)/B)...
-C*(atan2((Sj+A),E)-atan2(A,E));
end
F(p,1)=Vinf*cos(beta(p));
end

M=I/2/pi+eye(n)/2;

lambda=-inv(M)*F;
fprintf('The sum of all sources is %f',lambda'*S');%check sum

%Recoving velocity at the nodes
V=Vinf*sin(beta)+lambda'/2/pi*J';

Cp=1-(V/Vinf).^2;
angles=min(beta):0.01:max(beta);
Cp_exact=1-4*sin(angles).^2;
subplot(1,2,1);plot(R*cos(0:0.01:2*pi),R*sin(0:0.01:2*pi),'b',...
X,Y,'r',midpoint_x,midpoint_y,'g^');axis equal;
legend('Exact Shape','Panel approximation','Control Points')
subplot(1,2,2);plot(angles,Cp_exact,'b',beta,Cp,'r^');grid;
legend('C_p (exact', 'C_p (Source Panel Method)');

Add a comment
Know the answer?
Add Answer to:
CONVERT THE FOLLOWING MATLAB CODE FROM SOURCE PANEL METHOD TO VORTEX PANEL METHOD: clc;clear all;...
Your Answer:

Post as a guest

Your Name:

What's your source?

Earn Coins

Coins can be redeemed for fabulous gifts.

Not the answer you're looking for? Ask your own homework help question. Our experts will answer your question WITHIN MINUTES for Free.
Similar Homework Help Questions
  • I need to create a MATLAB function, bvp_solve.m, to approximate the solution y(x). The function takes...

    I need to create a MATLAB function, bvp_solve.m, to approximate the solution y(x). The function takes the number of grid points n as an input. The outputs are grid vector x and the solution vector y %% This is the function i have so far: function [xi, yi] = bvp_solve(n) % BVP_SOLVE computes the solution y(x) of a two-point boundary value problem % using finite difference method (FDM). % The governing equation is % y''' = -y + (x -...

  • 2. Show that W can be written as where U is the number of pairs (Xi,...

    2. Show that W can be written as where U is the number of pairs (Xi, Yj) with X, < Y,. In other words n m U=ΣΣ1," where ,j -(0 otherwise. i=1 j=1 Hint: Let Yi),Ya),... , Ym) be the order statistics for the y-sample. Then U is the number of pairs (Xi,Yu)) with Xi 〈 YG). For fixed j , the number of Xi with Xi 〈 Yu) is just the rank of Y (j) minus the number of...

  • please provide matlab solution too 3. Butterball recommends the following cooking times for turkeys at 325...

    please provide matlab solution too 3. Butterball recommends the following cooking times for turkeys at 325 °C. size, (lbs) un-stuffed t, (h) stuffed t, (h) 2.00 2.25 6. 2.50 2.75 10 3.00 3.50 18 3.50 4.50 22 4.00 5.00 24 4.50 5.50 30 5.00 6.25 (a) Plot the recommended cooking time as a function of turkey size for un-stuffed and stuffed turkeys on the same plot. (b) For each of the two menu options, find the third-order interpolating polynomial (by...

  • In matlab I have created the following function that calculates the distance a projectile travels when...

    In matlab I have created the following function that calculates the distance a projectile travels when shot from a cannon given initial velocity and theta. function [distance, xplot, yplot] = Cannon_lab8(V, theta) g = -9.81; % gravity m/s^2 k = 0.35; % drag coefficient Vx = V*cos(theta); %velovity in x-direction Vy = V*sin(theta); %velovity in y-direction dt = 0.01; % seconds, time step x = 0; y = 0; xplot(1) = 0; yplot(1) = 0; i = 2; while y...

  • In matlab I have created the following function function [distance, xplot, yplot] = Cannon_lab8(V, theta) %...

    In matlab I have created the following function function [distance, xplot, yplot] = Cannon_lab8(V, theta) % the function calculates the distance a projectile travels when shot from % a cannon given initial velocity and theta. g = -9.81; % m/s^2 k = 0.35; % drag coefficient Vx = V*cos(theta); Vy = V*sin(theta); dt = 0.01; % seconds x = 0; y = 0; xplot(1) = 0; yplot(1) = 0; i = 2; while y >= 0 ax = -k*Vx; ay...

  • The following snippet of code will store the r and y coordinates of 10 points in 4 different row vectors and then plots 5 vectors between certain pairs of those points Show/hide Matlab code snippet 1...

    The following snippet of code will store the r and y coordinates of 10 points in 4 different row vectors and then plots 5 vectors between certain pairs of those points Show/hide Matlab code snippet 1 A-1:5; B A +1/sqrt (2); C = ones(1,5) D C +1/sqrt (2); plot([A; B], [C; D]) axis equal Which of the following statements about the plot produced by the above snippet of Matlab code are correct. The vectors plotted are the vectors from the...

  • PLEASE READ THE NOTE AND FOLLOW FOR THE RIGHT ANSWER !! "Polar form needs to be...

    PLEASE READ THE NOTE AND FOLLOW FOR THE RIGHT ANSWER !! "Polar form needs to be in V=[dr/dt](er)+(r)[d theta/dt](e theta) as shown in the red pen writing. You did not do this for the question that is why you got is wrong. Then for cartesian er=cos(theta)i+sin(theta)j and e(theta)=-sin(theta)i+cos(theta)j. Substitute these two question for er and e(theta) and multiply them by dr/dt and (r) d theta/dt. Add all the i and all the j and you will get your final answer...

  • This is a MATLAB Question. Below is my base code for a Fourier Series of a...

    This is a MATLAB Question. Below is my base code for a Fourier Series of a half triangle wave. So I am being asked to isolate the first 8 components so that only those first 8 components of the half triangle function are calculated by MATLAB fft function, and then afterwards I am asked to do the same thing but with the first 20 components rather than the first 8. How do I isolate the first x number of components...

  • Modify the code for Jacobi_vs_GS.m to implement the Symmetric Gauss-Seidel iteration.

    % Set number of iterations to be performednk = 300% Set parameters alpha and betaalpha = 2;beta  = 3;% Set the number of meshpoints so the interior has N x N such pointsN = 50;% Compute the distance between mesh points, in each directionh = 1/(N+1);% We will have arrays that capture the boundary as well as the interior% meshpoints.  As a result, we need those arrays to be of size (N+2) x% (N+2) so that those indexed 2:N+1, 2:N+1...

  • please solve this with clear answer and details Find the Laplace transform of the following signals...

    please solve this with clear answer and details Find the Laplace transform of the following signals and in each case determine the corresponding region of convergence: 3.4 (a) (b) the signal x(t)=e-ulu(t)-eatu-t)when (i) α > 0, (ii) α→0, a sampled signal Xi (t) = e (t n) CHAPTER 3: The Laplace Transform (c) the "stairs to heaven" signal (d) the sinusoidal signal r(t) [cos(2(1-1)) + sin(2π1)]a(1-1), (e) the signal y(t)=t2e-21 u(t) using that x(t)=tathasx(s)=2/s. Answers: (a) As α → 0,x(t)...

ADVERTISEMENT
Free Homework Help App
Download From Google Play
Scan Your Homework
to Get Instant Free Answers
Need Online Homework Help?
Ask a Question
Get Answers For Free
Most questions answered within 3 hours.
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT