How to locate the vortex eyes in a vector field without using the data cursor and find the circulation around the eye.

9 次查看(过去 30 天)
greetings of the day
I am unable to extract the velocity values around the vortex eye inside a closed contour, so a to get the circulation. Dose anyone know how to isolate the velocity contour containg the vortex eye and find the circulation it. Ihave a .mat file of the velocity vector feild. I have calculated the curl but the i think its for the whole vector feild not at the particular region of recirculation . heres my code;
clear all
close all
load('B00001_X0_70_AvgV.mat')
x=x1';
y=y1';
vy=vy';
figure
contour(x,y,vy,15,'linewidth',1,'linecolor','b')
hold on
sr=surf(x,y,vy);
sr.EdgeColor='none';
sr.FaceColor='interp';
sr.FaceAlpha=0.8;
% [c,h]=contourf(x,y,vy,[0,-30.46],'linewidth',2);
contour(x,y,vy,[0,-30.46],'linewidth',1,'linecolor','k');
qv=quiver(x,y,vx',vy,'Color','k');
qv.LineWidth=2;
qv.AutoScaleFactor=1.5;
grid off
figure
surf(x,y,curl(vx',vy))
view(2)
% [curlx,curly,cav]=curl(x,y,vy);
%%It would be of great help if i can get some leads on it.
thanks

采纳的回答

darova
darova 2020-1-15
You want to find velocities inbetween [0,-30.46]. So just select appropriate indices:
idx = -30.46 < vy & vy <= 0;
vy1 = vy;
vy1(~idx) = nan;
surf(x,y,vy1)
img1.png
Maybe interpolation will be needed
x2 = linspace(min(x),max(x),100);
y2 = linspace(min(y),max(y),100);
[X2,Y2] = meshgrid(x2,y2);
vy2 = interp2(x,y,vy,X2,Y2);
idx = -30.46 < vy2 & vy2 <= 0;
vy2(~idx) = nan;
surf(X2,Y2,vy2)
img2.png
  3 个评论
Ashfaq Ahmed
Ashfaq Ahmed 2022-4-25
hi @raj sekhar could you kindly let me know how did you find the location of the center of the vortex using the local maxima method? I am stack at the similar problem and it would be a great help if you kindly share your ideas.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Language Fundamentals 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by