Please help me to solve this problem!
1 次查看(过去 30 天)
显示 更早的评论
I have been asked to calculate vorticity of three velocity components u, v & w. I have attached .txt file for the same. As I knew curl does the same in MATLAB. Hence i tried these lines of code:
u=VarName1;
>> v=VarName2;
>> w =VarName3;
>> Ulin =linspace(min(u),max(u),33);
>> Vlin =linspace(min(v),max(v),33);
>> Wlin =linspace(min(w),max(w),33);
>> [U,V,W]=meshgrid(Ulin,Vlin,Wlin);
>> [CURLX, CURLY, CURLZ, CAV] = curl(U,V,W);
But when I type CURLX all are showing zero values...
0 个评论
回答(2 个)
Roger Stafford
2014-2-11
By the way you have defined U, V, and W, they must have a curl of identically zero. There can be no vorticity. That is because U = (max(u)-min(u)/32*x, V = (max(v)-min(v)/32*y, and W = (max(w)-min(w)/32*z, so all the partial derivatives that go to make up the curl must be zero: dU/dy = dU/dz = dV/x = dV/dz = dW/dx = dW/dy = 0.
3 个评论
Roger Stafford
2014-2-13
You will need to use the 'curl' function in the form
[curlx,curly,curlz] = curl(X,Y,Z,U,V,W);
unless your X, Y, and Z are unit-spaced (see the documention.) The X, Y, Z need to be monotonic and in a form as if produced by 'meshgrid' though the spacing can be variable. These represent positions in the field, while U, V, and W represent the corresponding x, y, and z components of the vector field at these positions.
If your points are so numerous that you are running out of memory, you will have to do the computation in small enough sections of the field that you don't run out of memory. However, be aware that since the curl of the field is also a vector field, it will occupy just as much memory as the three arrays U, V, and W do.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!