Post processing for free surfaces

Hi !

I need to post-process a simulation with a free surface, so as to count the particles belonging to this free surface. By free surface particle, I mean a particle with no neighbors on one side : a particle in contact with a boundary should not be counted.

Any idea ?

My final target is to calculate the sum over time of all the free surface particles.

Thanks in advance.


  • edited October 2018
    Just throwing it out there but a simple solution might making a piece of code which sorts particles based x a very small x interval:

    And then the free surface would be the particles with the heighest z position.

    Please note that this this solution is not useful for more complex cases, but this might be a quick and dirty solution, as long as it is possible to make the x interval sufficiently small.

    Edit: Actually this might no be effective if you have some sceneria to like the right of the included picture - the free surface would there be on both sides. Keeping the comment up if it might be helpful for anyone anyways.
  • Thanks for the answer Asalih3d.

    For the time being, since I cannot modify the code itself, I'm working on the *.vtk files.

    I'm using two files : the "bounds" file, and the "isosurface" file, checking all the distances between pairs of points. If, for a specific point belonging to the isosurface file, the distance to all the points of the "bounds" file is more than a specific threshold, I considere the point as belonging to a free surface. Quite a long and clumsy processing... !
  • Ah okay that is also a viable way of doing it - if you want I guess you could use the threshhold of your computational domain instead to simplify more complex cases a bit, but you will know better if that works or not for you.

    Ideally it would of course be nice if there was a way to see which particles were considered "Free Surface" during simulation, but as far as I know there is not. Maybe someone else will chime in with a piece of gold soon :-)
  • MeasureTool allows you to compute the surface elevation (-height) along the simualtion at fixed positions.

  • Many thanks for your comments guys.

    My target is to get a measure of the time spent by each particle at the free surface. I'm dealing with a problem of gas pick-up, and I need to get a measure of the amount of contact between the simulated fluid and the outside atmosphere.

    In fact, the ideal situation for me, would be to get a simple indicator generated by isosurface.exe, which would tell for each surface node, if it is in contact with a boundary or not.

    Do you think this kind of small modification of isosurface.exe could be taken into account in a future version ?

    Best regards.
Sign In or Register to comment.