CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (https://www.cfd-online.com/Forums/openfoam-solving/)
-   -   OpenFOAM: Writing out time-averaged fields to Probes (https://www.cfd-online.com/Forums/openfoam-solving/226438-openfoam-writing-out-time-averaged-fields-probes.html)

yek_irani April 27, 2020 17:24

OpenFOAM: Writing out time-averaged fields to Probes
 
Hello,

The examples of probes in OpenFOAM (e.g. https://cfd.direct/openfoam/user-gui...hs-monitoring/) include examples for the pressure and velocity vector fields.

I am doing LES simulations. I would like to also write out probe values for the time-averaged fields of velocity (<U>, <V> and <W>) and the square of the velocity fluctuations (<u'u'>, <v'v'> and <w'w'>) - actually the TKE which I can derive from the aforementioned fluctuation correlations. I understand that there is a fieldAverage function (https://www.openfoam.com/documentati...d-average.html). But this appears to write out entire field data as opposed to probe data.

Is it possible to do what I am looking for, and if so, can you direct me to the link which provides additional information? I am not a C++ programmmer.

Thank you.

Yann April 28, 2020 03:45

Hello Maziar,

You have already found the fieldAverage funtionObject, allowing to calculate time averaged fields. If you use it on the velocity field, it will create a new variable named UMean.

You can then use the probes function object with UMean as field to achieve what you want.

Just make sure to execute the function in the proper order (fieldAverage first, then Probes)

If you don't want to write the whole field data to save storage space, I guess you should use a setting like "writeFields false;" in your fieldAverage function. It will still compute the whole volume field and keep it in RAM (so you can use it in your probe function) but it will not write it on disk.

Cheers,
Yann

yek_irani April 28, 2020 13:19

Yann,

Thank you very much for your response. I will try out what you suggest. It sounds simple enough.

Best wishes,
Maziar.

fale February 10, 2022 12:13

Hi yek_irani,
could you gently show me your files please, because i'm trying to achieve the same results but it isn't working.


thanks in advance!

JulioPieri February 10, 2022 15:43

Hi Alessandro, could you share your files? This should be quite simple to make it work, you might be missing some syntax details.

Add to your controlDict's functionObject:
- fieldAverage: it will generate the mean of the field you want. This snip is from the cavitatingFoam/LES/throttle tutorial
Code:

fieldAverage1
    {
        type            fieldAverage;
        libs            (fieldFunctionObjects);
        writeControl    writeTime;
        fields
        (
            U
            {
                mean        on;
                prime2Mean  off;
                base        time;
            }

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

            alpha.vapour
            {
                mean        on;
                prime2Mean  off;
                base        time;
            }
        );
    }

(you might also be able to use the volFieldValue and use the volAverage operation)
- probe: to probe the mean calculated in the previous functionObject. This snip is from another LES tutorial
Code:

probes
    {
        type            probes;
        libs            (sampling);

        // Name of the directory for probe data
        name            probes;

        // Write at same frequency as fields
        writeControl    timeStep;
        writeInterval  1;

        // Fields to be probed
        fields          (p U);

        // Optional: interpolation scheme to use (default is cell)
        interpolationScheme cell;

        probeLocations
        (
            (0.00132  0.0009 0.005)
        );
    }

change the fields entry accordingly.

Hope this helps.

fale February 11, 2022 02:37

Firstly, thank you so much for the reply!
I dont have a file to share because im able to generate the fieldAverage and the probes correctly but after that, since my goal is to calculate the TKE, i dont understand how to write and combines the function "subtract" and "multiply" (i.e. u' = U - <U>). Any chance you have any hints about that? Thanks a lot Julio

JulioPieri February 11, 2022 14:43

I've never used it, but I think you can call the "subtract" functionObject having as input the fields you want to manipulate. So if you want the fluctuation u'=U-UMean, you could first run fieldAverage having as output the UMean, then write something like this functionObject:

Code:

subtract1
{
    // Mandatory entries
    type            subtract;
    libs            (fieldFunctionObjects);
    fields          (U UMean);

    // Optional (inherited) entries
    result          uPrime;
    region          region0;
    enabled        true;
    log            true;
    timeStart      0;
    timeEnd        10;
    executeControl  timeStep;
    executeInterval 1;
    writeControl    runTime;
    writeInterval  1;
}

Also, you could write the fields, including UPrime2Mean and manipulate them in paraview.

These are all the available functions. https://www.openfoam.com/documentati...cts-field.html

Also, check this link as it might give you some insights.
https://www.cfd-online.com/Forums/op...-openfoam.html

fale February 12, 2022 08:52

Thanks a lot Julio! I'm gonna try this out immediately.


All times are GMT -4. The time now is 05:59.