VisIt Usage at LLNL
dlaney at llnl.gov
dlaney at llnl.gov
Mon Nov 6 19:57:51 CST 2006
Paul Dubois asked me to post a short summary about how VisIt is used
First, I am not a VisIt developer, but I have worked with it and those
who use it in day to day work. I have also used it to generate high
resolution movies of medium to extremely large (~ 4 TeraByte) data sets.
VisIt is based on VTK (Visualization Tool Kit, check their webpage via
google search). However, several features have been re-implemented for
performance reasons or because they did (or do not) exist in VTK.
VisIt is open source, but at present time does not have a true open source
development model (no sourceforge home page for example). This may change in
the future, but I recommend contacting the VisIt team directly to find out
about official plans in this direction.
>From my perspective, VisIt is used in three ways at LLNL:
1) Debugging (GUI-based, but could use the Python interface)
2) Exploration (GUI-based)
3) Movies (Usually heavier use of the python interface)
VisIt contains many operators that can be used to find bad cells and and
display information about them. A typical debugging session might start
with a bad zonal quantity. The user first creates plots of fields of
interest using pseudocolor plots for example. Then the user applies an
OnionPeel operator and enters the domain and zone number from the error
message generated by the code. The user can then vary the number of
additional layers of cells displayed around the bad cell.
Finally, this small set of cells can be picked or queried, and investigated
at different time steps.
VisIt can also plot various quantities over time. The expression engine
in VisIt can be used to compute many derived quantities.
VisIt also handles cells containing multiple materials in a robust way.
There is interest in having physics codes dump Python
scripts for VisIt that would automatically visualize errors in
VisIt supports a large set of expressions, including the expected
arithmetic operations along with vector operations (cross, dot, etc.),
conditional operations (if-then-else), and many other useful functions.
This allows users to create a large set of derived fields and then
interact with them in VisIt like any other field. I have seen users
generate quite interesting plots by carefully creating derived quantities
from the raw simulation dump files.
VisIt has a nice set of functionality for creating 2-D plots.
The way I typically approach the problem of generating a movie of a given
visualization with a static view-point is as follows.
1) First I set up the visualization with the domain scientist(s). This
process is iterative by nature and is entirely GUI based. VisIt can save
'session' files that record everything about a given session, allowing me
to create multiple visualizations and re-use them later.
2) Once everything is set up, VisIt can generate the movie from within
the GUI, or the session file can be used in a python script to drive
VisIt. I usually use the Python interface because that gives direct
control over camera position and other features. For large movies,
the frames must be generated on a cluster and the batch system is
necessary. Python can be used to build scripts that play nice with
the batch-system at LLNL.
It is also possible to build an entire movie using Python by specifying
exactly which operations to apply. The end-result is a self-contained
script for generating frames. However, this is a labor intensive
approach and is only needed for movies with complex camera movements or
other effects. Even for such movies, VisIt has a key-framing system
that can handle some common cases for movies.
For more information I suggest emailing the VisIt team directly at:
visit-help at llnl.gov
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
More information about the Numpy-discussion