[Paraview] Re: [vtkusers] Extracting an unstructured grid from Ensight case files...

Randall Hand randall.hand at gmail.com
Wed Mar 29 15:22:19 EST 2006


Well, i'm about as far away from an Ensight guru as you can get, so someone
else will have to chime in on the specifics of the File Format & Ensight.

But there's a few issues with Binary & Fortran files.
   1) Binary isn't really "cross platform compatible" .  If you do an
unformatted write on a big endian machine, you have to be careful to byte
swap it on a little-endian machine.  This can't be easily autodetected, so
alot of the readers have the ability to specify it.   Maybe this option is
missing?
   2) Fortran insists on writing Record Markers at the beginning & end of
each write.  Handy for integrity checking, royal PITA when you start trying
to use it in anything other than fortran.  Again, hard to autodetect, so
some of the readers give you the ability to specify C or Fortran (like the
Plot3d Reader).

So you're kinda left to using other formats.  Personally, I would like to
see the new VTK Parallel XML formats extended to allow for putting the data
& the grid in separate files, but I doubt that will happen anytime soon.
Xmdf & Xdmf are an option, but not very ensight friendly (I think).

Personally i've started writing things to VTK XML formats with the
compression enabled.  It's ascii, and the grid gets carried around, but it's
a minor annoyance for the stuff I'm doing. The ones where it is a huge
annoyance, we're using PLOT3D files so it's not an issue.




On 3/29/06, Renato N. Elias <rnelias at nacad.ufrj.br> wrote:
>
>
> Hi Randall, thanks for your advice...
>
> This subject has been drive me crazy!!!
>
> - I can't read SOS files since they are written by Fortran routines;
>
> - I can't save transient data in VTK since VTK does not have support to
> transient data... ok, it can be overcame through PVD files;
>
> - I can't save grid and results separetely... Ok, I can save them together
> but it would give unnecessary data being replicated;
>
> - I tried the Stephane approach (opening the file as unstructured and
> saving
> with only one write) but the number of parameters passed to the "write"
> function is greater than the limit that the function supports to write;
>
> - I open the file (ENSIGHT6) as binary (my Fortran has support to it) but
> PV
> only read my files in serial modes (SOS does not work)
>
> - Ensight Gold binary written by Fortran does not work as well
>
> - Ok, Ensight format in ASCII works fine but it would give me huge and
> very
> slow files...
>
> - Ok, there's a Fortran/VTK library distributed with PV, but I'd have to
> install VTK or port the library to any machine I use (and I'm not a system
> administrator to do it).
>
> - I only get success when reading Ensight6 Fortran/Binary data in serial
> mode.
>
> I'm feeling that I (and other Fortran programmers) have no choice... I
> know
> that PV and VTK have different Ensight readers, but why do the VTK readers
> work with my files and in PV it is not always possible? Furthermore, how
> can
> Ensight read Fortran unstructured/binary and C/C++ files without any
> problem? Within the files have a "C binary" and a "Fortran binary"
> indication, can't it be used to guide the right way of reading the file?
>
> I don't know what I should do... I was writing this script to convert a
> bunch of results that I have stored but I'm almost giving up and going
> through write a C writer for my Fortran programs (unfortunately, it won't
> solve the problem of my results stored - only if I do another file
> converter)
>
> Regards
>
> Renato N. Elias
> ===============================================
> PhD student - http://www.nacad.ufrj.br/~rnelias
> High Performance Computing Center
> Federal University of Rio de Janeiro
> Rio de Janeiro, Brazil
> +55(21) 2562-8080
>
>
> ________________________________
>
> De: Randall Hand [mailto:randall.hand at gmail.com]
> Enviada em: quarta-feira, 29 de março de 2006 16:23
> Para: Renato N. Elias
> Cc: vtkusers at vtk.org; paraview at paraview.org
> Assunto: Re: [vtkusers] Extracting an unstructured grid from Ensight case
> files...
>
>
> Nice to see someone else using Tcl/Tk for file conversion :)  I do it all
> the time here.
>
> Sadly, you've run into the #1 problem with VTK formats, the Grid & Data
> must
> remain together ( AFAIK, someone please correct me if I'm wrong)..  If you
> want to separate the two, then you have little choice than to switch to
> another format.
>
>
> On 3/29/06, Renato N. Elias <rnelias at nacad.ufrj.br> wrote:
>
>
>         Hi there,
>
>         Since I'm a poor Fortran programmer that can't make the Ensight's
> binary
>         format working in Paraview properly, I've been writing a TCL/VTK
> script to
>         convert from Ensight case files to Paraview/VTK format (and I hope
> it will
>         work out my problems...).
>
>         A have the following situation to cover:
>
>         1- Model partitioned in several case files (sometimes I run
> problems
> in
>         parallel/MPI)
>         2- Each case file has its geometry and results files associated
>         3- The geometry does not change in time
>
>         Then, I was thinking about do the following:
>
>         1- Read each case file
>         2- Export the Unstructured grid through the
> vtkXMLUnstructuredGridWriter
>         3- Export the results for each time step through the
> vtkXMLDataSetWriter
>         4- Assembly the files through a PVD file (Paraview format) as is
> done with
>         the case file
>
>         My problem is:
>
>         * * * How do I export unstructured grids and results separetely? *
> *
> *
>
>         I'm using the following script, but it's only able to save
> grid+results in
>         the same file. Note that it's not good since I'll be replicating
> grid that
>         does not change in time.
>
>         --------------------------------------------------------------
>         package require vtk
>
>         # loading command line arguments
>         set arch [lindex $argv 0]
>         set nprocs  [lindex $argv 1]
>
>         # building the case file names
>         append arch "_"
>         append arch $nprocs
>         append arch "_"
>
>         # loop over the case files that will be read and saved in vtk
> format
>
>         for {set i 0} {$i < $nprocs} {incr i} {
>
>             set filename $arch
>             if {$i < 10} { append filename "0" }
>             append filename $i
>             set casefile $filename
>             append casefile ".case"
>             puts " Reading Ensight casefile $casefile"
>
>             vtkGenericEnSightReader reader
>                reader SetCaseFileName $casefile
>                reader Update
>
>             vtkXMLUnstructuredGridWriter vtkfile
>               vtkfile SetInput [ reader GetOutput ]
>               vtkfile SetFileName "$filename.vtk"
>               puts " Exporting VTK unified file..."
>               vtkfile Write
>
>             reader  Delete
>             vtkfile Delete
>         }
>         wm withdraw .
>         Exit
>         --------------------------------------------------------------
>
>         Thanks for any help
>
>         Renato N. Elias
>         ===============================================
>         PhD student - http://www.nacad.ufrj.br/~rnelias
>         High Performance Computing Center
>         Federal University of Rio de Janeiro
>         Rio de Janeiro, Brazil
>         +55(21) 2562-8080
>
>         _______________________________________________
>         This is the private VTK discussion list.
>         Please keep messages on-topic. Check the FAQ at:
> http://www.vtk.org/Wiki/VTK_FAQ
>         Follow this link to subscribe/unsubscribe:
>         http://www.vtk.org/mailman/listinfo/vtkusers
>
>
>
>
>
> --
> Randall Hand
> Visualization Scientist,
> ERDC-MSRC Vicksburg, MS
> Homepage: http://www.yeraze.com <http://www.yeraze.com>
>
>


--
Randall Hand
Visualization Scientist,
ERDC-MSRC Vicksburg, MS
Homepage: http://www.yeraze.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://public.kitware.com/pipermail/paraview/attachments/20060329/e13bddb6/attachment-0001.html


More information about the ParaView mailing list