CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > OpenFOAM Paraview & paraFoam

Postprocessing a billion cell CFD case

Register Blogs Members List Search Today's Posts Mark Forums Read

Reply
 
LinkBack Thread Tools Display Modes
Old   September 26, 2008, 05:55
Default Hello All, A question. I h
  #1
Senior Member
 
Hrvoje Jasak
Join Date: Mar 2009
Location: London, England
Posts: 1,758
Rep Power: 21
hjasak will become famous soon enough
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
__________________
Hrvoje Jasak
Providing commercial FOAM/OpenFOAM and CFD Consulting: http://wikki.co.uk
hjasak is offline   Reply With Quote

Old   September 26, 2008, 06:39
Default Its far from perfect, but the
  #2
Senior Member
 
Eugene de Villiers
Join Date: Mar 2009
Posts: 725
Rep Power: 12
eugene is on a distinguished road
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.
eugene is offline   Reply With Quote

Old   September 26, 2008, 06:48
Default Hrv, Could you not use VTK
  #3
Senior Member
 
Gavin Tabor
Join Date: Mar 2009
Posts: 181
Rep Power: 8
grtabor is on a distinguished road
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
grtabor is offline   Reply With Quote

Old   September 26, 2008, 07:11
Default Hi Eugene, The more general
  #4
Senior Member
 
Mark Olesen
Join Date: Mar 2009
Location: http://olesenm.github.io/
Posts: 777
Rep Power: 18
olesen will become famous soon enough
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.
olesen is offline   Reply With Quote

Old   September 26, 2008, 07:17
Default Brilliant! Thank you all.
  #5
Senior Member
 
Hrvoje Jasak
Join Date: Mar 2009
Location: London, England
Posts: 1,758
Rep Power: 21
hjasak will become famous soon enough
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
__________________
Hrvoje Jasak
Providing commercial FOAM/OpenFOAM and CFD Consulting: http://wikki.co.uk
hjasak is offline   Reply With Quote

Old   September 26, 2008, 07:45
Default Hi Mark, It might only remo
  #6
Senior Member
 
Eugene de Villiers
Join Date: Mar 2009
Posts: 725
Rep Power: 12
eugene is on a distinguished road
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.
eugene is offline   Reply With Quote

Old   September 26, 2008, 08:57
Default Hi Hrv, VTK is just another
  #7
Senior Member
 
Gavin Tabor
Join Date: Mar 2009
Posts: 181
Rep Power: 8
grtabor is on a distinguished road
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
grtabor is offline   Reply With Quote

Old   September 26, 2008, 13:17
Default Hi all, Along this line wha
  #8
Super Moderator
 
Takuya OSHIMA
Join Date: Mar 2009
Location: Niigata City, Japan
Posts: 518
Blog Entries: 1
Rep Power: 11
7islands is on a distinguished road
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
7islands is offline   Reply With Quote

Old   May 28, 2009, 14:02
Default
  #9
Member
 
David Segersson
Join Date: Mar 2009
Posts: 39
Rep Power: 8
segersson is on a distinguished road
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 its been I while since this thread was updated I thought Id check if there has been any developement going on in this direction?

David
segersson is offline   Reply With Quote

Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
ANSYS break the billion cell barrier Lexington FLUENT 0 November 18, 2008 05:24
Turbine spiral case postprocessing mateus FLUENT 0 April 24, 2008 03:24
Cloning a case or creating a new case for 16 processes mellanoxuser OpenFOAM Running, Solving & CFD 0 February 8, 2008 17:52
unsturcture cell & cylinder cell Difference~ lenson CD-adapco 1 January 9, 2006 06:32
Cell-vertex and cell-centered finite volume method Praveen Main CFD Forum 4 September 8, 2003 23:58


All times are GMT -4. The time now is 22:58.