P-17_ZhengY.pdf

COMPUTATIONAL METHODS IN ENGINEERING AND SCIENCE
EPMESC X, Aug. 21-23, 2006, Sanya, Hainan, China
©2006 Tsinghua University Press & Springer
Enabling Technology for Large-Scale Multidisciplinary Simulations
Yao Zheng*, Lijun Xie
Center for Engineering and Scientific Computation, and College of Computer Science, Zhejiang University,
Hangzhou, Zhejiang, 310027 China
Email: yao.zheng@zju.edu.cn
Abstract This paper outlines current enabling technology for large-scale multidisciplinary simulations, including
mesh generation, problem solving environments, visual steering, and large-scale visualization. Mesh generation
continues to be the pacing technology for a practical numerical analysis. A problem solving environment is a computer
system that provides all the computational facilities necessary to solve a target class of problems. In an attempt to make
numerical simulation more efficient, visual steering is required for engineering and scientific computation. Large-scale
visualization can be realized through a tiled display wall system with distributed visualization capability.
Moreover, this paper addresses aspects of an Enabling Environment for Multidisciplinary Application Simulations
(EEMAS). As an example of integrated environments of enabling technology, EEMAS environment is a
problem-solving environment for multidisciplinary application simulations. Within the EEMAS, there are four
categories of modules involved, namely pre-processing module, computing module, post-processing module, and
platform control module. All these modules are coupled through a software bus, which maintains the share memory
and makes the modules integrated seamlessly.
Key words: enabling technology, large-scale simulations, mesh generation, problem solving environments,
distributed visualization
INTRODUCTION
With the development of computational methods and computing resources, large-scale multidisciplinary simulation is
becoming an important area of computations in engineering and science. Technologies, such as mesh generation,
problem solving environments, visual steering, and large-scale visualization, enable us in fulfilling large scale
simulations. Such technologies are to be outlined in the present paper.
As an example of integrated environments of enabling technology, EEMAS environment is developed for complex and
large-scale simulations to take advantage of powerful parallel and distributed computing technologies. It features four
categories of modules including pre-processing module, computing module, post-processing module, and platform
control module. All these modules are coupled through a software bus, which maintains the share memory and makes
the modules integrated seamlessly. Detailed design principles and applications of the EEMAS environment are to be
addressed.
MESH GENERATION
An effective simulation system for engineering and scientific computation, usually involving complex geometry, must
possess certain features such as: (1) fast turnaround and (2) accurate and reliable solution. The first point,
encompassing both the human and machine efforts, entails a short setup time for calculation, minimal memory
requirement, and efficient and robust solution algorithm. The second point requires a judicious choice of discretization
procedure.
Mesh generation continues to be the pacing technology for a practical numerical analysis and is the area where significant
payoff can be realized. Furthermore, high quality meshes for encompassing special regions are essential to yielding an
accurate and efficient solution. Research on mesh generation technologies is challenging, while its importance is evident
[1-11].
⎯ 195 ⎯
During the past decades, both structured and unstructured meshing techniques have been extensively developed and
applied to solution of various engineering problems. To deal with situations in which complex geometry imposes
considerable constraints and difficulties in generating meshes, composite structured mesh schemes [12,13] and
unstructured mesh schemes currently are the two mainstream approaches.
The Chimera mesh scheme [12] and similar schemes [13], using overset meshes to resolve complex geometries or flow
features, are generally classified into the composite structured mesh category. Overset meshes allow structured meshes
to be used with good quality, such as orthogonality and smoothness, and with ease to control mesh spacing in viscous
layers.
The unstructured mesh method is very flexible to generate meshes around complex geometries. In particular, the
solution adaptivity is perhaps its greatest strength [14,15]. However, the unstructured mesh method has been shown to
be extremely memory and computation intensive [4-10,14,15].
Hence, a method that properly employs a hybrid of structured and unstructured meshes may prove to be fruitful. In fact
some hybrid schemes have already appeared in the literature [11,16-19] and have shown promising features.
Interestingly enough, researchers from each camp have infused ideas from the other to approach a hybrid mesh: a
structured mesh is embedded underneath an otherwise unstructured mesh in order to better resolve the viscous region
[17], or an unstructured mesh is used to enhance the flexibility of structured mesh scheme for handling complex
geometries [16]. Nevertheless, there is an important difference between the above two approaches toward hybrid
meshes. On the one hand, a majority of region is filled with unstructured meshes, while on the other the region is
mostly structured.
DRAGON mesh [18,19], as a hybrid mesh, is created by means of a Direct Replacement of Arbitrary Grid Overlapping
by Nonstructured grid. This approach will yield structured meshes in the major portion of the domain and only small
regions filled with unstructured meshes. The DRAGON meshing scheme maximizes the advantages of the Chimera
scheme, and adopts the strengths of the unstructured mesh while minimizing its weakness [18,19].
PROBLEM SOLVING ENVIRONMENTS
A Problem Solving Environment (PSE) is a computer system that provides all the computational facilities necessary to
solve a target class of problems [20]. Typically, it can reduce the difficulty of physical simulation by utilizing user
natural languages and application specific terminology, and by automating many lower level computational tasks. We
define a kind of PSEs in the following formula [20-22]:
PSE = User interface + Enabling libraries and tools + Problem solvers + Software bus
Commonly, a PSE should have a friendly user interface such as nature language and graphical user interface that can
help the user to use the system in a direct and efficient manner. Enabling libraries and tools are the most valuable parts
of a PSE. They provide all the necessary assistant functions for a simulation, such as geometric modeling, mesh
generation, and scientific visualization. Problem solvers are integrated into the computational module, for various
problem fields. Software bus is the method to integrate all the modules to work seamlessly and efficiently.
For computer simulation of various physical phenomena and process, there is a common demand to equip the users a
user interactive platform with certain capabilities, and an effective method is to construct a problem solving
environment (PSE) [23-26]. As applications of computational engineering expand into new areas a requirement to
allow traditional engineers access to these techniques becomes fundamentally important. To achieve this complex
numerical algorithms are encased with a user-friendly, graphically interactive environment.
A PSE is capable to integarate these stages into one unified environment, and to help users to steer the problem solving
easily. A Parallel Simulation User Environment (PSUE) is one of the typical PSEs [25, 26]. Fig. 1 illustrates a general
schematic of the PSUE for multi-disciplinary engineering analyses.
In order for such an environment to be a success, the need to eliminate any sequential bottlenecks, both in terms of
speed and size, at every stage of the simulation process is of fundamental importance. As with many other problems,
the parallelization and distribution of data and work-load amongest multiple processors is the only method by which
the required increase in performance and problem size can be achieved using conventional computing hardware.
Within the PSUE the entire computational simulation process may be performed using parallel processing techniques.
The aim of the presented graphical environment is to allow the interaction with, and solution of problems involving
complex geometries and large unstructured meshes, with no sequential bottlenecks at any stage of the process.
⎯ 196 ⎯
Figure 1: A general schematic of the Parallel Simulation User Environment (PSUE)
VISUAL STEERING
The PSUE features a mechanism of visual steering [25], providing an enhanced capability for complex and multiple
problem definition, equipped with a graphics environment for guidance through the computational analysis process
with validation of each step, and possessing robust and computationally efficient unstructured mesh generation
modules.
The primary module in the visual steering environment is the geometry builder [26]. The geometry builder provides
tools to manipulate the geometry definition, perform topological validation of the geometry, interact and and repair
geometry defects through operations such as surface reconstruction. Each of these operations prepares the geometry
for mesh generation.
The generation and analysis of unstructured meshes is the result of modules coupled into the PSUE. The flowchart
illustrated in Fig. 2 shows the role of visual steering in this process. The visual steering of the mesh generation and
mesh analysis allows the user control and guidance of each stage of the process. The user can modify parameters or
manipulate the geometry within the graphical environment and verify the result of their action using the visual steering
tools.
Figure 2: Data flow between the user, the visual steering environment, and the mesh generator
⎯ 197 ⎯
LARGE-SCALE VISUALIZATION
With the increase of scales of applied engineering problems to be solved, the requirement to visualization is increasing.
For large scale problems, visualization technology is demanded to meet the requirement of large scale numerical
simulations [27], and this includes special rendering techniques, parallel processing methods [28], and distributed and
collaborative visualization approaches.
Larger problem prompts the development of ViPar (Visualisation in Parallel) architecture [29]. The eventual aim is to
develop a Parallel Problem Solving Environment (PPSE), which uses parallel processing techniques throughout. This
then allows the definition, meshing and solution of problems with one, or two, orders of magnitude increase in size
over conventional sequential PSE's.
The large-scale visualization can also be realized through a tiled display wall system with distributed visualization
capability. An entire simulation process is visualized in an immersive mode by rendering the results locally and
concatenated to a large display wall. We are to discuss the parallel visualization technology and a computer
cluster-driven tiled display wall, on which the simulating results are rendered.
Figure 3: Architecture of Princeton display wall
Fig. 3 illustatrates the architecture of Princeton display wall [32], while Fig. 4 shows a typical display wall system
supported by a PC cluster, located in the Center for Engineering and Scientific Computation, Zhejiang University. The
large display wall is supported by nine projectors (18 projectors in a stereo mode), and produces a 3x3 seamless picture
with a resolution of about 3000x2000 pixels. The screen is driven by nine computing nodes and rendered in a parallel
fashion.
(a) A matrix of projectors
(b) A screen and projectors
Figure 4: A typical stereo display wall system supported by a PC cluster
We use a sort-last parallel rendering method in the system. The geometry configurations are rendered locally in the
computers where they are simulated. These computers are called render servers. A client computer which interacts with
users manages all OpenGL states and sends them to the render servers when the states are changed, for example, when
⎯ 198 ⎯
the view direction is changed [30]. When all render servers have created the images, a binary swap composition
method will be used to sort the images and compose a final scene.
The render servers decompose their scene according to the configuration of the display wall. For example, our display
wall consists of an array of 3x3 projectors, so we decompose the image into 3x3 parts with equal size. Then the
geometrical data are sent to corresponding computers which drive the projectors, and sub-images are composed in
those computers with Z-buffer testing. When all the parts are rendered, the render servers can display them through
projectors directly, and compose a whole scene on the large tiled display wall.
Until now, the composed scene has very obvious seams between areas corresponding to adjoining projectors. This is
because our system is built upon a PC cluster and commodity projectors. The advantage of this approach is its low cost.
However the color space and luminosity of these projectors are not same, and precise alignment of them is too difficult
to achieve manually. So the sub-images they project will overlap each other and vary in colors and luminosity.
We use an image-processing method to eliminate the seams. Before the image is projected, we warp it first and remap
its color table to a calibrated one. By warping the image to a destination shape and size, the geometry seams can be
eliminated. This method is introduced in detail in Reference [31]. The color difference can be eliminated by remapping
the color table of every projector to a uniform one. After the image processing, a uniform scene without seams is
composed. Fig. 5 shows example scenes of the display wall working.
(a) A Dawning PC cluster
(b) A display wall working
Figure 5: Illustration of the display wall working
EEMAS ENVIRONMENT
EEMAS (Enabling Environment for Multidisciplinary Application Simulations) environment is a problem-solving
environment for multidisciplinary application simulations [33]. Within the EEMAS, there are four categories of
modules involved, namely pre-processing module, computing module, post-processing module, and platform control
module. The EEMAS is developed for complex and large-scale simulations to take advantage of powerful parallel and
distributed computing technologies. All the modules are coupled through a software bus, which maintains the share
memory and makes the modules integrated seamlessly.
The environment can reduce the time required for problem definition and for post-processing, whilst the unified
environment is ideal for multidisciplinary design applications, as the data is handled in one consistent format. It hides
many aspects of computational engineering that are not of prime interest or relevance to the engineer, e.g. the
setting-up and subsequent execution of an application on a parallel platform. The EEMAS is designed mainly for
large-scale simulations, and heavily depend on visual steering, parallel and distributed computation.
The EEMAS framework is developed with C++, kernel algorithms are implemented with C and Fortran, the graphical
user interface is built with Qt, and visualization capabilities are developed based on the OpenGL library. The system
runs on Linux/Unix platforms, while its front end is being ported to Windows at this moment. Fig. 6 is a snapshot of an
EEMAS session running on an SGI IRIX machine.
⎯ 199 ⎯
Figure 6: A snapshot of an EEMAS session running on an SGI IRIX machine
1. Design Goals The primary task of the EEMAS is to provide an efficient environment that enables scientists and
engineers to create multidisciplinary application simulations, to develop new algorithms, and to couple existing
algorithms with powerful enabling tools. The main design principles and goals that guide development in the EEMAS
project are as follows.
(1) Abundant functions. The EEMAS contains generic modules that provide necessary functions needed in
mesh-based simulations, such as geometric modeling, CAD repair, mesh generation, domain decomposition, scientific
visualization, platform control, and numerical libraries.
(2) Scalability and seamless integration. As a Problem Solving Environment (PSE), the main aim of the EEMAS
project is not to provide concrete scientific computational functions, but to provide an efficient, flexible and yet
consistent framework, that facilitates integration of domain solvers and enabling tools. For this purpose, much
attention is paid to the scalability of the system, which is mainly implemented with consistent data format and flexible
data transfer interface.
The major portion of data is stored in share memory to reduce the consumption of memory and to improve the speed of
data transfer. Three data transfer schemes are provided, that is, through pipes, sockets and temp files, respectively. For
a module with its source code, users or developers are able to integrate it into the system by means of data transferring
through pipes or sockets, of which the efficiency is quite high. If the source code is not available or the users do not
want to spend much time on the integration, temporary files can be used for data transferring directly.
(3) Visual steering and GUI. The EEMAS follows the philosophy of visual steering. Its graphical user interface guides
users to utilize particular components without in-depth expertise on those components, and to control the computing in
a straightforward way. This allows scientists to use visualization tools while focusing on computational algorithms,
and allows programmers to create visualizations tools without implementing simulation modules either. Visualization
and numerical feedback are used throughout the system.
(4) Parallel and distributed computing. The EEMAS is designed mainly for large-scale simulations. Therefore,
majority of its modules utilize parallel and distributed computing, and can run on remote machines. Most of the
modules, from mesh generation to problem solving, and to visualization, can run in the parallel mode. A module for
parallel environment setup and control is also developed. Two parallel schemes are utilized. One is task parallelism
that distributes different parts of a simulation to different processors. The other is data parallelism that is more widely
used within a computationally intensive module.
2. Software Architecture and Features Fig. 7 describes the EEMAS architecture from users’ perspective. There are
four categories of modules involved, named as pre-processing module, computing module, post-processing module
and platform control module. The first three are common phases of a simulation whilst the last one serves for the entire
⎯ 200 ⎯
Mesh Generation
Boundary Conditions
Physical Property Definition
Domain Decomposition
Pre-Processing
Module
CAD Repair
Geometrical Modeling
Numerical Libraries
Computing
Module
CFD Module
Post-Processing
Module
Other Domain Solvers
Visualization Tool
Data Analysis Tool
Performance Analysis Tool
PCs or Workstations
Platform Control
SMP and MPP Computers
Cluster Computers
Grids
Platform Control
Module
Software Bus
EEMAS
Solid Mechanics Module
Figure 7: The EEMAS architecture from users’ perspective
process of simulation. All the modules are coupled through a software bus, which maintains the share memory and
makes the modules cooperate seamlessly.
(1) Pre-processing Module. Pre-processing module deals with the problem definition and preparation for computing.
This is the most time-consuming part in simulations, and many researchers are focusing on automating this work. In
the EEMAS, the pre-processing module consists of a basic geometrical handling tool, a powerful mesh generators, and
tools for general CAD format conversion, boundary condition definition and physical properties definition.
The geometrical handling tool in the EEMAS stores geometrical data by means of boundary representation. It is not as
powerful as commercial CAD software, but it is adequate to process the common modeling work, especially with
certain functionalities oriented to mesh generation. For complicated geometries, the user can directly model them with
other CAD software, and then import them into the EEMAS.
Mesh generation is a crucial step in simulation that impacts both the calculating time and the accuracy. Research on
mesh generation technologies is challenging, while its importance is evident. The EEMAS provides powerful mesh
generators with the ability to generate 2D planar meshes, surface meshes of triangles, and volume meshes of
tetrahedrons. This module is capable to generate high quality meshes by means of visual steering. Users can specify the
mesh spacing in terms of a background mesh and mesh sources.
Mesh generation has a stricter requirement of validation to geometrical models than common CAD software does. It is
often the case that the format of geometries inside CAD packages does not meet the requirement for mesh generation.
Holes, gaps, overlaps, and intersection of surfaces must be dealt with before mesh generators start. However, issues on
geometry validity are not well defined, and it is still a large research field today. In the EEMAS, a geometrical
validation and repair module is integrated, so as to find out many common cases of invalid models.
(2) Computing Module. As mentioned above, the goal of designing the EEMAS environment is to support
multidisciplinary application simulations. In general, scientists and engineers could integrate various domain solvers
into the EEMAS to process particular simulations. To integrate with the EEMAS, users should adapt their solvers with
the EEMAS data structure, or write an interface to convert formats. Data transfer involved can utilize pipes, sockets or
temporary files. At present, an FEM solver for solid and structure analyses has been integrated.
⎯ 201 ⎯
(3) Post-processing Module. Resulting data of complex and large-scale simulations are often difficult or even
impossible to be understood without the assistance of visualization. Two powerful visualization packages named
OpenDX [34] and ParaView [35] have been integrated into the EEMAS.
In order to support visualization for large datasets, such as gigabyte datasets visualization, parallel and distributed
visualization technologies are employed. There are two modes of distributed visualization. One is the task parallel
mode, in which different part of visualization pipes are processed by different processors. The other is data parallel
model, in which the data is broken into pieces to be processed by multiple processors. The second method is easier to
be implemented, because many visualization algorithms need not much change when running in parallel. The EEMAS
supports both distributed and local rendering, and their combination. This provides scalable rendering for large data
sets without sacrificing performance when working with smaller data sets.
For a parallel program, programmers and users usually have to tune the parameters and methods repeatedly to get a
good performance. Thus a performance analysis tool is necessary. The EEMAS uses a tool named ParaGraph to
visualize the behavior and performance of parallel programs on message-passing parallel computers. ParaGraph
provides several distinct visual perspectives from which to view processor utilization, communication traffic, and
other performance data in an attempt to gain insights [36].
(4) Platform Control Module. The EEMAS provides a platform control module to process the setup of parallel
environments, computing source management, file transfer and so on. This hides lot of trivial details of platforms from
users, and helps users utilize all kinds of computers from local PCs. The whole system only needs to be initialized
once. At present, this module can be used to explore local or remote Unix/Linux systems running on personal
computers, workstations, SMP and MPP supercomputers, and clusters. The functions to utilize grid resources are also
under development [37].
3. Applications As an example, a structure analysis of a crank is processed within the EEMAS. After geometrical
modeling, the crank is decomposed into 16 domains and delivered to different processors for parallel execution, and at
last the data is visualized. We conduct this simulation on an SGI Onyx 3900 supercomputer and a Dawning PC cluster
with diverse parameters to explore the performance of the system.
Fig. 8 shows the corresponding geometrical model, discretization of the model and the simulation result. The
simulation has been carried out with various numbers of elements and those of CPUs on both the supercomputer and
the PC cluster.
(a) Geometrical model
(b) A mesh and 16 domains concerned
(c) Displacement contour
(d) Deformed shape with stress contour
Figure 8: Simulation of a crank
⎯ 202 ⎯
Fig. 9 shows the efficiency for cases with the numbers of elements and CPUs. From the figure we can see that parallel
processing is capable to reduce the computing time greatly. However, more CPUs cannot always guarantee higher
performance. When too many CPUs are utilized, domain decomposition, data transfer and other communication
operations will take lots of time and reduce the performance.
100
100
46871 elements
142070 elements
80
Efficiency
Efficiency
80
46871 elements
142070 elements
60
60
40
40
20
20
0
0
4
8
12
16
20
24
28
Number of Processors
0
0
4
8
12
16
20
24
Number of Processors
(a) SGI Onyx3900 supercomputer
(b) Dawning PC cluster
Figure 9: Efficiency for cases with various numbers of elements and those of CPUs
CONCLUDING REMARKS
The present paper outlines aspects of enabling tecnonlogy, including mesh generation, problem solving environments,
visual steering, and large-scale visualization. As an example of integrated systems, the EEMAS is a problem-solving
environment for multidisciplinary application simulations. It is a framework that can easily integrate arbitrary
modules, and it contains various enabling tools such as pre-processing, post-processing, platform control and so on.
Environments such as EEMAS could be developed and enhanced further to serve as a digital prototyping system. It
will help battle design complexity by creating 3D virtual prototypes, and optimizing and differentiating the designs
through large-scale multidisciplinary simulations. It could avoid having to produce expensive physical prototypes.
This is the concept of virtual test and virtual prototyping.
Acknowledgements
The authors would like to acknowledge the financial support received from the NSFC (National Natural Science
Foundation of China) for the National Science Fund for Distinguished Young Scholars under Grant No. 60225009.
We would like to thank the Center for Engineering and Scientific Computation, Zhejiang University, for its
computational resources, with which the research project has been carried out. We should give special thanks to Dr.
Jifa Zhang, Dr. Jianjun Chen, Mr. Tingjun Yang, Dr. Guanghua Song and Ms. Zhengge Huang for their productive
contributions.
REFERENCES
1. Thompson JF, Weatherill NP. Structured and unstructured grid generation. Critical Reviews in Biomedical
Engineering, 1992; 20: 73-120.
2. George PL. Automatic Mesh Generation: Application to Finite Element Methods. Masson, Paris, France, 1991.
3. Schroeder WJ, Shephard MS. A combined octree Delaunay method for fully automatic 3-D mesh generation. Int.
J. Numer. Methods Eng., 1990; 29: 37-55.
4. Weatherill NP, Hassan O. Efficient three-dimensional Delaunay triangulation with automatic point creation and
imposed boundary constraints. Int. J. Numer. Methods Eng., 1994; 37: 2005-2039.
5. Weatherill NP, Hassan O, Morgan K, Jones JW, Larwood B. Towards fully parallel aerospace simulations on
unstructured meshes. Engineering Computations, 2001; 18: 347-375.
6. Zheng Y, Lewis RW, Gethin DT. Three-dimensional unstructured mesh generation: part 1. fundamental aspects
of triangulation and point creation. Comp. Methods Appl. Mech. Eng., 1996; 134: 249-268.
⎯ 203 ⎯
7. Zheng Y, Lewis RW, Gethin DT. Three-dimensional unstructured mesh generation: part 2. surface meshes.
Comp. Methods Appl. Mech. Eng., 1996; 134: 269-284.
8. Lewis RW, Zheng Y, Gethin DT. Three-dimensional unstructured mesh generation: part 3. volume meshes.
Comp. Methods Appl. Mech. Eng., 1996; 134: 285-310.
9. Frey PJ, Borouchaki H, George PL. 3D Delaunay mesh generation coupled with an advancing-front approach.
Comp. Methods Appl. Mech. Eng., 1998; 157: 115-131.
10. Zhang LP, Wo C, Yang YJ. Automatic triangulation for three dimensional complex geomtry surfaces. Acta
Aerodynamica Sinica, 1999; 17: 371-377 (in Chinese).
11. Zhang LP, Zhang HX, Gao SC. A Cartesian/unstrucutred hybrid grid solver and its applications to 2D/3D
complex inviscid flow fields. Acta Aerodynamica Sinica, 1998; 16: 79-88 (in Chinese).
12. Steger JL, Benek JA. On the use of composite grid schemes in computational aerodynamics. Comp. Methods
Appl. Mech. Eng., 1987; 64: 301-320.
13. Chesshire G, Henshaw WD. Composite overlapping meshes for the solution of partial diffential equations.
Journal of Computational Physics, 1990; 90: 1-64.
14. Löhner R. An adaptive finite element scheme for transient problems in CFD. Comp. Methods Appl. Mech. Eng.,
1987; 61: 323-338.
15. Peraire J, Vahdati M, Morgan K, Zienkiewicz OC. Adaptive remeshing for compressible flow computations.
Journal of Computational Physics, 1987; 72: 449-466.
16. Weatherill NP. On the combination of structured-unstructured meshes. in Sengupta S et al eds. Numerical Grid
Generation in Computational Fluid Mechanics, Pineridge Press, Swansea, UK, 1988, pp. 729-739.
17. Soetrisno M, Imlay ST, Roberts DW. A zonal implicit procedure for hybrid structured-unstructured grids. AIAA
Paper 94-0645, AIAA 32nd Aerospace Sciences Meeting & Exhibit, Reno, NV, 1994.
18. Zheng Y, Liou MS. A novel approach of three-dimensional hybrid grid methodology: part 1. grid generation.
Comp. Methods Appl. Mech. Eng., 2003; 192: 4147-4171.
19. Liou MS, Zheng Y. A novel approach of three-dimensional hybrid grid methodology: part 2. flow solution.
Comp. Methods Appl. Mech. Eng., 2003; 192: 4173-4193.
20. Gallopoulos E, Houstis E, Rice JR. Future research directions in problem solving environments for
computational science. Report of a Workshop on Research Directions in Integrating Numerical Analysis,
Symbolic Computing, Computational Geometry, and Artificial Intelligence for Computational Science.
Technical Report 1259, Center for Supercomputing Research and Development, University of Illinois at
Urbana-Champaign, 1992.
21. Rice JR, Boisvert RF. From scientific software libraries to problem-solving environments, IEEE Computational
Science and Engineering, 1996; 3 (3): 44-53.
22. Rice JR. Future challenges for scientific simulation. Chapter 1 in Houstis EN, Rice JR, Gallopoulos E, Bramley
R eds. Enabling Technologies for Computational Science: Frameworks, Middleware and Environments, The
Kluwer International Series in Engineering and Computer Science, Vol. 548, Kluwer Academic Publishers,
Boston, 2000, pp. 7-17.
23. Baker AJ. The 21st century emergence of the multi-disciplinary problem solving environment. Chapter 4 in
Houstis EN et al eds. Enabling Technologies for Computational Science: Frameworks, Middleware and
Environments, The Kluwer International Series in Engineering and Computer Science, Vol. 548, Kluwer
Academic Publishers, Boston, 2000, pp. 45-52.
24. Sastry L, Craig M. Scalable application visualisation services toolkit for problem solving environments. in Cox
SJ ed. Proceedings of UK e-Science All Hands Meeting, Nottingham, UK, September, 2003, EPSRC, UK, 2003,
pp. 520-525.
25. Zheng Y, Weatherill NP, Turner-Smith EA, Sotirakos MI, Marchant MJ, Hassan O. Visual steering of grid
generation in a parallel simulation user environment. Chapter 27 in Houstis EN et al eds. Enabling Technologies
for Computational Science: Frameworks, Middleware and Environments, The Kluwer International Series in
Engineering and Computer Science, Vol. 548, Kluwer Academic Publishers, Boston, 2000, pp. 339-349.
⎯ 204 ⎯
26. Zheng Y, Weatherill NP, Turner-Smith EA. An interactive geometry utility environment for multi-disciplinary
computational engineering. Int. J. Numer. Methods Eng., 2002; 53: 1277-1299.
27. Spivack M, Usher A, Yang X, Hayes M. Visualisation and grid applications of electromagnetic scattering from
aircraft. in Cox SJ ed. Proceedings of UK e-Science All Hands Meeting, Nottingham, UK, September, 2003,
EPSRC, UK, 2003, pp. 672-678.
28. Humphreys G, Hanrahan P. A distributed graphics system for large tiled displays. in Proceedings of IEEE
Visualization '99, San Francisco, California, 1999.
29. Jones JW, Weatherill NP. Visualisation of large unstructured grids within a parallel framework. in A Collection
of Technical Papers, the 14th AIAA Computational Fluid Dynamics Conference, Norfolk, Virginia, USA, 1999,
AIAA, 1999, pp. 325-335.
30. Buck I, Humphreys G, Hanrahan P. Tracking graphics state for networked rendering. in Proceedings of
SIGGRAPH/Eurographics Workshop on Graphics Hardware, August 2000.
31. Li K et al. Early experiences and challenges in building and using a scalable display wall system. IEEE Computer
Graphics and Applications, 2000; 20(4): 671-680.
32. Chen H, Wallace G, Gupta A, Li K, Funkhouser T, Cook P. Experiences with scalability of display walls.
Immersive Projection Technology Symposium (IPT), March 2002.
33. Xie L, Zheng Y, Zhang J, Huang X, Huang Z. EEMAS: an enabling environment for multidisciplinary
application simulations. in Jin H, Pan Y, Xiao N, Sun J eds. Proceedings of the GCC 2004 International
Workshops, IGKG, SGT, GISS, AAC-GEVO, and VVS, Wuhan, China, 2004, Grid and Cooperative
Computing - GCC 2004 Workshops, Lecture Notes in Computer Science, Vol. 3252, Springer-Verlag, Berlin,
Heidelberg, 2004, pp. 681-688.
34. OpenDX User’s Guide. URL: http://www.opendx.org/started.html (Current May 1, 2006).
35. Paraview User’s Guide. URL: http://www.paraview.org/HTML/Features.html (Current May 1, 2006).
36. Heath MT. Recent developments and case studies in performance visualization using ParaGraph. in Haring G,
Kotsis G eds. Performance Measurement and Visualization of Parallel Systems, Elsevier Science Publishers,
Amsterdam, 1993, pp. 175-200.
37. Wei G, Zheng Y, Zhang J. Grid service-based parallel finite element analysis. in Li M et al eds. Proceedings of
the Second International Workshop on Grid and Cooperative Computing (GCC2003), Shanghai, China, 2003,
Grid and Cooperative Computing: Second International Workshop, GCC 2003, Part I, Lecture Notes in
Computer Science, Vol. 3032, Springer-Verlag, Heidelberg, 2004, pp. 123-130.
⎯ 205 ⎯