VisIt 1.12 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 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 1.12

- It is now possible to transform the time shown in the database information and time slider annotations. The new controls for time in the Annotations window allow you to scale time and add an offset.
- It is now possible to execute Ultra (curve plotting software) commands from within VisIt. This is accomplished from the CLI by using the new 'LoadUltra()' command, which will replace VisIt's command prompt with an Ultra prompt, allowing only Ultra commands to be entered. 'end' or 'quit' must be entered to return to VisIt's cli prompt. Use 'help' at the Ultra prompt for information about currently supported commands.
- It is now possible to replace only selected plots. It is available from the right click popup menu in the File Panel.
- VisIt's Main window has been reorganized when running on computers with displays whose vertical resolutions is less than 1024 pixels. When running on such a display, the entire Main window is now a notepad area and the usual Main window contents are posted as a tab into the notepad. This permits other VisIt postable windows to be posted instead of preventing postable windows from posting.

Advanced features added in version 1.12

- VisIt can now connect to simulations using SSH tunneling.
- The makemovie script was enhanced to take the option -enginerestartinterval. It causes the engine to be restarted every time the specified number of images is created. This is useful if there is a memory leak in VisIt that causes makemovie to hang after some number of images is created.

File format reader changes in version 1.12

- The PDB reader now supports "streak plots". A streak plot is a 1D slice through an array that is stacked vertically and shown over time along the X axis. Streak plots reveal time-varying behavior present in the 1D slice as a 2D dataset. Streak plots are mainly for the investigation of "history data", which are various arrays stored to the PDB file by a simulation's user. Since history data are arbitrary and may not even be mesh data, VisIt does not know how to handle them in general. The PDB reader allows the user to provide a simple "schema" file that contains "streakplot" commands that inform the PDB reader how to slice and assemble various history data arrays into streak plot datasets that VisIt can visualize.
- The Pixie reader was fixed so moving meshes work properly.
- The Dyna3D reader has been enhanced so it is more tolerant of variable length material cards and malformed material cards.
- The Mili reader is now available for the windows platform.
- The STL reader has been fixed so it no longer crashes on MacOS X.
- The BOV reader has been enhanced so that it supports short integer (16 bit) data. Use the SHORT keyword for the DATA_FORMAT in the BOV header file to specify that your BOV file contains short integer data.
- The PlainText reader has been enhanced so that it accepts a maximum line length or 32K characters, up from 4K characters.
- The PDB reader supports another convention.
- The VTK reader has been enhanced so it exposes array variables for arrays containing many components. If those arrays contain character or unsigned character data then VisIt exposes them as label variables.
- The PATRAN reader now serves up cell-centered variables defined with card 4 as scalars that can be plotted. For lack of a better method of naming them, they are called: property1, property2, and so on.
- The MFIX reader was fixed to support multiple time states.
- The Enzo reader now supports the new packed AMR version of this format.
- The XYZ file format now supports Exporting data.
- The XYZ file reader now supports both atomic numbers and atomic symbols in the first column, it now allows differing numbers of atoms in each time step, and it also now supports the CrystalMaker variant of the format.
- The PFLOTRAN reader now supports the most current variant of the format. Note that variable centering has changed; this improves support for the old format as well, but turns off automatic domain decomposition for this old format. It also works around a bug in some HDF5 implementations which caused problems when reading integer data.
- The simulation reader was not freeing unstructured data.
- The performance of ITAPS reader with debugging output was improved substantially.
- The ITAPS reader was enhanced to handle a Zoltan mesh PARALLEL_PARTITION grouping.
- The M3D reader was updated.
- The NASTRAN reader was enhanced to handle a specialized exponentiation notation where the 'e' character is intentionally NOT used to provide one additional character of precision in the mantissa of floating point data.
- The NASTRAN reader was enhanced to handle materials. A read option can be set to either specify the number of materials before opening the file or tell VisIt to search for materials during the open (which may substantially increase time to open a file). By default, materials are NOT enabled.
- The Point3D reader could crash the metadata server when changing files.
- The Xmdv writer now writes numbers with more precision.
- The XDMF reader was enhanced to recognize "xdmf" as an extension.
- The XDMF reader is now case insensitive for all keywords in the xml file.
- The XDMF reader was enhanced to handle the Time tag.
- A bug was corrected in the XDMF reader where integer data was not properly handled in an HDF5 file.
- A memory error was corrected in the PDB PF3D reader.
- The PDB PF3D reader was enhanced to support a new version of the PF3D format.
- A bug in the Silo reader effecting plotting of multi-material objects with name and/or color options specified was fixed.
- The robustness of Silo reader was improved so that otherwise good Silo files with some bad objects may still load into VisIt properly.
- Fixed processing of the hideFromGUI option for numerous Silo objects in the Silo reader.
- The Silo writer has been enhanced to properly save out ghost zones for unstructured meshes as ghost instead of as real zones. This ensures they will be handled correctly when the Silo dataset is read back into VisIt.
- The Silo writer was enhanced so it saves expression definitions stored in the files associated with the data being exported when exporting databases. This permits VisIt to transform an input database, export, and still retain the expression definitions from the original database.
- The Silo writer was enhanced so that it preserves directory hierarchies for variables when exporting databases. This means that variables that contain slashes "/" in the names will cause intermediate directories to be created, which is most often how those variables acquired the "/" characters.
- The Silo writer was enhanced to handle the case where the meshes in a multimesh or multivar were not all of the same type.
- A PlasmaState reader has been added.
- A LAMMPS reader has been added. It supports two of LAMMPS file formats: the input format used in the read_data command, and the output dump format of several variants.
- A paraDIS reader has been added. It supports paraDIS data and paraDIS-style tecplot data.
- The Nek3D reader was replaced with the Nek5000 reader. The Nek5000 reader has better performance than the Nek3D reader and corrects a number of bugs that were present in the Nek3D reader.
- The simulation reader was not freeing unstructured data.
- The M3D reader was updated.
- The Point3D reader could crash the metadata server when changing files.
- The Xmdv writer now writes numbers with more precision.
- The XDMF reader was enhanced to recognize "xdmf" as an extension.
- The XDMF reader is now case insensitive for all keywords in the xml file.
- A bug was corrected in the XDMF reader where integer data was not properly handled in an HDF5 file.
- A memory error was corrected in the PDB PF3D reader.
- The PDB PF3D reader was enhanced to support a new version of the PF3D format.
- The Silo writer was enhanced so it saves expression definitions stored in the files associated with the data being exported when exporting databases. This permits VisIt to transform an input database, export, and still retain the expression definitions from the original database.
- The Silo writer was enhanced to handle the case where the meshes in a multimesh or multivar were not all of the same type.
- The Nek3D reader was replaced with the Nek5000 reader. The Nek5000 reader has better performance than the Nek3D reader and corrects a number of bugs that were present in the Nek3D reader.

Changes to VisIt's plots in version 1.12

- The Poincaré plot has been added, which supports topological analysis of magnetic fieldlines in fusion codes.
- The Spreadsheet plot was enhanced so it is now possible to extract rows or columns of data and create Curve plots of the data vs. the X or Y mesh coordinates. This allows plotting of curves from what is essentially a "logical lineout".
- The Spreadsheet plot now highlights the correct cell for node picks.
- The Mesh plot now supports transulcent mesh lines.
- A Subset plot of a whole mesh, a simple way to get a single-color lit and shaded plot of an entire dataset, now works correctly.
- The multidimensional axes, such as the ones used in the Parallel Coordinates plot, have been improved with support for scientific notation, correct number of significant digits in tick mark labels, and better fonts.
- The Parallel Coordinates plot now supports a graduated color scheme for focus rendering, similar to the way the context is rendered.
- The Parallel Coordinates plot now supports histograms for the context, which allows it to function with constant speed when using supported formats like FastBit.
- The Parallel Coordinates plot now also supports optionally using histograms for the focus instead of plotting all data values. For a fixed display resolution, this is functionally equivalent when using a single color focus, but scales to arbitrarily large data sets.
- Some bugs related to axes and the Parallel Coordinates plot were fixed, including a crash, which could occur in unusual circumstances.
- The Streamline plot has been enhanced so that streamlines can be colored by a mesh variable.

Changes to VisIt's operators in version 1.12

- The Box operator now works correctly with curves.
- The Revolve operator was fixed so it can once more revolve about a user-defined axis of revolution.
- The Lineout operator was fixed so that the no-sampling mode handles very small-scale data.
- The Replicate operator has a new feature which allows it to shift the origin/extents of a periodic-boundary condition atomic data set.
- The Contour operator was corrected so that it would properly handle the case where the operator was iso surfacing based on the non default variable and the database reader providing the data provided interval trees for the variables in the file.
- The TriangulateRegularPoints operator was added. It will triangulate a set of points into a mesh assuming that the points come from regularly sampling a topologically 2 dimensional surface. If there are holes in the surface it will maintain those holes. The operator will try to determine the sampling interval in the x and y directions. If it gets it wrong the user can input them manually. The algorithm is amazingly tolerant of incorrect sampling intervals that are greater than the actual sampling interval. Values smaller than the actual sampling interval will result in gaps in the surface.

Changes to VisIt's expression language in version 1.12

- Added hyperbolic versions of sine, cosine and tangent: sinh, cosh, and tanh.
- An optional numeric argument was added to the ln and log10 expressions. The value specified will be used in liu of taking ln/log10 of non-positive values and will prevent VisIt from throwing exceptions when non-positive values are encountered.
- Better support for various centering options was added to expressions, including single-cell meshes and other unusual cases.

Changes to VisIt's picks and queries in version 1.12

- The Hohlraum Flux query could crash the parallel compute engine if a processor did not have data.
- The Hohlraum Flux query could return all zeroes in the event that many of the line segments produced by its line scan were duplicates. This prevented the query from linking the line scans into larger connected lines along which the Hohlraum Flux query integrates its results.
- The Hohlraum Flux query was enhanced so that it takes an additional optional argument that indicates if it should use the emissivity divided by the absorbtivity in place of the emissivity.
  In the cli, the Hohlraum Flux query now takes an optional second integer value that controls this behavior. The old syntax, which is still supported is:
  Query("Hohlraum Flux", 100, 0.5, 0.5, 0., 0.1, 0., 0., ("a0", "e0"))
  The new syntax is now:
  Query("Hohlraum Flux", 100, 0, 0.5, 0.5, 0., 0.1, 0., 0., ("a0", "e0"))
  The third argument controls the optional behavior. Using a "0" gives the old behavior and using a "1" gives the new optional behavior.
  In the gui, the Hohlraum Fluxquery now has a new text field labeled "Divide Emis by Absorb" that controls this behavior. As with the cli, using a "0" gives the old behavior and using a "1" gives the new behavior.

Other bugs fixed in version 1.12

- Various compilation issues were resolved for compiling VisIt on Linux-PPC systems. Thanks to Patrick Shinpaugh for the fixes!
- When using the context menu in the plot list, copying a plot via the Copy plot menu option would result in no plots being selected. The default behavior has been modified so the new, copied plot is made active.
- The Fortran libsim interface could crash the simulation in the event that VisIt was unable to connect to the simulation.
- VisIt was not sending expression definitions to the compute engine prior to executing a database query. This could cause database queries to fail if the expressions had not already been sent to the compute engine for another reason such as for creating a plot.
- VisIt's component launcher program was fixed so users can use "Parse from SSH_CLIENT" in their host profiles when connecting to libsim-instrumented simulations that run on remote computers. That setting would previously cause simulations to crash when VisIt connected to them.
- Fixed log-view scaling so that it works correctly with 2d Contour plots.
- VisIt can now group files ending in .h5 when smart file grouping is used.
- 3D Text annotations now are drawn when scalable rendering is used.
- The POV-Ray file writer now correctly writes its generated include files (such as color tables, atomic property definitions) to the same directory as the rest of the output files.
- Made improvements to the AdamsBashforth solver used for streamline calculation.
- Compilation fixes were added for recent GNU compilers.
- A bug was fixed which caused small-scale AMR datasets to deadlock when operating in parallel.
- Some third party libraries were updated in `build_visit`, mostly to work around compilation issues on modern systems.
- A compositing bug involving 'white pixels' was fixed. For details, see this mailing list thread.
- The IceT compositing code path will now fall back to other compositors when transparency is in use, making it 'safe' to leave enabled in all cases.
- `build_visit` will pause when notifying the user that it cannot find required programs for the curses-based interface.
- Fixed a parallel bug with DDFs that caused all processors to unnecessarily write results to disk.
- Save as curve now writes numbers with more precision.
- `build_visit` now properly handles Silo as optional instead of always requiring it.
- The visitconvert utility now supports read options.
- The parallel data collection algorithm in the engine, which executes just prior to the shipping of data to viewer, was improved to address scaling issues. The improvement is substantial for large numbers of cpus (say more than 1,000).
- A problem launching VisIt from one portion of a Lustre filesystem when another portion is down was fixed.

Changes to configuration files in version 1.12

- A parallel interactive pdebug host profile was added for LLNL's hera system.

Changes for VisIt developers in version 1.12

- The xml2projectfile utility is now built by default.
- The configure script now provides an --enable-engine-only option that lets you build just the compute engine and its plugins. This option is useful when you need to build just a compute engine for a remote server.
- The configure script now provides an --enable-server-components-only option that lets you build only the compute engine, mdserver, vcl, and their plugins.
- The configure script now provides an --enable-dbio-only option that builds only enough of VisIt to link the visitconvert tool. This basically involves only the parts of VisIt necessary to perform database I/O operations.
- The compute engine was ported to BlueGene/P.
- For builds in which CXXFLAGS does NOT contain '-g', the top-level Makefile now performs a check to see if any environment variables might collide with VisIt make variables. If such a situation is detected, a warning message is issued and the make is aborted. The warning message indicates how to correct the situation.

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