利用matlab绘制流场中的流线

利用matlab绘制流场中的流线,表示出驻点位置。

目录

  • 利用matlab绘制流场中的流线,表示出驻点位置。
    • 前提:已知流函数和势函数(空气动力学)
    • 三个案例分析
    • 感谢参考

前提:已知流函数和势函数(空气动力学)

代码如下

// 流函数绘制
clear all;
%等势面方法
[x2,y2]=meshgrid(-3:0.05:3,-3:0.05:3);
%直匀流+点源
%P=x2+log(x2.^2+y2.^2);Q=y2+atan(y2./x2);
%圆柱无环量绕流
%P=x2+x2./(x2.^2+y2.^2); Q=y2-y2./(x2.^2+y2.^2);
%兰金卵形
%势函数P
P=0.5*log((x2-1).^2+y2.^2)-0.5*log((x2+1).^2+y2.^2)+1*x2;
%流函数Q
Q=atan(y2./(x2-1))-atan(y2./(x2+1))+1*y2;
[u2,v2]=gradient(P);
max(abs(curl(x2,y2,u2,v2)),[],'all');
figure
hold on
pcolor(x2,y2,P)%势函数
shading interp
d = 8;dd = 10;%d用来调整箭头的间距,dd用来调整箭头长短
quiver(x2(1:d:end,1:d:end),y2(1:d:end,1:d:end),u2(1:d:end,1:d:end)'./dd,v2(1:d:end,1:d:end)'./dd,'color','r')%画箭头
contour(x2,y2,Q,'LineColor','k','LineWidth',0.8,'LevelList',linspace(-50,50,500))%调节线的稠密程度
text(0,-1,'x','color','w','FontSize',10);
text(0,1,'x','color','w','FontSize',10);%标注驻点位置
%text(0.5,0,'x','color','w','FontSize',10);
%text(-0.5,0,'x','color','w','FontSize',10);
hold off

// 流函数绘制
clear all;
%等势面方法
[x2,y2]=meshgrid(-3:0.05:3,-3:0.05:3);
%直匀流+点源
%P=x2+log(x2.^2+y2.^2);Q=y2+atan(y2./x2);
%圆柱无环量绕流
%P=x2+x2./(x2.^2+y2.^2); Q=y2-y2./(x2.^2+y2.^2);
%兰金卵形
%势函数P
P=0.5*log((x2-1).^2+y2.^2)-0.5*log((x2+1).^2+y2.^2)+1*x2;
%流函数Q
Q=atan(y2./(x2-1))-atan(y2./(x2+1))+1*y2;
[u2,v2]=gradient(P);
max(abs(curl(x2,y2,u2,v2)),[],'all');
figure
hold on
pcolor(x2,y2,P)%势函数
shading interp
d = 8;dd = 10;%d用来调整箭头的间距,dd用来调整箭头长短
quiver(x2(1:d:end,1:d:end),y2(1:d:end,1:d:end),u2(1:d:end,1:d:end)'./dd,v2(1:d:end,1:d:end)'./dd,'color','r')%画箭头
contour(x2,y2,Q,'LineColor','k','LineWidth',0.8,'LevelList',linspace(-50,50,500))%调节线的稠密程度
text(0,-1,'x','color','w','FontSize',10);
text(0,1,'x','color','w','FontSize',10);%标注驻点位置
%text(0.5,0,'x','color','w','FontSize',10);
%text(-0.5,0,'x','color','w','FontSize',10);
hold off

三个案例分析

均为水平来流从左到右 V ∞ V_{∞} V ,左汇-Q(-a,0),右源Q(a,0)
- case 1
利用matlab绘制流场中的流线_第1张图片
驻点在y轴上,Q/ π \pi πa> V ∞ V_{∞} V

- case 2
利用matlab绘制流场中的流线_第2张图片
驻点在(0,0)Q/ π \pi πa= V ∞ V_{∞} V

- case 3
利用matlab绘制流场中的流线_第3张图片

驻点在x轴,Q/ π \pi πa< V ∞ V_{∞} V

感谢参考

1、matlab网站
2、csdn流场可视化

你可能感兴趣的:(matlab,可视化)