CFD Online Discussion Forums

CFD Online Discussion Forums (
-   OpenFOAM (
-   -   Transformation of a cartesian velocity gradient volTensorField to cylindrical coord. (

alexey7783 June 24, 2009 16:11

Transformation of a cartesian velocity gradient volTensorField to cylindrical coord.
Hi Community,

my name is Alex and I'm a PhD student at the University of Erlangen-Nuremberg. Well, my PhD thesis comprises some numerical simulations, namely the outflow of a non-newtonian fluid from a cylindroconical vessel.

My "problem" now is the following. I need the shear rates that occur in this vessel. As this setup is axisymmetric, the best would be to get the shear rates in cylindrical coordinates. The flow in the cylindrical part (like in a tube) only has a axial velocity component, the angular and radial velocities are zero. Only in the conical part radial components occur. I am mostly interested in d(Uz)/dr, which is the shear rate of interest.

Is it possible to transform the cartesian gradient of the velocity into it's corresponding cylindrical counterpart? Does a simple coordinate transformation the job? If yes, how do I do that? I am not a professional programmer, the only thing that helps me is my basic java knowledge.

I searched the forum, and the only things I can find are not useful.

I would really appreciate your help and I am looking forward to your answers!!!

Best regards


alexey7783 June 25, 2009 11:19

Hi again,

perhaps I should concretize my question, so it is easier for you to answer.

So what i need is the shear rate in this vessel with the outflowing non-newtonian fluid. Mainly I am interested in d(Uz)/dr which is the L31 of the gradient tensor of the velocity field in cylindrical coordinates. My simulation yields the velocity in cartesian coordinates. For me the most reasonable way would be to transform the velocity in cartesian to cylindrical coordinates and than take the appropriate definition of the gradient of the velocity vector (meaning in cylindrical coordinates).

My concern is, if I take the transformed velocity vector (which is one thing I need to know how to do it, or better to say if it is already implemented) and then define a volTensorField L with grad(U) than the code uses the definition of the gradient of U in cartesian coordinates. Or is this fear without any reason because I can tell the code that this vector is in cylindrical coordinates and it takes
the right derivation on its own?

After solving this topic I will store the field values in a file to view it with paraView, which is already working (with the L31 entry in cartesian coordinates). Than I want to write a script which extrakts the mean shear stress, the standard deviation, the minimum and maximum value and perhaps the median. Are there already functions implemented that calculate the median and the standard deviation? The others I found already, and for the standard deviation it shouldn't be a big problem to compute this, but if it is already implemented...

Now I hope you get my point. It would be very kind and nice if you are able to help me!

Thanks very much in advance and my best regards!!


CaroVandame April 25, 2012 14:23

I know this thread is quite old, but any chance you found how to get the velocity vector components in a cylindrical coordinate system from the cartesian coordinates?

lovecraft22 April 25, 2012 18:03

What about using the calculator in paraview to do the math?

CaroVandame April 26, 2012 18:20

I'm running OpenFoam on a virtual machine so I'm trying to avoid Paraview. But thanks for the tip, I'll look into it

lovecraft22 April 26, 2012 18:29

I'm running it on a virtual machine as well. I created a shared folder so that once the case has run I can access the data using paraview from the host system.

Just so that you know, sometimes, working on a shared folder, can led to some errors due to missing files (that are not missing at all). It0s just a matter of unmounting and remounting the shared folder.

All times are GMT -4. The time now is 03:35.