CFD Online Discussion Forums

CFD Online Discussion Forums (
-   OpenFOAM Running, Solving & CFD (
-   -   Problem with volSymmTensorField components (

cedric_duprat December 16, 2008 09:04

Hi all, I've a small questi
Hi all,

I've a small question about tensor components.
I'm playing with a volSymmTensorField, because it's symetric tensor, it has only 6 components.
to get the component of the tensor, I'm using this command: myTensor.component(vector::XX).

I wanted to get (with Info) the value of myTensor.component(vector::ZZ) and I had an error.
(FOAM FATAL ERROR : index out of range#0 ...)

To find the mistake, I ploted 9 components of myTensor in this order: XX, XY, XZ, YX, YY, ... to ZZ
And, I get different value the first sixth one (XX, XY, XZ, YX, YY, YZ) which is not normal. And because of that, ZZ doesn't seems to exist.

My questions are in which order are the component in a symmTensorField ? and ... is it normal to get values for (vector::XY) and (vector::YX) in a symmetric tensor?

Thanks for helping,


cedric_duprat December 16, 2008 12:20

I found a part of my questions
I found a part of my questions, if someone is interrested.
in a volSymmTensorField, there is only the upper triangle which means XX, XY, XZ, YY, YZ, ZZ.
and for the other part of my question, ... I just imagine that my command to get the components of the tensor is not the right one for a symmetric tensor.


sven August 19, 2009 13:20

How to plot components of Symmetric tensor?
Hey Cedric,

I just saw your post and you mention, that you use the command: myTensor.component(vector::XX) to get e.g the first component of a volSymmTensorField named myTensor. I tried the same and wanted to give out this component by


Info<< myTensor.component(vector::XX)
Unfortunately I always get an error saying


XX is not a member of 'Foam::vector'
What am I doing wrong? Thanks a lot!

henrik August 19, 2009 13:40

Dear Sven,

try tensor::XX.


flavio_galeazzo August 20, 2009 05:35

I have faced the same problems with the symmTensor, in the post processing tool stressComponents.C (

Where is myTensor.component(tensor::@@) should be myTensor.component(symmTensor::@@). Then the nummering of the elements is right.

All times are GMT -4. The time now is 11:06.