by Chantal Pic
Research Professional, CERCA
Professor, École Polytechnique de Montréal and CERCA
VU is a state-of-the-art tridimensional visualization software package with a high level of configurability for the presentation of numerical calculation results and for the analysis of solutions. It responds to the needs of many application fields (CFD, civil engineering, applied mathematics, manufacturing, computational chemistry, etc.), at various phases of a simulation project (understanding, debugging, production). It is configurable according to users preferences, and compares very favorably with the other existing programs of visualization, offering also a personalized and high level support to the users.
The first official announcement of the availability of VU was made in the first bulletin of the CFDSC, in 1993. Seven years later and with now more than 300 users, where is VU headed and what help can it bring to CFD researchers?
Started in 1987 at École Polytechnique using the gl and graPHIGS graphic libraries and an in-house user interface, the development of VU made a major move in 1995, with the release of VU version 3. This new version uses shared memory with multiple processes, and the OpenGL and OSF/Motif libraries which have since become standards in the Unix community. VU finds applications in image production, understanding of physical phenomena, visual monitoring of convergence, and debugging. It accepts data from a multitude of sources (2-3D models, various numerical methods, structured, unstructured or hybrid grids). It is available on computers of various sizes, from Linux laptops to workstations and Infinite Reality engines, on all Unix platforms (including Linux). It is presently used by more than 300 researchers working in universities, research centers and companies in 15 countries.
1.2 Virtual Reality
Because of the growing complexity of three-dimensional numerical simulations, we have conducted research in order to explore advanced virtual reality techniques. In 1997, this resulted in an implementation of VU for stereoscopic visualization on workstations. This was followed in 1998 by the integration of VU in virtual reality immersion environments. A working prototype won the Best Industrial Collaboration Award in the IEEE SC98 HPC Challenge (Orlando, Florida, November 7-13, 1998). The challenge entry involved the transfer of a large (2.5×10^6 elements) 3D mold filling simulation being computed on multiprocessor servers, located at both the Industrial Materials Institute (NRC/IMI) in Boucherville and Indiana University, to an immersive environment for real-time visualization at the conference site in Florida. Both the data transfer and the visualization were done through VU. To this end, a new transfer protocol was implemented (vu:), allowing VU running on one machine to fetch simulation data directly from a solver running on another machine at a remote site. The presentation team for this challenge was made up of Benoît Ozell, and of Jean-François Hétu, Industrial Materials Institute, NRC, Randall Bramley, University of Indiana (instigator and coordinator of the challenge entry), and of representatives from Los Alamos National Laboratory and Argonne National Laboratory.
By the beginning of summer 2000, a CAVE environment will be set up at École Polytechnique in Montreal, where VU will be used for research purposes, including virtual prototyping.
2. Theoretical Background
2.1 Visualization Language
The study and innovative application of linguistics and communication has established a bridge between different scientific disciplines, providing a general approach to scientific visualization and a natural multidisciplinary environment. By structuring and broadening the concepts related to the activity of visualization, a generic tool, VU, was developed for the analysis of numerical solutions by researchers working in different areas.
Being based on a generic structure, VU can accept grids containing one or several structured and/or unstructured zones, and solutions containing scalar, vector and tensor fields using continuous or discontinuous interpolating functions, and resulting from solvers using finite elements, finite volumes or finite differences.
VU structure is simple, allowing to obtain images very quickly. To create an image, two questions have to be answered: “where” to probe the solution, and “what” graphical representation to use. The user can choose interactively almost any combination of “where” and “what”. This simple structure is due to the application of communication principles to scientific visualization, resulting in the elaboration of a program based on a new visualization paradigm.
“Wheres” can be user specified cutting planes, spheres or cylinders; domain boundaries; curvilinear grid lines or surfaces; isosurfaces of any variable or expression; injectors (single point, 1D, 2D or 3D rake). “Whats” can be curves and surfaces from nurbs-based geometry; isolines or isosurfaces; graphs (continuously shaded images); arrows; streamlines in various number and locations; dynamic particle tracing; axes representing eigenvectors; ellipsoids; quantitative information extracted and presented on the screen or saved in a file.
2.2 Shared Memory Architecture
The basic visualization package is a pair of processes running simultaneously: an OpenGL visualization server for the extraction and presentation of graphic information, and a Motif client for the user interface.
This architecture enables advanced functions, such as the monitoring and steering of ongoing computations: results from a solver can be visualized directly on the machine where the computations are taking place or automatically transferred to another workstation for remote visualization. Relevant data is stored in shared memory and resource access is synchronized by messages and semaphores.
To this basic architecture, more advanced functions are added by specialized programs interacting directly with the server or the data in shared memory. Programs and daemons take charge of processing various dataset formats, implementing file access protocols (file:, http:, ftp:, vu:), and delivering shared memory data to other computers for remote visualization.
3. The Software Package
3.1 Main Visualization Characteristics
- Animation of 3D images by varying the results, i.e. by using several solution files. This can be used for the study of unsteady phenomena, to follow the evolution of an adaptative grid or to illustrate a parametric study of the solution. Zoom, translation and rotation capabilities are still available during the animation.
- Automatic or interactive sweeping between two cutting planes, scrolling through curvilinear surfaces or interpolation between two iso-surfaces.
- Transparency in any image, in order to be able to `see’ what is behind a cutting plane or an iso-surface.
- Use of the interpolating function defined for the probed scalar field (linear, bilinear, trilinear, quadratic, cubic, etc.).
- Representation faithful to user’s data (i.e. no approximation or element decomposition for visualization purposes).
- Mathematical formulas used as functions of the primitive variables, for on-the-fly calculation of secondary variables including derivatives. These formulas, as any variable, can be used to indicate values for iso-surfaces, color mapping, deformation or scaling factor.
- Creation and simultaneous display of many and various 2D and 3D images of the geometry, the grid, and the solution.
- 2D and 3D exploration of a non-limited number of scalar, vector or tensor fields. The user in only limited by the hardware memory storage. Several vector or tensor fields can coexist in the same solution.
- Multiple translations, rotations and scaling of images around arbitrary points and axis. This can be used to mirror axi-symmetric data or duplicate blade-to-blade channel solutions.
- PostScript (vector or bitmap) and Virtual Reality Modeling Language (VRML) output.
3.2 Working Environment
VU has its own file format (ascii or binary) and offers modules to interface with standard engineering file formats (StarCD, Patran, ProCast, Plot3D, TASCflow, Tecplot, Ideas).
VU menus are offered in four languages: French, English, German, and Spanish.
A personalized configuration of the menus, the components of the images and the points of view can be saved in a file for subsequent use. That configuration file is useful to keep the same attributes from one session to another and also to have another person visualize one’s data very easily.
Manuals, tutorials, and help on line with interactive menus in HTML format and a high level support are offered to the users.
VU is developed at CERCA and at École Polytechnique de Montréal, in a high quality scientific environment, with researchers working in many areas (chemistry, fluid mechanics: environment, turbines, external aerodynamics, turbulence, etc.). VU is tested extensively in a demanding working context before it is made available at large.
4.1 Future Directions
Speech Recognition. One of the main difficulties encountered in a virtual reality immersion environment is the interface between the user and the software, as selecting menus in a 3D world is not easy and prevents the user from having a real interaction with the virtual object. During summer 2000, we will concentrate on incorporating speech recognition in VU to select commands.
Collaborative Environment. Several computers will be able to “listen” on a given port in order to receive verbal commands, so that a user can drive several visualization environments; thus, several users will be able to see the same object on several computers or immersion environments. This is the first step towards the full implementation of a collaborative environment.
Parallelism. VU client/server architecture makes it possible to consider the processing of very large solutions using parallelism: the server would process extraction and rendering in parallel.
The diffusion of the VU has accelerated from 30 sites in 1996 to more than 130 sites in March 2000 in Canada, North and South America, Europe and Asia. VU users are researchers and students from universities, research centres and companies. Surprisingly, only 5% of our users are from Canada outside Québec, whereas 39% are from Québec, 18% from the United States and 27% from Europe.
VU is distributed freely to the academic community for educational and internal research purposes, and is sold under an annual license to companies and research centers. Interested users can obtain an executable of VU by filling the form available on the VU web site.