180 likes | 306 Views
VisIt 2.0 Features. Brad Whitlock. Overview. VisIt Background Better Practices GUI Facelift File Reader Improvements Volume Plot Streamline Plot Data Analysis Data Binning Python Filters Selections Alternate user interfaces In-situ visualization. VisIt Background.
E N D
VisIt 2.0 Features Brad Whitlock
Overview • VisIt Background • Better Practices • GUI Facelift • File Reader Improvements • Volume Plot • Streamline Plot • Data Analysis • Data Binning • Python Filters • Selections • Alternate user interfaces • In-situ visualization
VisIt Background • VisIt is an open source data analysis and visualization application designed to process extremely large data sets. VisIt is often used for interactive data exploration, comparative analysis, visual debugging, quantitative analysis, and presentation graphics. • Started at LLNL in 2000 • R&D 100 award winner in 2005 • VisIt has spread to many other labs and universities • VisItis actively developed at • LLNL • Oak Ridge National Lab • Lawrence Berkeley Lab • UC Davis • University of Utah • TACC • Used by end-users • Used to deploy research
VisIt can handle your data • VisIt can handle the largest datasets • VisIt has run at scale on 64K processors on LLNL’sdawn (June 2009) • VisIt was able to handle an 8 trillion cell dataset using 12K processors on LLNL’sgraph cluster Core-collapse supernova simulation from the CHIMERA code (image by Hank Childs)
Curve Rectilinear Curvilinear Unstructured Points AMR Rich Data Model • Read over 100 file formats • Plugin architecture makes it easy read new formats or add new plots and operators • Rich data model • Meshes • Points • Curves • Structured • Unstructured • AMR • CSG • Fields • Materials • Species • Molecular data Molecular data CSG
VisIt architecture Desktop computer • 4 main components • Graphical User Interface (GUI) • Viewer • Database server • Compute engine • GUI and Viewer usually meant to run locally on your desktop computer • Database server and parallel compute engine can run on remote computers where the data files are located and talk to the GUI and viewer running on your desktop computer GUI Viewer Database server Parallel compute engine Parallel compute engine Parallel compute engine Parallel compute engine Data files Remote computer
Better Practices • Online bug tracker at visitbugs.ornl.gov • New CMake build system • 1 source of build logic for all platforms • Build system automatically generated • No separate Windows build system anymore! • Continuous integration builds on different platforms using buildbot • Nightly regression testing Redmine
GUI Facelift 1.12 2.0 • Ported VisIt to Qt 4 • Selected files list gives way to Open files • Plot and Operator windows group related options • Operators are now categorized • Customizable • Allows all operators to be enabled • Redesigned host profiles window is easier to setup and manage profiles • Internationalization support • A user contributed a Dutch translation
File Reader Improvements • Automatic file format detection was greatly improved • Many improved readers • Silo reader uses Silo 4.7 • Some readers can prompt VisIt to ask the user to fill in options that help the reader read the data correctly • New readers • Velodyne • MatrixMarket • Xdmf • AdventureIO • PFLOTRAN • STAR • GULP • PuReMD XML schema describes how to read HDF5 files
Volume Plot The Volume plot lets you use color and opacity to examine the interior structure of 3D scalar fields. • Ray-caster has been overhauled • Fewer samples are required to make good pictures • Lighting has been improved • Added support for 2D transfer functions • The GUI shows histograms of the data to guide transfer function creation (image from FLASH center)
Streamline Plot The Streamline plot lets you examine vector flow fields by advectingmassless particles from seed locations to see where they flow. • Totally rewritten for 2.0 • Streamlines can integrate across domain boundaries • Streamlines are AMR-aware and use the data for the appropriate AMR level • Performance enhanced with threads and adaptive communication strategies • Many new seeding options 10K streamlines through a flow jet (image by Hank Childs)
Data Analysis • Data-Level Comparison Wizard • Simplifies comparison of data on different meshes by setting up CMFE expressions • Data can be in the same database • Data can be in different time steps • Data can be in different databases • VisIt has new types of expressions for time iteration • Calculate the maximum, minimum or average value at a location • Calculate the time when a condition occurs (e.g. time when the maximum value at a location occurs) • Check Expressions Window for Time Iteration
Data Binning • DataBinning operator lets you relate multiple variables and bin them up to compute various quantities per bin • Sum • Count • Probability Density Function • Statistics • Average • Variance • Standard deviation • Min • Max • RMS • Add the DataBinning operator directly from plot menus
Python Filters Parallel engine Data source • VisIt now supports writing custom expressions and queries in Python • Enter Python expressions into the Expression window’s Python tab • Python interpreter embedded in the compute engine • Data gets passed as Python-wrapped VTK objects to user-defined Python code • Use VTK Python functions to manipulate data and perform calculations User-defined Python expression Expression filter Python Filter Filter
Selections • A selection is a reduced set of cells isolated from a dataset using VisIt's various methods of dataset reduction (threshold, slicing, clipping, etc.) • Selections can be applied to other plots, making it easy to look at different views of the data • Selections are linked to plots • The Selection window creates a selection from the active plot • Selections are applied to plots via the Subset window A selection defined by the ParallelCoordinates plot isolates cells in the original mesh
Alternate User Interfaces GUI Java interface • VisIt provides C++, Python, Java bindings to its ViewerProxy object • Use to create client applications that control VisIt’s viewer • GrizIt: a Python GUI that makes VisIt look like Griz • VisIt’s viewer can be directly embedded in Qt applications, giving them all of VisIt’s abilities • Vorpal Composer: an embedded VisIt application from Tech-X corp. Host application Python interface C++ interface
In-situ visualization VisIt provides libsim, which is a library that can let VisIt connect to your simulation code and operate in-situ on its data arrays. • Add functions to your simulation that let VisIt connect • Add functions to your simulation that expose your arrays as data VisIt will process • Link your simulation with libsim commands data • Run the simulation and connect with VisIt • You will be able to perform any of VisIt’s operations on your simulation data • Advance the simulation and watch your plots update libsim VisIt runtime Glue code Simulation • New libsim features • Species • Vector,Tensor data • AMR meshes • CSG meshes • Species • Vector,Tensordata • AMR meshes • CSG meshes • Users don’t allocate memory • Additional error checking • Single style for C and Fortran
Resources • For more information about VisIt’s newer features, see • Release notes • Visitusers.org • Contacting the VisIt team • VisIt help line (42-VIS) • VisIt user’s list (visit-users@email.ornl.gov) • VisIt developer’s list (visit-developers@email.ornl.gov) • VisIt forum (http://www.visitusers.org/forum/forum.pl)