CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   ParaView (https://www.cfd-online.com/Forums/paraview/)
-   -   [OpenFOAM] Postprocessing a billion cell CFD case (https://www.cfd-online.com/Forums/paraview/61110-postprocessing-billion-cell-cfd-case.html)

hjasak September 26, 2008 05:55

Postprocessing a billion cell CFD case
 
Hello All,

A question. I have a huge CFD run and need to extract the iso-surface from the data for visualisation purposes. I can do the VTK conversion but have no good way of creating an iso-surface for visualisation. The actual iso-surface will be considerably smaller than the mesh size and can be manipulated more easily.

Do we have a tool that could take a really large CFD data set and make me an iso-surface (ideally in parallel)?

Hrv

eugene September 26, 2008 06:39

Its far from perfect, but the
 
Its far from perfect, but the existing sampleSurface has an option "constantIsoSurface" to create vtk iso-surfaces and interpolate user specified volFields on to them.

It also runs in parallel.

grtabor September 26, 2008 06:48

Hrv, Could you not use VTK
 
Hrv,

Could you not use VTK direct; read the data into VTK format, generate an isosurface from that, but instead of visualising it on the screen, dump it directly to file - either as an image file (if you know what direction you want to look at it from) or in something like vrml which could be processed further?

I've thought for a while that it would be good to build some of the VTK classes directly into OpenFOAM; then you could create a visualisation image each timestep during the run and run them together to get an animation. Oh, to have time to do some of these things!

Gavin

olesen September 26, 2008 07:11

Hi Eugene, The more general
 
Hi Eugene,

The more general sampling solution used in OpenFOAM-1.5 allows sampling as function objects and also as a post-processing step. Since the isosurfaces are strictly speaking not sampling surfaces, but rather dynamically generated surfaces depending on a particular field value, they only remotely fit in the new framework.

I think Gavin's idea of harnessing vtk is interesting.

hjasak September 26, 2008 07:17

Brilliant! Thank you all.
 
Brilliant! Thank you all.

Gavin, do you happen to know how to harness paraview or VTK to actually do the job? I have converted the data into VTK, but moving multi-GB files around is impractical. Presumably, there is a python interface to make VTK do what I want, but not sure how...

Any ideas?

Hrv

eugene September 26, 2008 07:45

Hi Mark, It might only remo
 
Hi Mark,

It might only remotely fit into the system, but generating iso-surfaces as meshes for re-use (in for example snappyHexMesh) is an extremely useful function. If it is done using VTK, we would still need a vtk reader to be able to convert vtk format surfaces to triSurfaces.

grtabor September 26, 2008 08:57

Hi Hrv, VTK is just another
 
Hi Hrv,

VTK is just another C++ class library; you can construct a visualisation pipeline by writing code and compiling it just like we do in OpenFOAM. The only real difference is that the VTK authors have decided to do everything with pointers. If you rummage around on the VTK site there are quite a few coded examples. vtkContourFilter or vtkMarchingCubes would work. (There is even a vtkExtractVOI filter for taking a section out of a large dataset). One of the examples codes has the following as an illustration of how to do this:

vtkContourFilter *skinExtractor = vtkContourFilter::New();
skinExtractor->SetInputConnection(v16->GetOutputPort());
skinExtractor->SetValue(0, 500);

v16 is a VTK dataset. This is then rendered on the screen; but VTK has the facility to render to a file directly without going through the screen. If you did that on its own you would have a code to run which would not go anywhere near the graphics and could just be left to get on with things...

Gavin

7islands September 26, 2008 13:17

Hi all, Along this line wha
 
Hi all,

Along this line what I think would really be nice is to implement a feature to write ghost cell information [1] as well as decomposed mesh into decomposePar for parallel postprocessing. From my experience in writing the parallelized ParaView reader [2] I felt it is indeed difficult to reconstruct the ghost cell information from the current mesh format that only has point/face/cell/boundaryProcAddressing extra information.

As far as I tested with the reader (and everyone can test since it's publicly available), even though decomposed mesh can be postprocessed in parallel, without ghost cells we have to see some sort of artifacts in most of visualization renderings at processor boundaries (e.g. juggy faults in isosurface contours). I don't know so much about parallel postprocessors other than ParaView, but IIRC at least VisIt also has similar ghost cell capabilities.

I believe I'm not usually a guy who complains about missing features (implement than complain), but I think it's time for FOAMers to seriously consider about sorting out required features for large-scale postprocessing. Just my two cents.

[1] Large Scale Visualization with ParaView: Supercomputing 2008 Tutorial, p. 56, http://paraview.org/Wiki/images/6/62...w_Handouts.pdf
[2] http://openfoamwiki.net/index.php/Contrib_Parallelized_Native_OpenFOAM_Reader_fo r_ParaView

Takuya

segersson May 28, 2009 14:02

Hi,
I'm in need of a tool to make an isosurface for a case thats to big to open in paraview (30 million cells). Since it´s been I while since this thread was updated I thought I´d check if there has been any developement going on in this direction?

David


All times are GMT -4. The time now is 19:43.