independent format, such as in IEEE format. This would allow the access of the database through the standard
networking mechanisms such as NFS, available in the computer environment. One such data format is the
Hierarchical Data Format developed at the National Center for Supercomputer Applications, University of
Illinois, Urbana-Champaign.
If a device independent database is not supported then the database must be accessed in a distributed fashion.
Some commercial DBMS support distributed database access, allowing a database to be shared across
multiple platforms. Distributed databases are also discussed in Section 8.7.
Figure 8.7 Types of database architecture.
The issues concerning databases must be addressed in the integration of an analysis package (which creates
the database) with the visualization system (which uses and perhaps updates the database). For the analysis
package the most convenient method for storing data may be in a sequential file but this is not suitable for
visualization.
8.4.2 Data Model
The data model for a visualization system refers to the internal organization of analysis data. It encompasses
the analysis mesh, initial/boundary conditions and analysis results. The design of the data model is extremely
important to the usability of a visualization system. The design should closely reflect the type and structure of
data used in analysis. The factors driving the design are: storage efficiency, execution efficiency and complete
support for analysis. As computer and analysis technology has advanced, so too have the types of problems
being solved, becoming larger (including more than a million elements, and hundreds, if not thousands, of
time steps) and more complex (involving contact fluid-solid interaction problems and adaptive meshing,
among others). We will present here a hierarchical data model that will satisfy such expanding needs of
analysis.
A diagram of the data model is shown in Figure 8.8. A “problem,” which encompasses the entire mesh with
results data, has a set of time steps defined for it. Each time step corresponds to a physical time step in an
analysis. A time step may also be sub-divided into a set of increments. An increment is a numerical step in a
series of successive approximations to the converged solution for a given time step. Usually only the data for
the converged time step is visualized (the last increment) but visualizing the data for increments is useful for
solver development.
Under each time step a set of meshes may be stored. For those problems which do not perform adaptive
meshing (i.e., meshes which change over time) there will be meshes under the initial time step only. For those
problems which do perform adaptive meshing, the new or modified meshes can appear under any time step.
A mesh entity groups element sets for the purpose of modeling. For example, a mesh could contain the
elements for a fluid region, a specific piece of geometry of the model (such as the intake for an engine) or an
interface between two other meshes (such as the interface between fluid mesh and a solid mesh in a fluid/solid
interaction, or area of contact in a contact problem). Each mesh has its own set of nodes separate from other
meshes. Grouping of element sets under a mesh allows the user to selectively visualize a region of elements,
for example, just the interface between two regions.
Figure 8.8 A sample data model used for the internal organization of visualization data.
Under each mesh entity are stored one or more element sets (eset) and data sets (dset). Elements are grouped
into element sets by topology type (quadrilateral, tetrahedron, brick, etc.) and material model. Grouping by
topology saves space by sharing attributes (such as number of nodes per element and topology type) and