Lawrence Livermore National Laboratory



The following table presents key features with descriptions of VisIt. A complete list of features is presented on a second table below.

Feature Description/Example

Has rich feature set for scalar, vector, and tensor field visualization

VisIt's visualization capabilities are primarily grouped into two categories:

  • Plots are used to visualize data and include boundary, contour, curve, label, mesh, pseudocolor, scatter, streamline, subset, surface, tensor, vector, and volume. See plotting screen shots.
  • Operators consist of operations that can be performed on the data prior to visualization. Some examples include slice, index select, iso-surface, onion peel, reflect, threshold, and part selection. See operator screen shots.

VisIt handles 2D and 3D data equally well. VisIt also has the ability to animate data, allowing users to see the time evolution of their data. A complete table of visualization features is presented below.

Provides qualitative and quantitative visualization and analysis

VisIt is also a powerful analysis tool. It provides support for derived fields, which allow new fields to be calculated using existing fields. For example, if a dataset contains a velocity field, it is possible to define a new field that is the velocity magnitude. VisIt's quantitative analysis tools include:

  • Line-out, which allows you to create curves from higher dimensional datasets by interactively defining lines using the mouse.
  • Pick and query, which allows you to query the dataset by clicking on images.

VisIt also supports a generalized query interface, which allows you to query derived quantities such as volume or surface area. See data exploration screen shots.

Supports multiple mesh types

VisIt provides support for a wide range of computational meshes, including two- and three-dimensional point, rectilinear, curvilinear, and unstructured meshes. In addition, VisIt supports structured AMR meshes and CSG meshes. See screenshots of 2D and 3D images produced by VisIt.

Powerful, full-featured graphical user interface (GUI)

VisIt's graphical user interface (see screen shots) allows novice users to quickly get started visualizing their data, as well as allowing power users access to advanced features. VisIt automatically creates time-based animations from data sets that contain multiple time steps. In addition, it also has a keyframe animation capability that allows users to create sophisticated animations. VisIt's on-line help system contains a hyperlinked version of the User’s Manual. VisIt allows users to pan, zoom, and rotate objects interactively using the mouse. It also gives users the ability to interactively size and position geometric objects such as planes and spheres.

Parallel and distributed architecture for extreme scale visualization

VisIt employs a distributed and parallel architecture in order to handle extremely large data sets interactively. VisIt's rendering and data processing capabilities are split into viewer and engine components that may be distributed across multiple machines:

  • Viewer—Responsible for rendering and is typically run on a local desktop or visualization server so that it can leverage the extremely powerful graphics cards that have been developed in the last few years.
  • Engine—Responsible for the bulk of the data processing and input/output (I/O) and is typically run on a remote machine where the data is located. This eliminates the need move the data and makes high-end compute and I/O resources available to it. The engine can be run serially on a single processor or in parallel on thousands of processors.

Interfaces with C++, Python, and Java

VisIt also supports C++, Python and Java interfaces. The C++ and Java interfaces make it possible to provide alternate user interfaces for VisIt or allow existing C++ or Java applications to add visualization support. The Python scripting interface gives users the ability to batch process data using a powerful scripting language. This feature can be used to create extremely sophisticated animations or implement regression suites. It also allows simulation systems that use Python as a back-plane to easily integrate visualization capabilities into their systems.

Extensible with dynamically loaded plug-ins

VisIt achieves extensibility through the use of dynamically loaded plugins. All of VisIt's plots, operators, and database readers are implemented as plugins and are loaded at run-time from the plugin directory. New plugins can be added simply by installing them in this directory. VisIt comes with a graphical plugin creation tool, which greatly simplifies the process of creating new plugins. The user describes the properties of the plugin and then the tool generates most of the code necessary to implement the plugin. For example, in the case of an operator, the plugin creation tool creates the code necessary for the graphical user interface attribute window; the C++, Python, and Java interfaces; and the code necessary to interface to VisIt. The only code you need to write is the C++ code that actually performs the operation.

Multi-platform support

VisIt operates on UNIX (Irix, Tru64, AIX, Linux, Solaris), MacOS X (10.3, 10.4), and Windows platforms. Software for these platforms can be downloaded.

Open Source

VisIt's source code is open source and freely available under the BSD license, allowing programmers to read, redistribute, and modify the source code.

Customer support

The visit-users@ornl.gov mailing list offers responsive customer support. For users associated with SciDAC, GNEP or ASC, e-mail support is available from visit-help-scidac@ornl.gov, visit-help-gnep@ornl.gov, and visit-help-asc@ornl.gov. For ASC VisIt users, a customer support phone line is available. Dial 42-VIS to talk to a VisIt developer Monday through Friday 8-12, 1-5 Pacific Time.

Complete List of VisIt Features

Plots Operators General
Contour Slices (cone, plane, sphere) Parallel versions available
Mesh Index Select Animation
Vector Iso-surface Movie-making
Subset Onion Peel Direct manipulation tools
Pseudocolor Reflect Pick & Query
Surface Threshold Line-out
Curve Transform Status bars
Volume Replicate Interruptable
Scatter Resample Remote data access
Spreadsheet Revolve Fault tolerant
Molecule Elevate Scalable rendering
Parallel Axis Project Online help
Histogram Displace Read data directly from simulation memory*
Label Subset restriction Material interface reconstruction
Truecolor Expressions Reads over 60 different file formats
Tensor   Scriptable

* When VisIt's libsim has been used to instrument the simulation.