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/)
-   -   Surface Sampling (https://www.cfd-online.com/Forums/openfoam-post-processing/139341-surface-sampling.html)

AA29 July 22, 2014 11:23

Surface Sampling
 
Dear Foamers,

I have an engine case where I need to extract velocities on different cut planes.
To do that I am using sample utility in OpenFoam with a format raw (which gives the coordinates and the velocity components). Later I am plotting the 2D velocity vectors in Matlab. But since the mesh is not an evenly spaced grid , I am having some issues in creating the contours and vectors.

My question is there a way I could get the velocities on a regular grid (like remapping the sampled velocity on an evenly spaced grid)? Or a surface write format which writes the sampled data at regular intervals given a dx , a dy and start and end points? I am aware that line sampling can do that, but I need surface sampling in this case.

Thanks for your time.

AA29 August 6, 2014 13:12

Well I had to provide a cloud of points using set sampling to get what I wanted.It works but creating a cloud is not fun, especially if the domain is big and we want to sample at many points.

Thanks !

AA29 August 6, 2014 13:22

Another question is that when we provide the coordinates of several points to sample, and say a point A(0.5,0.5,0.5) lies outside our solution domain , then the sample utility does not output any value at that point (I am using "raw" write format).

All I want is that OpenFOAM outputs "NaN" values at all those points which lie outside the domain. Does anyone have an idea about how to accomplish this?

Thanks in advance !

Bodo1993 October 26, 2020 13:18

Quote:

Originally Posted by AA29 (Post 504697)
Another question is that when we provide the coordinates of several points to sample, and say a point A(0.5,0.5,0.5) lies outside our solution domain , then the sample utility does not output any value at that point (I am using "raw" write format).

All I want is that OpenFOAM outputs "NaN" values at all those points which lie outside the domain. Does anyone have an idea about how to accomplish this?

Thanks in advance !

Hi, I am wondering if you were able to make OpenFOAM output NAN for the points which are outside your domain. Thanks.

Tom Lauriks September 21, 2021 07:16

Sample on array of points
 
I also needed to sample on set of points on a surface and found a solution.


It's possible to sample on a surface drawn in a CAD program (I use blender), which is exported as stl. If you draw the points where you need to sample and connect them as a surface, it is possible to sample on these points.

You can then add to your controlDict (openfoam.com v2012):
Code:

planesVelocity
{
    type            surfaces;
    libs ("libfieldFunctionObjects.so");
    enabled        true;
    writeControl    runTime;//Writes data every writeInterval seconds of    simulated time.
    writeInterval 0.001;
    interpolationScheme cellPoint;
    surfaceFormat raw;
    surfaces
    (
        y0
        {
            type            sampledTriSurfaceMesh;
            surface        y0.stl;
            interpolate    true;
            source insideCells;
        }           
    );
    fields
    ( 
        U
        turbulenceProperties:R
    );
}

For the setting source I find:
source=insideCells, interpolate=true Per surface point interpolate cell containing it.
https://cpp.openfoam.org/v4/classFoa...rfaceMesh.html . The stl file is located in constant/triSurface

I didn't check thoroughly, but values outside the domain seem missing. I will write a script (Python) to add the missing coordinates and set them to NaN.


All times are GMT -4. The time now is 15:14.