CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Post-Processing (https://www.cfd-online.com/Forums/openfoam-post-processing/)
-   -   Reynolds Stress Tensor (https://www.cfd-online.com/Forums/openfoam-post-processing/87105-reynolds-stress-tensor.html)

Sergio13 April 11, 2011 12:42

Reynolds Stress Tensor
 
Hello Foamers
I am quite new to CFD and OpenFoam, and I was wondering if someone can help me with this:

How can be calculated / displayed the Reynolds Stress Tensor, in order to, say, calculate the stresses at a given point of the domain.

Please also note that I am using a LES turbulence model

Thanks in advance for your help

longamon April 11, 2011 13:29

In the controlDict, the last part you can choose to add functions:
Code:

functions
{
    fieldAverage1
    {
        type            fieldAverage;
        functionObjectLibs ( "libfieldFunctionObjects.so" );
        enabled        true;
        outputControl  timeStep;
        outputInterval  100;
        fields
        (
            U
            {
                mean        on;
                prime2Mean  on;
                base        time;
            }

            p
            {
                mean        on;
                prime2Mean  off;
                base        time;
            }
        );
    }
}

I'm pretty sure UPrime2Mean is the Reynolds stress tensor, (if its not, somebody please correct me)

This function will give a symmetric tensor field with 6 components for the times you choose.

Sergio13 April 12, 2011 10:42

Hi David, thanks for your answer. I will try it.

On the other hand, checking commands, I found stressComponents and typed it. The thing, is that it created at each time step a sigmaxx, sigma xy.... sigmazz files. However when I opened any of those files the units I found are [0 2 -2 0 0 0 0], while I was expecting [1 -1 -2 0 0 0 0].

Do you, or any other foamer have something to say about this?

Thanks

longamon April 12, 2011 12:55

In its source code, stressComponents is defined as:

laminarTransport.nu()*2*dev(symm(fvc::grad(U)))

so I guess its the deviatoric stress tensor divided by the density, hence the units [0 2 -2 ...]
These stress components are different than the Reynolds stresses:
Re Stresses: velocity fluctuation.
Dev. Stresses: deformation.

Sergio13 April 12, 2011 14:01

Gracias David

The tech support folks from OpenFoam, have said the following about this issue
stressComponents was written for incompressible laminar flow. For LES you need to accumulate the Reynolds stress by averaging during the run.

Take a look at stressComponents.C and you will see how the stress is calculated;
it is a kinematic rather than dynamic stress.
It looks as if it is time for this newbie to dig into the programming aspects of OpenFoam (auch!!!)

Sergio13 April 12, 2011 14:20

It finally makes some sense:

Tau= mu*dV/dy

stressComponents uses nu [m2 s-1] instead of mu [kg m-1 s-1], and that is the reason why the stress tensor yields [m2 s-2]

However I still need to know how to calculate the stress tensor components

longamon April 13, 2011 03:23

If you need to calculate the Re stress tensor use the info in my first post, at the end of control dict add the fieldaveraging function, UPrime2mean gives the Re stress tensor.

I'm also a newbie at foam and programing, but I have digged several times into the source codes.

Have fun :)

wzx1989221 April 18, 2014 07:30

Hi David,

I saw you post about the Reynolds stress tensor. I also found that UPrime2mean yielded six columns which should be stress tensor. I was just wondering how I can get the RMS value from the UPrime2mean file. Hope you can give me some hints.

Thank you very much.

Kind regards,
Tony

alekhine January 4, 2017 10:06

Hey David,

This is quite an old post but maybe I'm lucky and get a reply. I want to plot the Reynolds stress versus the normal wall direction at a specific point. To do so, I used the post process utilities of OpenFOAM (simpleFoam -postProcess -func R -latestTime) but I cannot sample this tensor along a line.
(see my post here https://www.cfd-online.com/Forums/op...rmal-wall.html)

I thought I can use your option which is to write the UPrime2Mean using your proposed function above. However, comparing the Reynold stress that I got from the post process utility and UPrime2Mean, there is quite a difference. Any idea why?

Cheers,
Dimitri

farshadexp September 5, 2019 11:20

Hi All
I wish you guys could help me with my problem.
I use following code in controlDict to calculate reynolds stress tensors. But these values are not shown in paraFoam, though they are calculated and reported in relevant file. Can anybody help me??


Code:

functions
{
    #includeFunc  R

    fieldAverage1
    {
        type            fieldAverage;
        functionObjectLibs ( "libfieldFunctionObjects.so" );
        enabled        true;
        outputControl  timeStep;
        outputInterval  100;
        fields
        (
            U
            {
                mean        on;
                prime2Mean  on;
                base        time;
            }

            p
            {
                mean        on;
                prime2Mean  off;
                base        time;
            }
        );
    }
}


Gang Wang April 27, 2020 15:28

Quote:

Originally Posted by longamon (Post 303376)
If you need to calculate the Re stress tensor use the info in my first post, at the end of control dict add the fieldaveraging function, UPrime2mean gives the Re stress tensor.

I'm also a newbie at foam and programing, but I have digged several times into the source codes.

Have fun :)

Hi!

Thanks for ur excellent post about UPrime2Mean and Reynolds Stress, In your previous post, I noticed you said UPrime2Mean (including 6 components: xx xy xz yy zz yz) is exactly the Reynolds Stress. Are u sure about that? Do you have reference about this? I, sorry because I know it's really an old thread.

Best regards,
Gang Wang

cjc96 May 8, 2020 12:07

Quote:

Originally Posted by Gang Wang (Post 767599)
Hi!

Thanks for ur excellent post about UPrime2Mean and Reynolds Stress, In your previous post, I noticed you said UPrime2Mean (including 6 components: xx xy xz yy zz yz) is exactly the Reynolds Stress. Are u sure about that? Do you have reference about this? I, sorry because I know it's really an old thread.

Best regards,
Gang Wang

Hey Gang,
Hopefully my (no longer very recent) thread will answer your question.

In a LES simulation for example, 'Uprime2Mean' provides the Reynolds Stress Tensor of the resolved flow, while 'R' provides the sub-grid (modelled) tensor.

Gang Wang May 11, 2020 05:40

Quote:

Originally Posted by cjc96 (Post 769473)
Hey Gang,
Hopefully my (no longer very recent) thread will answer your question.

In a LES simulation for example, 'Uprime2Mean' provides the Reynolds Stress Tensor of the resolved flow, while 'R' provides the sub-grid (modelled) tensor.

Hi!

I suppose you are right. So in LES, if we would like to compute the percentage of the resolved part of reynolds stress, it should be tr(UPrime2Mean) / (tr(UPrime2Mean)+tr(R) ). Am I right about this?

Best,
Gang


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