VisIt 2.8 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
General features added in version 2.8
- VisIt's Export mechanism has been enhanced so that all active plots in the plot list are now exported instead of just the first active plot in the plot list. The current implementation creates numbered files with one file per plot.
- VisIt now features a database plugin that enables VisIt to export FieldView XDB extract files for subsequent analysis in Intelligent Light's commercial post-processing software, FieldView.
- VisIt's Export mechanism has been enhanced so that all time states in a dataset can be exported. Click the "Export all time states" check box in the Export window to enable exporting all time states.
- VisIt's CLI now handles sys.argv like a traditional python interpreter. This shift simplifies argument parsing by standard python modules. The Argv() function is preserved for existing VisIt scripts.
- VisIt's CLI has two new command line options that select a non interactive mode: -ni or -non-interactive. With these options the CLI exits after executing the script passed with -s, bringing visit -nowin -cli -ni -s script.py closer to the execution behavior of python script.py. These options eliminate the need to add explicit sys.exit calls to existing scripts, making VisIt's CLI compatible with a wider set of python scripts, particularly setup.py scripts for python modules.
- The AMRStitchCell operator for extraction of crack-free isosurfaces from AMR data is now enabled by default and VisIt generates the approriate ghost zones by default. Specifying the command line option -create-ghosts-for-t-intersections is no longer necessary. This option has been replaced with a new option -disable-ghosts-for-t-intersections, which reverts back to the old method. Currently the BoxLib, Chombo and FLASH (experimental) database plugins add meta data required by the plugin. If you need to use this operator for other AMR file formats, please contact the VisIt developers.
Advanced features added in version 2.8
- Libsim was enhanced so that simulations can expose global node and cell ids for unstructured meshes.
- VisIt's database plugin API and load balancer were enhanced so that database plugins can return different domain decompositions for multidomain meshes. This feature enables libsim-instrumented simulations to more easily return their domain to processor mapping in the event that there are multiple multi-domain meshes that each have different domain decompositions.
- VisIt's CLI now provides a GetEngineProperties() function that returns engine properties. This makes it easier to query engines and simulations to determine the number of processors that they are using.
Changes in GUI behavior for version 2.8
- VisIt's Export window can use spaces or commas as delimiters for the variable list. This permits export of variables that contain spaces in their names via the GUI.
- VisIt's Export window can now display license strings from database plugins that provide license information. The license is displayed just before exporting the active plots to the database format.
- The color table window now has a toggle that allows grouping of color tables by a category name. This will affect how the table names appear in this window as well as ColorTable buttons for plot attribute windows (like Pseudocolor). By default, VisIt's tables will be under the 'Standard' category, while personal tables will be 'UserDefined'. Category names may be changed, and a text edit is provided in the ColorTable window when grouping is enabled. If VisIt only loads its standard tables, and the category names have not been changed, then the grouping toggle will have no effect other than to make the category name text-edit available. If you change the category name for Standard tables, saving your settings will preserve the new naming across VisIt sessions. For UserDefined tables, color tables must be re-exported to pick up changes in category.
- The "Time Curve Option" in the Pick attributes of the Query window is now defaulted to match the type of pick chosen when selecting a Time pick:
- "Pick using domain and element Id" => "Preserve Picked Element Id"
- "Pick using coordinate" => "Preserve Picked Coordinate"
- The tabs in the Pseudocolor plot attributes window have been replaced with collapsible panels. This is an experimental change and we would like to hear user feedback on the usefulness of the feature before adding it to other windows.
File format reader changes in version 2.8
- An enhanced version of the AMR reader was added.
- A reader for parallel Velodyne files was added.
- A reader for ViSUS IDX files was added, incorporating view-dependent data loading.
- The Silo reader was updated to use Silo 4.10.
- The Silo plugin now supports namescheme'd multi-block objects with empty Silo objects replacing the "EMPTY" keyword convention. It is no longer necessary for data producers to use the DBOPT_MB_REPR_BLOCK_IDX option.
- The Silo plugin now supports tensor multi-vars. Previously, data producers were required to write scalar multi-vars and then bundle these into a tensor multivar using a defvars object.
- The Silo plugin now supports curves stored in the Silo file via polar coordinates.
- The Silo plugin now supports variables with missing data.
- For more information regarding new features of Silo 4.10, please see these notes. But be aware that some features available in Silo 4.10 library are yet to be supported by VisIt's Silo reader.
- The Curv2d reader can now read double-precision sized data. Scaling may be required to correctly render very-large sized values.
- The CGNS reader was updated to use cngslib version 3.2.1.
- A reader for MFEM files was added. The reader supports collections of MFEM meshes and grid functions grouped by a simple JSON file. MFEM is a toolkit that supports meshes with higher order finite elements. This reader provides level-of-detail support that refines MFEM meshes to standard VTK elements of increasing resolution. Use the "MultiresControl" operator to select the refinement level for a given plot. Example datasets are available here.
- The PLOT3D reader was updated to include support for reading Fortran-formatted binary data, to pass along double-precision data if present in the files, and to fix bugs. The reader now has File Open options that can replace the use of the .vp3d Meta File for specifying file format variants. If utilizing the options, have VisIt open the grid file, and then specify the Solution file name in the options. The solution file location is assumed relative to the grid file location.
- The PLOT2D reader was removed, as the PLOT3D reader supports 2D data.
Changes to VisIt's operators version in 2.8
- A new option was added to the OnionPeel operator that can make the operator deliver results related to the currently plotted mesh instead of the original mesh. This may be helpful in the case of arbitrary polyhedral data, where zones are split and one would like to examine how the splits occurred. The default behavior for OnionPeel has been (and continues to be) to honor the original mesh as much as possible. To modify it to use the actual mesh change 'Honor original mesh' to 'Honor actual mesh' in the GUI or change 'honorOriginalMesh' from 1 to 0 in the CLI.
- The Radial Resampling operator has been added to this release. The new operator resamples a mesh onto an unstructured circular mesh (2D) or an unstructured spherical mesh (3D). There is also a "fast mode" option that uses structured mesh for both 2D and 3D, however, accuracy is sacrificed in fast mode since structured meshes can only have quadrilateral (2D) or hexahedron cells (3D) resulting in a very small hole in the center of the mesh.
Changes to VisIt's expression language in version 2.8
- Expressions can now accept double-precision sized float constants.
- The new array_sum expression computes the sum of all elements in an array and returns it as scalar.
- The new lambda2 expression produces a scalar value that is based on the observation that, in regions where lambda2 is less than zero, rotation exceeds strain and indicates the presence of a vortex.
- The new q_criterion expression produces a scalar value that is based on the observation that, in regions where q_criterion is greater than zero, rotation exceeds strain and indicates the presence of a vortex.
Changes to VisIt's picks and queries in version 2.8
- All queries now provide Xml results.
- Queries called from the CLI have been modified to always return a value. The type of returned object is user-settable, and consists of 3 options:
- String (default): The same as calling GetQueryOutputString()
- Value: The same as calling GetQueryOutputValue()
- Object: The same as calling GetQueryOutputObject()
The options are chosen via new methods: SetQueryOutputToString(), SetQueryOutputToValue(), or SetQueryOutputToObject(). The option remains valid for all queries during the current VisIt session, unless another call to SetQueryOutputToXXX is made. Calls to GetQueryOutputXXX can still be made, regardless of the query return type chosen. NOTE: The old query output messages are hereby suppressed when making a Query via the CLI.
- The Spherical and Elliptical Compactness Factor queries have a new option to select the centroid used in factor calculations. If an explicit centroid is not set, the center of mass is automatically used.
Other bugs fixed in version 2.8
- The Export Database window will no longer allow file-system browsing when exporting to a remote host.
- Corrected poor behavior with updating Curve plot attributes when 'Auto apply' was selected and multiple Curve plots were drawn.
- Corrected command recording for QueryOverTimeAttributes.
- Corrected a tesselation bug that was preventing the polyhedral simulation example from rendering correctly.
- Corrected a memory leak in the unstructured mesh ghost cell generation that was based on global node ids.
- Corrected a problem preventing ghost cells from being generated for 2D unstructured cell types. This fixes a bug where wireframe FilledBoundary plots were showing wireframes along domain boundaries.
- Eliminated a problem-sized memory leak in the Clip operator after processing domains that resulted in zero clipped geometry.
- Corrected a pick bug where global ids would sometimes not be reported correctly.
- Corrected a crash with Silo data and material subsetted variables.
- Corrected a bug where export attributes were not saved to VisIt's config file.
- Corrected a bug where the OnionPeel operator wasn't working correctly for arbitrary polyhedral data.
- Corrected a problem in libsim where the curve simulation yielded the wrong curve.
- Corrected a bug in PickByZone where the point returned did not match the picked zone's center.
- Corrected a bug where the viewer's popup menu would incorrectly reappear after doing operations that required the plots to change or update. This would happen once the popup menu had been activated.
- Corrected a bug where the Threshold operator attributes window would not use enough precision to display large values.
- Corrected a bug with the multi-pass CSG discretization. It would crash if the number of processors was large and the smallest zone size was set so that it generated a coarse mesh. For example, using 128 processors and a smallest zone size greater than 0.05.
- Corrected a bug in Exodus plugin handling single block meshes where time states are in different files.
Changes for VisIt developers in version 2.8
Click the following link to view the release notes for the previous version
of VisIt: VisIt 2.7.3 Release Notes.