# How to plot a 3D vortex flow

26 views (last 30 days)
Prashan Beddagana on 2 Sep 2021
I have been given a set of large data for an airfoil. Where i have a mesh file of X,Y,Z Coordinates and data file of its velocity map as Xi,Yi,Zi,Ui,Vi,Wi at a given timestep. I want to be able to plot a 3D Vortex structure on the suction side of the airfoil ( something similar to the images below) but i am unsure how to do this. I have tried using the curl function but i think my code is wrong and gives me an error saying 'contour not rendered for non-finite Zdata). Please could someone guide me in the right direction to how to approach this.
##### 5 CommentsShow 3 older commentsHide 3 older comments
Prashan Beddagana on 2 Sep 2021
@KSSV i have tried using it, but when i try run the code it gives me an error of u,v,w must all be a 3d arrays
KSSV on 2 Sep 2021

Sign in to comment.

### Accepted Answer

Wan Ji on 2 Sep 2021
Edited: Wan Ji on 2 Sep 2021
If you donot have a mesh, then you need to reconstruct your mesh!
X = X(:); Y = Y(:); Z = Z(:); U = U(:); V= V(:); W=W(:);
minX = min(X);
maxX = max(X);
minY = min(Y);
maxY = max(Y);
minZ = min(Z);
maxZ = max(Z);
n = ceil(numel(X)^(1/3))+1;
x = linspace(minX,maxX,n);
y = linspace(minY,maxY,n);
z = linspace(minZ,maxZ,n);
[Xr,Yr,Zr] = meshgrid(x,y,z);
Ur = zeros(size(Xr));
Vr = Ur;
Wr = Ur;
Fu = scatteredInterpolant(X,Y,Z,U,'linear');
Fv = scatteredInterpolant(X,Y,Z,V,'linear');
Fw = scatteredInterpolant(X,Y,Z,W,'linear');
Ur(:) = Fu(Xr(:),Yr(:),Zr(:));
Vr(:) = Fv(Xr(:),Yr(:),Zr(:));
Wr(:) = Fw(Xr(:),Yr(:),Zr(:));
[sx,sy,sz] = meshgrid(linspace(minX,maxX,11),linspace(minY,maxY,11),linspace(minZ,maxZ,11));
streamline(stream3(Xr,Yr,Zr,Ur,Vr,Wr,sx,sy,sz))
##### 4 CommentsShow 2 older commentsHide 2 older comments
Wan Ji on 2 Sep 2021
Hi, I have recieved your email but I dont know how to reply@Prashan Beddagana
Prashan Beddagana on 2 Sep 2021
@Wan Ji I sent you another message

Sign in to comment.

### Categories

Find more on Vector Fields in Help Center and File Exchange

### Community Treasure Hunt

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

Start Hunting!