VisIt 2.4 Release Notes

Welcome to VisIt's release notes page. This page describes the important enhancements and bug-fixes that were added to this release.

Sections

- Features for all users
- Features for advanced users
- Changes in GUI behavior
- Changes to file format readers
- Changes to plots
- Changes to operators
- Changes to expressions
- Changes to picks and queries
- Other bug fixes
- Changes to machine configuration files
- Changes for VisIt developers

General features added in version 2.4

- The Host profiles window was enhanced so it is possible to set the maximum number of nodes and processors for a given computer. If these limits are set then the viewer's profile chooser dialog prevents the user from choosing more nodes or processors than are allowed.
- The Compute engine window was enhanced so it can show the number of processors using GPUs for rendering. The window now also shows the domain assignment used by the load balancer. In addition, these statistics are now read back from the engine that was actually launched so differences in number of processors requested vs used are apparent. This means that simulations can now accurately display their number of processors.
- VisIt is better able to detect the desktop geometry so it should not initially create the main window so it is too tall for the screen. When possible, care is also taken to avoid windows such as the MacOS X dock.
- Windows distributions now contain MSMPI based parallel components and will be installed if the installer detects multiple CPUs. If MSMPI is not already available on the machine, installation of parallel components will require admin privileges.

Advanced features added in version 2.4

- Libsim was enhanced so it offers support for attaching mesh-sized ghost cell arrays to rectilinear, curvilinear, and unstructured meshes. This method for creating ghost cells allows any cell in the mesh to be a ghost cell so it is more flexible than the existing index-based approach to ghost cells, which still works. If a ghost cells array is added to a mesh then those values are used instead of the ghost zone indices. The new ghost zone approach allows different flavors of ghost cell, including VISIT_GHOSTCELL_BLANK, which lets you remove cell from a mesh. When older versions of VisIt connect to a newer Libsim with these ghost cell enhancements, the new functions have no effect.
- Libsim was enhanced to support setting cell and node origin in mesh metadata.
- Libsim was enhanced to support setting spatial extents in mesh metadata.
- Cumulative query selections were enhanced so they can cache intermediate results obtained from executing filters over time. This accelerates operations that modify the histogram such as changing the summation rule, display type, and bin properties. Modifying the selection variable list or ranges do not benefit from caching.
- Cumulative query selection variable range controls now can use the min and max convention in addition to entering real numbers. This lets a variable's entire range get selected by default instead of forcing default values of 0 and 1 for the range.
- The constructive solid geometry meshing now supports two-dimensional grids and common 2D primitives like lines and circles.
- The 'time' portion of the legend can now be turned off.
- Queries over time no longer display time information in their legends.
- A 2D multi-resolution rendering capability was added for 2D AMR data. It only reads in and displays patches with cells that are larger than the user specified smallest cell size and are within the current view. The multi-resolution rendering is disabled by default. The controls for the multi-resolution rendering are located on the Basic tab on the Rendering options window, which can be brought up by selecting Options->Rendering... from the menu bar on the main GUI window. The controls can be used to turn on and off the multi-resolution rendering and set the smallest cell size.

Changes in GUI behavior for version 2.4

- The shadowing and depth cueing options, available in the Rendering options window, are no longer greyed out by default. These options are only available with VisIt's scalable rendering mode (software rendering). Previously, users had to enable software rendering to activate these buttons. Now, users can directly activate these buttons, which cause VisIt to go into software rendering automatically.

File format reader changes in version 2.4

- Anders Petersson of the WPP code project has contributed a reader for WPP's volimage files.
- The BOV reader now reports time information correctly.
- A leak in the DDCMD reader was fixed.
- The ANALYZE reader was improved so it uses less memory.
- The PDB reader was improved to handle the case where the ireg array was not time-varying but the file was time-varying.
- The Image reader was enhanced so it can return vector data for image volumes.
- The CGNS reader was fixed so it can successfully read data from files that have been grouped using automatic file grouping.
- VisIt can now read XSF (XCrySDen Structure) files containing periodic structures (molecule, polymer, slab, and crystal with lattice vectors) and general grids.
- The Tecplot reader now supports shared variables, in both its ASCII and binary flavors. It also allows use of the strand ID, though it still assumes zones are equivalent to domains.
- Tecplot also now supports database options which allow the user to override automatic guessing of coordinate variables.
- VisIt's VTK reader now serves up 1D rectilinear grids as curve variables as well as scalar variables, making them plottable using the Curve plot.
- A bug was fixed with the SAMRAI reader with setting up ghost data.
- XDMF files now report time correctly in all cases, including when being used for pathlines.
- The Nek5000 reader now supports meshes with moving coordinates over time.
- The Silo database reader now properly supports UCD meshes with a mix triangles, quads and arbitrary polygons.
- The Image database reader no longer shifts cell centered grid coordinates by -0.5.

Changes to VisIt's plots in version 2.4

- Numerous changes were made to improve the robustness of the Streamline plot's pathline feature.
- Numerous changes were made to improve support in the Streamline plot with AMR data. VisIt's Streamline plot is now believed to work with AMR data in all cases.
- Multiple memory leaks with the Streamline plot were removed. The Streamline plot is now believed to be leak free.
- A memory leak was fixed with the Mesh plot.
- The limit on the number of slices for the volume plot's 3D texturing mode was increased to 1000 slices. Previously, the GUI allowed for up to 1000 slices, but the implementation was limited to 500 slices. This meant that changing the number of slices to numbers greater than 500 had no effect.

Changes to VisIt's operators in version 2.4

- The Extrude operator was added. The Extrude operator lets you extrude points, lines, and 2D cells along a vector to create lines, surfaces, and volumes.
- The DataBinning operator now supports spatial coordinates for the binning.
- The Line Sampler operator was added. This operator is similar to Line Out but what works like a standard operator. Documantation can be found in http://visitusers.org/index.php?title=LineSampler_Operator_in_VisIt

Changes to VisIt's expression language in version 2.4

- A bug was corrected in the strain_rate expression.

Changes to VisIt's picks and queries in version 2.4

- Arguments for queries in the CLI are now passed as named arguments (keyword args) or a python dictionary. eg Query("MinMax", use_actual_data=1) or Query("NodeCoords", element=1, domain=2)
- Default arguments for a query may be retrieved in the CLI via GetQueryParameters(QueryName) The method returns a python dictionary, which can be modified and used as the argument to the Query.
- You no longer have to specify all the accepted arguments for a query if the default values will suffice.
- Picking via the Query window has been consolidated into one method Pick with more options for what type of pick should be performed. The CLI options for Pick currently remain the same.
- Options for controlling start/end times and stride for queries-over-time can now be specified in the Query window, and as keyword args in the CLI. eg QueryOverTime("Min", start_time=50, end_time=250, stride=5).Defaults if not specified remain start_time=0, end_time=numTimeStates, stride=1).
- Pick no longer returns timestep information for single-timestate data.
- Pick output for Tensors and Arrays has been cleaned up.
- There is a new method in the CLI for retrieving pick output. GetPickOutputObject() will return pick results as a python dictionary.
- The Query() method in the CLI now uses case intensive string matching to look up and execute queries.

Other bugs fixed in version 2.4

- Named selections based directly on a database instead of a plot were not recreated when restoring a session.
- Cumulative query selections based on a database instead of a plot failed to be created when a compute engine did not already exist. Furthermore, if the selection used expressions that had not been previously used in plots, the selection would not be calculated.
- The VisIt GUI would fail to connect to a remote computer if the remote username was changed in the Change username window while connecting to the remote computer. The viewer would connect to the remote computer but it would also send the gui a message that caused it to stop waiting for a connection from the metadata server.
- The POV-Ray exporter no longer uses the locale when generating color tables; this could insert commas instead of decimal places and cause errors when parsing the file in POV-Ray.
- Minimum and Maximum variable range settings for Cumulative Queries could be lost in the Selections window when clicking on the Update Selection button.
- The histogram display for Cumulative Query variable ranges was not showing valid variable extents.
- Attempting to use invalid expressions in Cumulative Queries caused an error message about the selection being deleted.
- Saved lineout results from a multi-domain dataset create single curve instead of one curve per domain.
- The axis annotations are now always accurate. A user uncovered behavior where the annotation could be misleading when users set the annotation ranges explicitly.
- AMR nesting info is now being created in cases where the engine has more MPI Tasks than active domains.
- CMFE Expression generation via the Data-Level Comparisons Wizard was improved.
- Connecting to a remote machine through a gateway did not work when the name on the remote machine did not match the name on the local machine.

Changes to configuration files in version 2.4

- VisIt's installation script, visit-install, now provides options to install for LLNL's CZ and RZ domains in addition to the entire open network configuration which installs both CZ and RZ host profiles.

Changes for VisIt developers in version 2.4

- VisIt was ported to an enhanced version of VTK 5.8.0.
- There is now an "aprun" option for launching parallel jobs.
- Queries can now have custom widgets added to the Query window, allowing more useful controls of options.
- VisIt's static build has been fixed.
- Simulations that link to libsim can now also link in the rest of VisIt's libraries statically when VisIt has been built statically (pass -DVISIT_STATIC:BOOL=ON to cmake). This means that the usual loading of the simulation runtime library is not done and all symbols are resolved at link time. This change makes it possible to deploy libsim-instrumented simulations on platforms that lack shared libraries.

Click the following link to view the release notes for the previous version of VisIt: VisIt 2.3.2 Release Notes.