|
[Sponsors] |
OpenFOAM: Writing out time-averaged fields to Probes |
![]() |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
![]() |
![]() |
#1 |
New Member
Maziar
Join Date: Jul 2019
Posts: 15
Rep Power: 7 ![]() |
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. |
|
![]() |
![]() |
![]() |
![]() |
#2 |
Senior Member
Yann
Join Date: Apr 2012
Location: France
Posts: 1,169
Rep Power: 27 ![]() |
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 |
|
![]() |
![]() |
![]() |
![]() |
#3 |
New Member
Maziar
Join Date: Jul 2019
Posts: 15
Rep Power: 7 ![]() |
Yann,
Thank you very much for your response. I will try out what you suggest. It sounds simple enough. Best wishes, Maziar. |
|
![]() |
![]() |
![]() |
![]() |
#4 |
New Member
Alessandro Fenzi
Join Date: May 2021
Posts: 3
Rep Power: 5 ![]() |
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! |
|
![]() |
![]() |
![]() |
![]() |
#5 |
Senior Member
Julio Pieri
Join Date: Sep 2017
Posts: 105
Rep Power: 8 ![]() |
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; } ); } - 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) ); } Hope this helps. |
|
![]() |
![]() |
![]() |
![]() |
#6 |
New Member
Alessandro Fenzi
Join Date: May 2021
Posts: 3
Rep Power: 5 ![]() |
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 |
|
![]() |
![]() |
![]() |
![]() |
#7 |
Senior Member
Julio Pieri
Join Date: Sep 2017
Posts: 105
Rep Power: 8 ![]() |
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; } 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. What's the meaning of "prime2Mean" in fieldAverage function of OpenFOAM |
|
![]() |
![]() |
![]() |
![]() |
#8 |
New Member
Alessandro Fenzi
Join Date: May 2021
Posts: 3
Rep Power: 5 ![]() |
Thanks a lot Julio! I'm gonna try this out immediately.
|
|
![]() |
![]() |
![]() |
Tags |
openfoam 1912, probes |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
[snappyHexMesh] SnappyHexMesh/splitMeshRegion : region1 in zone "-1" | GuiMagyar | OpenFOAM Meshing & Mesh Conversion | 3 | August 4, 2023 12:38 |
Star cd es-ice solver error | ernarasimman | STAR-CD | 2 | September 12, 2014 00:01 |
a reconstructPar issue | immortality | OpenFOAM Post-Processing | 8 | June 16, 2013 11:25 |
plot over time | fferroni | OpenFOAM Post-Processing | 7 | June 8, 2012 07:56 |
IcoFoam parallel woes | msrinath80 | OpenFOAM Running, Solving & CFD | 9 | July 22, 2007 02:58 |