VisIt

visit

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 a table of key features and a complete table of the tool's features.]

What's New

VisIt is a distributed, parallel visualization and graphical analysis tool for data defined on two- and three-dimensional (2D and 3D) meshes. Version 3.1.4, which can be downloaded from this site, contains over two dozen bug-fixes and new features. For a complete list of changes see the VisIt 3.1.4 Release Notes. [See the archive of releases for more information.]

History

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.

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


Key Features of VisIt

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 [at] 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 [at] ornl.gov, visit-help-gnep [at] ornl.gov, and visit-help-asc [at] 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.

For any additional questions, send e-mail to visit-users [at] ornl.gov (VisIt Users).

VisIt Downloads

Executables—This page contains versions of VisIt that you can download for Unix and Windows systems.

Source Code—This page contains the VisIt source code that you can download if you would like to build a version of VisIt for another system or to modify the source code.

Manuals—This page contains the user's manuals that are available, including a getting started manual and user's manual.

Data Files—This page contains links to interesting datasets that you can plot with VisIt.

If you use VisIt to generate images and/or movies please cite VisIt in your paper and the credits of your movie. Doing so helps us sustain funding for future improvements and on going maintenance. Please use the following acknowledgement and send us references to any publications, presentations, or successful funding applications that make use of DOE software.

VisIt is supported by the Department of Energy with funding from the Advanced Simulation and Computing Program and the Scientific Discovery through Advanced Computing Program.

What's New in VisIt

November, 2020 - VisIt 3.1.4 released

VisIt is a distributed, parallel visualization and graphical analysis tool for data defined on two- and three-dimensional (2D and 3D) meshes. Version 3.1.4 contains over two dozen bug-fixes and new features. For a complete list of changes see the VisIt 3.1.4 Release Notes

September, 2020 - VisIt 3.1.3 released

VisIt 3.1.3 contains over three dozen bug-fixes and new features. For a complete list of changes see the VisIt 3.1.3 Release Notes.

May, 2020 - VisIt 3.1.2 released

VisIt 3.1.2 contains over two dozen bug-fixes and new features. For a complete list of changes see the VisIt 3.1.2 Release Notes.

February, 2020 - VisIt 3.1.1 released

VisIt 3.1.1 contains about twenty bug-fixes and new features. For a complete list of changes see the VisIt 3.1.1 Release Notes.

December, 2019 - VisIt 3.1 released

VisIt 3.1 contains many bug-fixes and new features. For a complete list of changes see the VisIt 3.1 Release Notes.

1. Added and enhanced several readers.

Added readers for Xolotl and openPMD files. Made significant enhancements to the ADIOS2 reader, including basing it on ADIOS 2.5. Rewrote the Mili reader. It now supports a Griz-like menu, material variables, global variables, shared variables, and integration points.

2. VisIt is now available on a greater variety of Linux platforms.

VisIt is now available on Centos 8, Debian 9, Fedora 27, Ubuntu 16, Ubuntu 18 and Ubuntu 19. These versions include parallel support by way of MPICH.

3. Significantly improved the performance of queries over time.

The query over time performance has been improved by roughly a factor of 100 due to eliminiting multiple round trip communications between the viewer and compute engine per time step.

[Go to Archive of Releases]

Samples of Some Things VisIt Can Do

  • Plotting Methods—VisIt contains a rich set of visualization methods for visualizing scientific data.
  • Operators—VisIt supports various operators to visualize data within a three-dimensional volume. These include displaying fields on surfaces within a volume (cone, sphere, plane, and more), removing portions of the three-dimensional volume (clip), displaying fields within a localized region (onion-peel), and displaying portions of the volume that meet specific criteria.
  • Data Exploration—VisIt allows the ability to provide quantitative as well as qualitative information from a scientific data set.
  • Graphical User Interface (GUI)—VisIt has a powerful, yet easy-to-use graphical user interface.

Plotting Methods

The contour plot (left) is used to display lines of constant temperature on a planar slice through a simulation of a gas-burning furnace. The pseudocolor plot (right) is used to map temperature to color on the same planar slice.


The contour plot (left) is used to display surfaces of constant value through a three-dimensional volume. The volume plot (right) allows the potential to visualize all the data within a three-dimensional volume by mapping scalar values to an opacity and color value.


The vector plot allows the ability to visualize vector fields by placing arrow glyphs within the vector field indicating direction and magnitude. The first image shows vectors on a planar slice of an air flow over a box. The second image is a close up showing the turbulant flow directly behind the box.


The subset plot is used to display different parts of an assembly. Portions of the assembly can be selectively turned on and off. The first image shows an entire crash impact dummy, while the second image shows only the hips and upper body.


The subset plot is used to display different parts of an assembly. Portions of the assembly can be selectively turned on and off. The first image shows an entire crash impact dummy, while the second image shows only the hips and upper body.


1  

Operators

VisIt supports various operators to visualize data within a three-dimensional volume. These include displaying fields on surfaces within a volume (cone, sphere, plane, and more), removing portions of the three-dimensional volume (clip), displaying fields within a localized region (onion-peel), and displaying portions of the volume that meet specific criteria.

The cone operator is used to display data on the surface of a cone. The first image shows a field on the surface of the volume, the second image shows the field on the surface of a cone, and the third shows the field on the same surface mapped to a two-dimensional coordinate system.


The clip operator is used to remove regions of a three-dimensional volume. The first image shows the entire volume, the second image shows a rectangular region removed from the volume, and the third image shows a spherical region removed from the volume.


seed cell
layer 1
layer 2
whole volume

The cone operator is used to display data on the surface of a cone. The first image shows a field on the surface of the volume, the second image shows the field on the surface of a cone, and the third shows the field on the same surface mapped to a two-dimensional coordinate system.


The threshold operator is used to display cells where a scalar field value falls within a specified range. The first image shows the entire three-dimensional volume. The second image shows only the cells where the scalar field values are above a specified value and below another specified value.


    2     

Data Exploration

VisIt allows the ability to provide quantitative as well as qualitative information from a scientific data set.

The line-out creates curves of field values as a function of distance along the line. The first image shows the scalar field and the lines through the data used to create the curves. The second image shows the resulting curves.


The pick operation returns information about selected points including location, cell ID, node IDs, and field values. The first image shows the scalar field and the points that were picked. The pick output window shows the information about the selected points.


VisIt allows you to gather quantitative information from a scientific dataset through queries. A query is a type of calculation that can return values from a dataset or values that are calculated using data from the dataset. Some queries can even be executed for all of the time states in a scientific dataset to yield a Curve plot of the query's behavior over time.


In addition to its many visualization capabilities, VisIt provides a Spreadsheet plot for direct examination of a scientific dataset. The Spreadsheet plot displays data in table format and allows users to slice through 3D data interactively. The visualization window displays a tracer surface showing the source of the data displayed in the table. The spreadsheet appearance can be changed by setting the numeric precision or by coloring the numbers according to a color table.


Explore multivariate data using VisIt's ParallelAxis plot and locate trends and interactions between variables. The ParallelAxis plot can be used with the Extents tool to highlight regions of interest along each variable axis, in effect restricting the data to only the pieces that fit within the defined ranges on each axis. The Extents tool can be used in conjunction with the Threshold operator to show only the pieces of the scientific dataset that match the selected regions in the ParallelAxis plot.


VisIt contains tools to interactively position geometric shapes used by the operators. The first image shows the plane tool, used to interactively position a plane. The second image shows the sphere tool, used to interactively position a sphere. VisIt also includes a box tool, a line tool, a point tool, and an extents tool.


      3   

Graphical User Interface

VisIt has a powerful, yet easy-to-use graphical user interface (GUI).

VisIt window

The VisIt graphical user interface consists of a main control panel and one or more visualization windows. The control panel consists of a file selection area, active plots area, and a notepad area for posting attribute windows.


Keyframing window

The Keyframing window is used to create sophisticated animations. In this simple example, pressure is shown at the first time state for 30 frames, followed by the time evolution of pressure for 70 frames.


Help window

The help window provides complete documentation on VisIt. The information can be accessed either through the table of contents or an index. It is also possible to bookmark frequently accessed portions of the document.


volume plot attributes
volume plot attributes

The volume plot attributes window (left) is a powerful tool for setting the volume transform function used to map field values to opacity and color. The window contains a color map and an opacity map editor. The image above shows the resulting image.


The Save movie wizard (below) simplifies the process of making complicated movies by allowing you to design and use movie templates. Movie templates consist of VisIt visualizations and special effects. Movie templates are created by mapping visualization sequences to movie viewports and then adding transition and compositing sequences. Movie templates can be saved for later use and can be used with different data files to create movies of suites of simulation runs.

save movie wizard
save movie wizard

        

 

This page shows examples of visualizations that have been created with VisIt. Some visualizations have been contributed by VisIt customers. If you would like to submit an image for the gallery, please send an image and a description of the visualization to the brugger1 [at] llnl.gov (VisIt Webmaster).

Click on any of the visualizations below to view a larger image.