I have a velocity vector field in axisymmetric coordinate system (r,z), where r is the radius (sqrt(x^2+y^2)) and z is the axis. Suppose we have the following simple axisymmetric vector field:
[ r, z ] = meshgrid( 0.1:0.1:1, 0.1:0.1:1);
ur = ones(size(r));
uz = ones(size(r));
quiver(r, z, ur, uz)
QUIVER function shows the vector field which is exactly similar for all theta due to being axisymmetric. theta is the angle between the radius and x-axis and actually revolves around z-axis. Any theta has a velocity vector field similar to the above code. My questions is:
- How I can map this vector field to three dimensional space? In other words, how can I revolve this vector field and at the same time copy it to other angles to cover 360° and make a three dimensional Cartesian vector field?
- How can I make the result of the mapping a valid MESHGRID data? To achieve this, do I have to do interpolation? Is interpolation the only way? I would like to avoid interpolation because it affects the vector field. My ultimate goal is to be able to use the functions CURL and ISOSURFACE and these functions needs a valid MESHGRID data.
For question#1, to make a three dimensional vector field, I kept 'z' and 'uz' and mapped 'r' and 'ur' to their 'x' and 'y' components by using 'r*cos()' and 'r*sin()'. Unfortunately, this will not yield a valid MESHGRID which I mentioned in question#2.
I would be thankful for any help.