Visualization/FAQ
(frequently asked questions)
With hdf2file program, what format should i use for the fluid data?
Paraview perfers the binary (xml)
vtu format. As for visit you can use the binary (legacy)
vtk (which should also work for paraview). There is also a Silo format supported for hdf2file, which dumps the fluid in blocks (all into a single Silo file), with better support amr structures (as exposed to the user as collections per level, or per variable). This Silo format currently only works under Visit.
The adlib solid data comes out in tecplot ascii format (unstructured). Can paraview visualize this data?
Fehmi Cirak wrote tools for this conversion. They are called
smf2vtu.cc
and
tecplot2vtu.cc
. Otherwise i think i have one such filter under under
vtf/viz/filters
:
tec2vtu.cpp
and/or
tectetramerge
for tets can dump vtu.
Where do I get VisIt? I'd like to install it on ASAP. What about Paraview?
Julian has installed a working version of Visit 1.4.5 under ASAP:/home/tools/visit. You may need to set some paths to make sure you pick up the right libraries, plugins, and profiles.
Otherwise, the binaries from
http://www.llnl.gov/visit/ should work. you are probably best of if possible copying the data over to your desktop to avoid gl-x slowdown. if not possible, then you can choose between the downloaded version, or Randolf Rotta has compiled a version which will run in parallel: /home/rotta/VisIt. I have also a version which is pure mesa (no hardware gl (or display gl-x) required): /home/slombey/apps/visit.
There is also an earlier compile on ASAP should be randolf's: /home/rotta/VisIt, of version 1.4.4. Notice some of the libs between 1.4.5 and 1.4.4 have changed, so make sure your paths point to the right place.
As for paraview, i have several compilations: /home/slombey/apps/paraview. I would recommend the 1.9 GL or 1.9 Mesa.
How do i use tectetramerge to create VTK files?
Tectetramerge currently only works with (most) tecplot ascii files. After compiling tectetramerge (small C++ program, requires no additional libraries), you can do a
./tectetramerge -h
to see the different options you can use. For the most part what you will do is = ./tectetramerge -input
myfilename.tec -vtu >
myfilename.vtu =.
If you have partial files for each timestep, then you can use tectetramerge to create a single file.
# tcsh example
# for example, if your file names are in the format adlib.timestep.processor.tec
foreach i (adlib.*.0000.tec)
set j = `echo $i | sed -e 's/.0000.tec//'`
tectetramerge -bvtu -readsequence $j.\*.tec > sollid.$j.vtu
end
On asap, for a single frame, with 10 pieces (from 10 processors), with resulting 73728 tets (14941 vertex), it took 15 seconds to create the binay vtu, and about 4 minutes to create the ascii vtu. (see ASAP:/pvfs/slombey/smooshed-cylinder).
ALTERNATIVE If you want to, you can convert each per-processor file indivudually (you can use tec2vtu filter for instance), and then simply "collect" the pieces into pvd files.
To collect the converted vtu pieces (in a "parts directory") you would do:
foreach i (parts/solid-0000-*.vtu)
set j = `echo $i | sed -e 's/parts.solid.0000.//' | sed -e 's/.vtu//'`
set k = "solid."$j".pvd"
ls parts/solid-*-$j.vtu | awk -f makepvd.awk > $k
end
where makepvd.awk would be
BEGIN {
print ("<?xml version=\"1.0\"?>");
print ("<VTKFile type=\"Collection\" version=\"0.1\" byte_order=\"LittleEndian\">");
print ("<Collection>");
}
{
print ("<DataSet part=\"" (NR) "\" file=\"" $0 "\"/>");
}
END {
print ("</Collection>");
print ("</VTKFile>");
}
hope this helps!
--
SantiagoLombeyda - 05 Aug 2005