Introduction


 About ZFEM

This project is part of the DoD Common HPC Software Support Initiative (CHSSI) program sponsored by the DoD High Performance Computing Modernization Program (HPCMP).

ZFEM was developed by Juan Raul Cebral at George Mason University, Fairfax, Virginia as part of a wider project in collaboration with the Naval Research Laboratory in Washington DC, with Dr. W.Sandberg as the effort director.


Code Description

ZFEM is a distributed collaborative system for the visualization of parallel multidisciplinary applications. This code was designed with the following goals and requirements:

ZFEM was implemented as a set of independent modules which communicate with each other via message passing. The basic modules and their main tasks are:

MASTER:

VIEWER:

WORKER:

GUI (Graphical User Interface):

There are three modes of operation: post-processing, on-line and batch. In the first case the user interactively reads a data set and perform computations, plots and actions using the GUI. In the second case the data is received periodically (at a specified frequency) from a running solver. The user interactively perform computations and create plots at any time. These actions are stored and re-executed when the data is updated from the solver. Thus, the same plots are created every time-step from the current solution data. Since the visualization system is independent from the solver, this method of on-line display is completely interactive, allowing the user to manipulate the scene at any time. In the third mode of operation commands read from a script file are executed in order to read data files, perform computations, create plots, set the view, edit the scene components, etc. Every action performed by the user gets recorded as a command into a script file that can later be run in order to reproduce the visualization, or to execute the same set of operations on a different data set or list of data sets (e.g., for composing movies).

The basic architecture and interaction between the modules for post-processing and on-line display are illustrated in the following figure:

In order to be able to port ZFEM to different computers with a minimum of effort, it was programmed in C, the graphical interface in Motif, the graphics in OpenGL and the communications using PVM. Since these libraries are available for most of the computer systems, there should be little portability restrictions.

Since ZFEM is composed of modules which communicate through PVM, in order to run zfem it is necessary to have the PVM deamon already running. For users who do not need all the capabilities provided by ZFEM and to avoid the "trouble" of using PVM, a lite version of ZFEM was implemented (zfemLite). This version is linked into a single executable that combines one worker, one viewer, the master and the GUI. Therefore it is only possible to open a single data file at a time, and use a single viewer (no collaboration or simultaneous visualization). Also it cannot be linked to a running solver for on-line visualization, it only operates on data files.