Visit
From CFD-Wiki
VisIt is a free interactive parallel visualization and graphical analysis tool for viewing scientific data on Unix and PC platforms. Users can quickly generate visualizations from their data, animate them through time, manipulate them, and save the resulting images for presentations. VisIt contains a rich set of visualization features so that you can view your data in a variety of ways. It can be used to visualize scalar and vector fields defined on two- and three-dimensional (2D and 3D) structured and unstructured meshes. VisIt was designed to handle very large data set sizes in the terascale range and yet can also handle small data sets in the kilobyte range. See the table below for more details about the tool's features.
History
VisIt was developed by the Department of Energy (DOE) Advanced Simulation and Computing Initiative (ASCI) to visualize and analyze the results of terascale simulations. It was developed as a framework for adding custom capabilities and rapidly deploying new visualization technologies. After an initial prototype effort, work on VisIt began in the summer of 2000, and the initial version of VisIt was released in the fall of 2002. Although the primary driving force behind the development of VisIt was for visualizing terascale data, it is also well suited for visualizing data from typical simulations on desktop systems. Because of its applicability beyond visualizing terascale data, we are making VisIt freely available as open source software.
Key Features
Feature | Description/Example |
---|---|
Has rich feature set for scalar and vector field visualization |
VisIt's visualization capabilities are primarily grouped into two categories:
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:
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 rectilinear, curvilinear, and unstructured 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 visualizing terascale data sets |
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:
|
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) and Windows platforms. Software for these platforms can be downloaded. |
Open-source code |
VisIt's code is open source, allowing programmers to read, redistribute, and modify the source code. |