Home Downloads Documentation What's New  
Index Contact

About VisIt

VisIt is an Open Source, interactive, scalable, visualization, animation and analysis tool. From Unix, Windows or Mac workstations, users can interactively visualize and analyze data ranging in scale from small (<101 core) desktop-sized projects to large (>105 core) leadership-class computing facility simulation campaigns. Users can quickly generate visualizations, animate them through time, manipulate them with a variety of operators and mathematical expressions, and save the resulting images and animations for presentations. VisIt contains a rich set of visualization features to enable users to view a wide variety of data including scalar and vector fields defined on two- and three-dimensional (2D and 3D) structured, adaptive and unstructured meshes. Owing to its customizeable plugin design, VisIt is capabable of visualizing data from over 120 different scientific data formats (see this partial list). See the table below for more details about the tool’s features.


VisIt was originally developed by the Department of Energy (DOE) Advanced Simulation and Computing Initiative (ASCI) to visualize and analyze the results of terascale simulations. It was designed with a high degree of modularity to support rapid deployment of new visualization technology. This includes a plugin architecture for custom readers, data operators and plots as well as the ability to support multiple different user interfaces. Following a prototyping effort in the summer of 2000, an initial version of VisIt was developed and released in the fall of 2002. Since then, over 100 database readers, 60 operators and 20 plots have been added to the open source code. In addition, commercial, government and academic organizations in the US, Europe and elsewhere have developed and maintained proprietary plugins and user interfaces for their own needs. Although the primary driving force behind the original development of VisIt was for visualizing ASCI terascale data, VisIt has also proven to be well suited for visualizing smaller scale data from simulations on desktop systems. Because of its applicability beyond visualizing terascale data, we are making VisIt freely available as a BSD licensed open source product.

Key Features

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. See table of visualization features.

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 and GNEP 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.


Executables | Source Code | Data Files | About VisIt | Screen ShotsGalleryFAQs | Manuals | What's New | Index

VisIt Webmaster
Updated: September 10, 2014

©LLNL-WEB-651839, privacy and legal notice