visual steering of grid generation y visual steering of

27

Upload: others

Post on 08-Nov-2021

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Visual Steering of Grid Generation Y Visual Steering of

Visual Steering of Grid Generation... Yao Zheng et al. 1

Visual Steering of Grid Generation

in a Parallel Simulation User Environment

Yao Zheng�, Nigel P. Weatherill, Edward A. Turner-Smith

Michail I. Sotirakos, Michael J. Marchant, Obey Hassan

Institute for Numerical Methods in Engineering, University of Wales Swansea,Swansea, SA2 8PP, UK. E-mail: [email protected].

� Current Address: Analysis and Design Application Company, 60 Broadhollow Road,Melville, New York 11747, USA. E-mail: [email protected].

Abstract

The traditional cycle in grid generation is to prepare geometry data, to execute a grid gener-ator and to analyse the resultant grids. However, more insight and a higher degree of productivitycan be achieved if these activities can be carried out under the direct visual control of the user. Thisis the underlying philosophy of visual steering, where the user can change parameters, interactivelymanipulates geometries and generates grids in a more controllable and productive manner. Thepaper will describe an on-going research activity to develop a more exible software environmentfor computational simulation, to reduce the time to generate grids and to make the grid generationprocess more e�ective in a design environment.

Key Words

Visual Steering, Grid Generation, Visualization, User Environment, Visual Computing

1 Introduction

Scienti�c visualization has been a major research activity over the last decade [1, 2], andmany new methods and innovative techniques have been developed. A common approach in many

Page 2: Visual Steering of Grid Generation Y Visual Steering of

Visual Steering of Grid Generation... Yao Zheng et al. 2

of these developments is data visualization. Usually, the assumption is made that the data isgenerated �rst, then the user achieves insight into the data using various visual display mechanisms.This is the typical paradigm of post-processing and therefore the interactive steering is very limited.

Visual steering is a form of scienti�c visualization, which is substantially di�erent frompost-processing. It can be regarded as the ultimate goal of interactive computing, where the useris able to interactively manoeuvre the computing processes and visually control data speci�cationsimultaneously. The advantage of visual steering is that steering enhances productivity by greatlyreducing the time between changes to model parameters and the viewing of the results. Visualsteering clearly has strong links with high performance computing and networking.

In an attempt to make geometry modelling, grid generation and problem setup for �eldsimulation more e�cient the concepts of visual steering have been applied in the development ofthe Parallel Simulation User Environment (PSUE)[3, 4]. This environment harnesses state-of-the-art high performance computing and networking to provide a software environment for a diverserange of applications in computational �eld simulation. It is aimed to facilitate the optimization ofdesign and to help reduce the number of production cycles in manufacturing industry. The PSUEprovides an enhanced capability for complex and multiple problem de�nition using unstructuredgrid technology { grid generation is the central functionality of the PSUE. The visual steeringconcept has been introduced and implemented throughout the PSUE development. Before focusingon visual steering of the grid generation process some details will be given about the PSUE.

2 The Parallel Simulation User Environment

2.1 Fundamental Concept and Software Architecture

A major design philosophy of the PSUE is that modules are either \owned" by the PSUEor \owned" by the user. Modules owned by the PSUE are termed generic modules and are closelycoupled, through common data structures, for example, into the environment. Modules owned bythe user are integrated into the PSUE through prede�ned format data channels, which take theform of �les, pipe or socket transfer. The integration process is performed by the user in a verysimple way. This framework allows a user to capitalise on the generic functionality of the PSUEwhilst maintaining the independence of utilising their own modules.

During the development of the PSUE, the e�cient performance of the system on largeunstructured grids was of paramount importance. In this context, a large grid is of the order of 5million tetrahedral elements. Hence, particular attention has been given to memory management,e�cient algorithms and an e�ective use of high performance computing and networking. Theability to conduct parallel processing from inside the environment is essential. The PSUE consistsof the following generic modules: geometry builder, geometry repair, grid generation/analyser, dataanalysis, data base, numerical libraries, computing platforms, and system tools. Applications canbe coupled into the PSUE as `user' applications. A general schematic of these modules is shown inFigure 1.

Page 3: Visual Steering of Grid Generation Y Visual Steering of

Visual Steering of Grid Generation... Yao Zheng et al. 3

The PSUE has been developed using X-Motif for window management[5], which gives aconsistent, modular look-and-feel to the graphical interface. In addition, the 3-D graphics renderinglibrary employed is OpenGL[6, 7], which serves as a software interface for graphics hardware.

2.2 Process Communications and Memory Management

The PSUE consists of a main process and sub-processes of the modules integrated into thePSUE. Some of the modules have no transfer of data, and are initiated as \standalone" applications.One example of such a module is the Remote Access Tool, which transfers �les between the localmachine and a remote machine, and is also able to execute an application on a remote computer.Other modules are closely linked to the PSUE to the extent that the relevant data can be passedbetween the modules, through the PSUE, in a transparent manner. Examples of such closely linkedmodules are the geometry builder, the grid generator and the grid analyser.

Figure 2 is a snapshot of the main session of the PSUE during a run time, in which themain PSUE manages the memory and controls individual sub-processes. Five geometry buildersare opened with three iconisied, while two grid generators and one grid analyser are invoked, alliconisied. All these modules in various states are shown in the process control panel.

The memory manager provided allows the automatic transfer of data between processes sothat users do not have to explicitly \move data" between modules. This provides for the automatic\ ow" of data consistent with the path of the actions the user takes through the PSUE.

Several di�erent methods can be used to move data around the PSUE. The implementationallows for multiple modules of the same type to be open at one time, each which contains a di�erentgeometrical con�guration, that can update each other or a di�erent type of module at any giventime.

The PSUE \daemon" is the center of the memory manager. It connects to each of themodules and communicates using \sockets" that transmit messages back and forth. The daemonuses a \shared memory" mechanism to manage the memory. The so-called shared memory is theuse of the same portion of memory space by two or more distinct processes. Shared memory isused for interprocess communication and for purposes, such as common subroutines, that lead tocompactness of memory. When data needs to be moved from one module to another, the daemonmanages the memory, allowing fast transfer of the data between the modules. The simple case ofusing the PSUE, with one module open at a time, requires no interaction from the user, because asa module exists it updates the memory manager automatically and as a new module is initiated,it immediately sends the data presently held within the memory manager.

A \Process Communications" panel allows a user to interact with the memory manager totransfer data around the PSUE modules. The main PSUE module, and its \daemon", is alwaysshown within the process communications panel and as modules are initiated, the processes arerepresented graphically.

A process can be selected or deselected within the process communications panel. Whena process exits or updates the PSUE \daemon", the selected processes will also be updated with

Page 4: Visual Steering of Grid Generation Y Visual Steering of

Visual Steering of Grid Generation... Yao Zheng et al. 4

relevant data. If a user wishes to send data from a geometry builder to a grid generator and then toanother geometry builder, the two processes to be updated are selected on the screen, and then thePSUE is updated. Data is then sent from the PSUE to the grid generator and the second geometrybuilder.

2.3 Computing Platforms

Many realistic engineering simulations require extensive computing resources. The local hostcomputer is sometimes suitable to perform such calculations in a timely manner. Therefore, thereis a need to explore the utilisation of remote computer platforms. As a result of the present researchand development, computing intensive tasks, such as the grid generator and grid analyser, can beexecuted on remote platforms. Figure 3 illustrates computer platform options for grid generationand analysis. The computing platform facility provides three modules: host machine, the remoteaccess, parallel platform.

The remote access module is a tool which allows the users to transfer �les between thelocal machine and a remote machine, execute as many applications as the user wishes on a remotemachine, and then transfer �les back to the local machine. For example, a grid can be generatedon a more powerful machine, the resulting data brought back to the local machine. Obviously,this module consists of three discrete sessions: �le transfer (local to remote); execution of remoteapplications; �le transfer (remote to local).

The parallel platform functionality allows the users to set up a set of platforms for theexecution of parallel applications. The generic functionality currently available allows for initiationof PVM (Parallel Virtual Machine) and MPI (Message Passing Interface) environments.

Within the parallel platforms are a set of the parallel tools, which allow the user to initiateparallel applications. The generic functionality includes: Domain Decomposition; Parallel GridGeneration; Grid Analysis; Parallel Solvers; and Performance Monitoring. The Domain Decompo-sition functionality enables the user to initiate domain decomposition algorithms which are usedto decompose a large grid into a number of smaller grids that are to be used for a parallel solutionalgorithm. The performance monitoring functionality is used to show how a parallel applicationperforms, displaying processing times, communications, and so on.

3 Geometry De�nition

3.1 Surface Models for Grid Generation

The grid generator provided within the PSUE is of general purpose. It can generate surfaceand volume grids as well as planar isotropic, viscous and hybrid grids. The geometries for two-dimensional grid generation consist of curves, for three-dimensional grid generation they are madeup of surfaces and loops. In the present paper, three-dimensional examples will be used.

Page 5: Visual Steering of Grid Generation Y Visual Steering of

Visual Steering of Grid Generation... Yao Zheng et al. 5

A surface model is necessary for surface gridding, and, in turn, the volume gridding requires asurface grid to de�ne the closed domain. Therefore, the main activity associated with the geometrypreparation is to de�ne a valid surface model. Within the PSUE, all the surfaces are treated asbi-cubic surfaces, even though they are visually represented as polygonized patches. Similarly thecurves are treated as cubic splines.

A general surface model does not normally consist of complete surfaces, there are usuallyintersections between surfaces, and ruled surfaces. Therefore, the geometry de�nition for griddingconsists of support surfaces, and loops with speci�ed regions to be gridded. Figure 4 illustrates asupport surface, loops, and the corresponding grid.

3.2 Elementary Geometry Operations

The geometry builder enables the user to build simple geometries by means of creatingpoints, curves, surfaces and so on. The data format is based on CAD input and utilises IGESgeometry �les, although specialised data formats are also supported. The essential use of thiscapability is to build simple shapes, such as, for example, outer boundaries to close domains, andto provide the functionality to construct background grids and grid source data which are used tocontrol the grid generation process.

The main view allows translation, zooming and rotation, viamouse motion or precise settingsusing keyboard input. The movement can be controlled by inertia and speed setting.

The appearance of the geometry objects can be manipulated by using appearance panels. Avisual combination of points, lines, surfaces and a bounding box can be set at any time. Colouring,shading, smoothing and lighting provide a generic functionality of visual representation. For largegeometries, a Resource Manger allows the geometry builder to automatically reduce the entitiesbeing shown to provide a better performance of the graphics, especially during inertial movement.

Point, line and surface selection is used so that these entities can be manipulated using suchfunctions as adjust, copy, delete, mirror, as well as, transform operations. The view may be fullscreen or split into four sections for editing, where front, side, top views are available simultaneously,together with a view from any arbitrary viewing angle which can be controlled by the view settingand mouse drag operations.

3.3 Geometry Validation and Repair

The time taken to prepare geometries for grid generation is presently causing major concernswithin industrial groups. The raw CAD data is often not valid in terms of topological and geomet-rical structures, due to such features as surface overlaps and discontinuities. Such a geometry isoften referred to as a \dirty" or an \invalid" geometry. Prior to grid generation, it is necessary totest the validity of the geometry. If the geometry is not valid, a repair phase must be implemented.

Geometry repair is rather a complicated task and is yet to be systematically researched[8, 9].Due to the availability of various forms of geometry de�nitions, individual research groups are

Page 6: Visual Steering of Grid Generation Y Visual Steering of

Visual Steering of Grid Generation... Yao Zheng et al. 6

considering their own particular geometry representation. The PSUE has a capability to detecttopological and geometrical errors such as edges lying out of faces or gaps between two faces. Alist of inconsistencies is given to the user. Using repairing functionality the user can interactivelymodify the model in order to repair it prior to grid generation.

3.4 Surface Reconstruction

Apart from the geometry repair module, there are various functions available in the geometrybuilder which enable the user to manually modify the geometry. For a three-dimensional case, themain task is surface reconstruction. Figure 5 depicts identifying a gap on the surface of an aircraftengine intake. This fault can be corrected using the geometry builder.

For a missing section between two surfaces, a surface reconstruction panel has been designedto allow the user to close the gap. The surfaces at either side of the gap can be selected. Presentlythere is a restriction that both should have the same number of divisions along the \open" edges.Methods based on \Bi-Cubic Patches" or \Bezier Curves" may be chosen to �ll the gap. There isa choice between making an \Additional Surface" (ending in three surfaces) or creating a \Uni�edSurface" (ending up with one surface), which must be made prior to the surface reconstructionoperation. Figure 6 illustrates a schematic of the surface reconstruction. In this �gure, one exampleshows how the gap is �lled with an additional surface, and the second example shows the approachwhich utilises a uni�ed surface (coarse or �ne descriptions).

4 Grid Generation

4.1 Grid Concentration Control

Grids with varying point spacing are required for general �eld simulation. Using the gridgenerators incorporated in the PSUE, the grid spacing can be controlled by means of using abackground grid and/or grid sources[10,11]. During the process of grid generation, points arecontinually inserted into the domain and elements subsequently created, until the element sizes fallwithin the required grid spacing values. If the user does not specify relevant values, then a defaultsetting will be used automatically.

A background grid which covers the entire domain consists of elements with spacing valuesassigned to individual nodes. The spacing values at locations other than the element nodes areinterpolated from the values on the nodes. In the geometry builder, a background grid can berepresented as shaded elements with ellipses (ellipsoids) on grid points indicating spacing values.The colour shading is used to show the spacing variations, meanwhile the ellipses (ellipsoids) exhibitthe di�erences between spacing values in X , Y and Z directions, which are useful for anisotropicgrid generation.

The user can create a particular background grid by modifying the default one, or by directconstruction. Background grid elements can be picked and the spacing values on the connected

Page 7: Visual Steering of Grid Generation Y Visual Steering of

Visual Steering of Grid Generation... Yao Zheng et al. 7

points can be reassigned. Also picked elements can be deleted and, of course, new elements can becreated and spacings assigned.

Apart from using a background grid, grid sources are usually used to control grid spacing.The geometry builder provides functionality to create point, line and triangular sources, throughthe grid source panel, in conjunction with the editing tools. All types of sources can be created,deleted or modi�ed at any stage.

A point source is assigned with two radii and a spacing value. Within the �rst radius theelements will be generated which have a length scale that is similar to the spacing value speci�ed.The element length scale then exponentially increases to a global spacing value outside the �rstradius. The incremental rate of expansion of point spacing is de�ned by the relationship shownin Figure 7. This expression prescribes the spacing at the outer radius to be twice that at theinner radius. Figure 7 illustrates the in uence of a point source on the point spacing variation. Acolouring scheme allows the intensities to be displayed indicating the intensity variations of varioussources. The procedure is similar for each type of source, ie. point, line and triangular sources,with the capability of being able to specify di�erent intensities and radii at each end of a line sourceor each corner of a triangular source.

A line source has a cylindrical range of in uence, which is displayed as a thick line and twoends. A triangular source has a attened triangular range of in uence, which is represented as ashaded triangle and three corners. For a two-dimensional case, a point source is represented as twocircles centred at a single point, while the ends of a line source and the corners of a triangular sourceare represented in a similar manner. However, in three-dimensional space, two spheres are usedinstead of two circles, and the spheres can be visualized in wireframe or solid modes. Translucentspheres can be used to represent the solid spheres, with a feature to show the geometry and thesource setting in a clear way, such that the user can easily determine the ranges of in uence sourceson the grid to be generated.

Figure 8 shows the e�ect of grid source settings on a resulting surface grid. Through thetranslucent spheres, the grid concentration can be observed, where the di�erence of grid spacingbetween the two radii are clearly exhibited. Figure 9 shows these ideas applied to a real industrialmodel, which is an F22 aircraft. In this example, the in uence of grid sources results in a surfacegrid with appropriate grid concentration, which is suitable for a simulation of aerodynamic ow.

4.2 Grid Generation

The PSUE features an unstructured grid generation capability, of which the attractive aspectis the ease and speed with which complex geometrical con�gurations can be treated [10{12]. Thesuccessful applications of this grid generation technology motivates the exploitation of the PSUE.

The grid generators which have been integrated within the PSUE are able to create unstruc-tured planar, surface and volume grids. They are embedded within a common framework, that is,the grid generation interface, which can be initialised from the main PSUE or from the geometrybuilder. Under the grid generation interface, the data preparation facility can invoke the geometry

Page 8: Visual Steering of Grid Generation Y Visual Steering of

Visual Steering of Grid Generation... Yao Zheng et al. 8

builder for geometry importing or building, and background grid and source de�nition setup. Italso allows for the geometry repair module to be initialised.

The grid generation interface allows the user to set up grid types, parameters, and �lemanipulation. The grid generation speci�c parameters di�er according to the di�erent grid typesto be created and they control the grid generation process.

Within the interface, there are two computer platform options for the users to choose:local machine and remote machine. For the remote machine option, a remote access tool is tobe invoked. Additionally, a parallel machine can be setup by initiating parallel tools from thecomputing platform module. In this case, parallel grid generation can be executed with monitoringon a local host. The geometry/topology information region of the grid generation interface is ableto give the number of each geometry/grid entity for the object concerned, and it is also capable ofsending the present data to the PSUE daemon for memory management reasons.

4.3 Grid Quality Assessment

The grid analysis module is designed to allow the user to investigate the quality of thegrid. Various quality measures have been implemented within the grid analysis module. Thecalculation of the statistics of the measures can be performed on the local machine, or a remotemachine. When the statistics have been evaluated, a \Feeling Good Factor" is shown graphicallyas a coloured sphere, with colouring indicating the global quality of the grid under consideration.The colouring is related to a single statistic which is derived from a weighted average of the gridquality measures. It is a simple and favourable way to inform the user of the global quality andsuggests to the user any further action which may be required.

The grid analyser provides the following facilities: histogram chart of quality statistics,graphical rendering of selected elements/nodes, speci�c entity information, and hardcopy statisticalreports. Figure 10 is a typical histogram of the grid quality measures, whilst Figure 11 exhibitsa visual representation of elements with grid quality measures which fall within a speci�ed rangeof the quality measure, with the element/node panel providing quality details for element/nodeswhich can be selected on the screen.

The histogram chart panel consists of two sections: the top section gives a summary of thestatistics while the bottom section shows the information in the form of a histogram. The summarydetails give the maximum and minimum values for the appropriate measurements. The histogramregion shows a summary of the selected measurement. The actual histogram shows the relevantdata divided into a number of sections, which provides details of the measurement by plotting rangeagainst frequency. The user is able to expand the information found within a single range on thehistogram to assess, in greater detail, the distribution of elements within that range.

Elements or nodes of the grid within a certain range of grid quality can be colour shadedaccording to their values; blue being the lower end of the range, and red the higher end. Anelement/node information panel is able to provide speci�c information for all the measurementtypes for an individual element/node selected. It is a useful feature with which the user canidentify speci�c details of the grid.

Page 9: Visual Steering of Grid Generation Y Visual Steering of

Visual Steering of Grid Generation... Yao Zheng et al. 9

5 Visual Steering of Grid Generation

5.1 The Philosophy

The generation and analysis of unstructured grids is the result of modules coupled into thePSUE. The owchart illustrated in Figure 12 shows the role of visual steering in this process. Thevisual steering of the grid generation and grid analysis allows the user control and guidance ofeach stage of the process. The user can modify parameters or manipulate the geometry within thegraphical environment and verify the result of their action using the visual steering tools.

The primary module in the visual steering environment is the geometry builder. The geom-etry builder provides tools to manipulate the geometry de�nition, perform topological validationof the geometry, interact and and repair geometry defects through operations such as surface re-construction (see Section 3). Each of these operations prepares the geometry for grid generation.Further tools provide functionality to control the resulting grid point concentration by means of abackground grid and grid sources (Subsection 4.1). The visual steering allows the user to rapidlyestablish the required grid control by locking, for example, point sources to the geometrical featurewhich are identi�ed to resolve. This reduces set-up time by alleviating the user of the necessity ofan intimate knowledge of the geometry. The results of the grid generated by this technique canbe qualitatively inspected within the geometry builder, and a quantitative analysis of grid qualitycan be conducted and displayed within the grid statistics interface. This interface shares muchfunctionality with the view mode of the geometry builder. The bene�t of visual steering can bereaped from iterative adjustment of grid control parameters, changes can be visually explored afterregeneration of the grid.

The close coupling of the grid generation modules to the PSUE produces an environment inwhich the generation of a suitable grid allows the relevant data to be passed to a software applicationmodule in such areas as computational uid dynamics and computational electromagnetics.

5.2 Computational Example

The use of the visual steering concepts within the PSUE is demonstrated by use of anexample for computational uid dynamics. The example results in the simulation of compressible ow around the Dassault Falcon executive plane which has been performed using software developedfor parallel architecture computers. The ow diagram of the use of the PSUE for this example isshown in Figure 13.

The geometry de�nition of the Dassault Falcon aircraft is imported into the geometry builder.The geometry de�nition does not include the symmetry plane and far�eld boundaries necessary forgenerating a grid suitable for ow simulation. Therefore, the geometry templates available in thegeometry builder are used to create the appropriate far�eld boundary, as either a hemisphere or halfcylinder, which is adjacent to the symmetry plane created for the geometry. This process is rapidand interactively provides immediate feedback on each stage of geometry creation. The completedgeometry is passed through a surface topology extraction algorithm which uses the information

Page 10: Visual Steering of Grid Generation Y Visual Steering of

Visual Steering of Grid Generation... Yao Zheng et al. 10

on curves and surfaces to check the geometry de�nition for completeness. An incomplete, invalid,geometry requires a geometry repair phase which ags topological inconsistencies and directs theuser on the process necessary for correction.

The resulting valid geometry must then have grid control parameters associated with it,which control global and local grid point spacing through modi�cations to the default backgroundgrid and the creation of point, line and triangular grid sources. The visual interaction between gridsources and the geometry allow an intuitive control of grid spacing. The grid generation moduleis invoked after suitable grid control has been implemented. The grid generation module createssurface and volume grids, it also allows adjustments of certain grid parameters to be made toachieve grid with the desired grid regularity. The volume grid created can be further improved byutilising a grid cosmetics procedure which identi�es less desirable tetrahedral and nodal connectionsand improves them by edge swapping or local grid regeneration techniques.

The surface grid and part of volume grid for the Falcon aircraft are shown in Figure 14. Thevisualization of the volume grid is shown in the form of the triangles on the surface of the volumeelements cut by a user speci�ed cutting cylinder. The sophisticated visualization functionality, suchas, the various cutting operations, enables the user to investigate the resultant grid in considerabledetail. The seamless integration of the geometry builder and grid generation interface into thePSUE makes it possible to monitor the gridding process step by step.

The speci�cation of boundary conditions is facilitated by the boundary condition editor,which is embedded into the geometry builder. The boundary conditions are speci�ed at the ge-ometry de�nition level, which are then mapped to the surface grid for subsequent use in the owsolution algorithm.

The ow simulation has been carried out using a parallel CFD code. Therefore, the wholeof the volume grid has to be partitioned in a domain decomposition phase. Figure 15 shows thegrid partition, where several inter-domain boundaries are presented, with colour coding indicatingnormal directions of the boundary elements. A CFD solution has been obtained, as shown in Figure16, which shows the contours of pressure on the surface of the aeroplane. For a more accuratesimulation, a grid adaptation procedure can be introduced, in which the grid concentration iscontrolled by the error estimate of the solution obtained.

6 Conclusions

The PSUE provides an enhanced capability for complex and multiple problem de�nition.Developments have been aimed at integrating CAD and grid generating capabilities, and addressingend-user requirements. This environment features visual steering of grid generation, which includesthe provision of tools to correct invalid geometries, a graphics environment for guidance throughthe grid generation process with visual validation of each step, and robust and computationallye�cient unstructured grid generation modules. The environment also provides the functionalityfor arbitrary engineering software applications to be integrated and analysis modules executed oncomputer platforms, including parallel computers.

Page 11: Visual Steering of Grid Generation Y Visual Steering of

Visual Steering of Grid Generation... Yao Zheng et al. 11

Acknowledgements

The authors are grateful to the European Union for the �nancial support through the CAE-SAR project. The development of the PSUE has bene�ted from collaboration with the other keypartners involved in the project, in particular IPK (Berlin, Germany), Sowerby Research Cen-tre, British Aerospace (UK), DASA (Germany), Odense (Denmark) and BASF (Germany). Theircontribution is gratefully acknowledged.

Page 12: Visual Steering of Grid Generation Y Visual Steering of

Visual Steering of Grid Generation... Yao Zheng et al. 12

References

[1] B. McCormick, T. Defanti, and M. Brown. Visualization in scienti�c computing. ComputerGraphics (SIGGRAPH 88), 22(6):103{111, 1987.

[2] R. B. Haber. Visualization techniques for engineering mechanics. Compuing Systems in Engi-neering, 1:37{50, 1990.

[3] M.J. Marchant, N.P. Weatherill, E. Turner-Smith, Y. Zheng, and M. Sotirakos. A parallelsimulation user environment for computational engineering. In B. K. Soni, J. F. Thompson,J. Haeuser, and P. Eiseman, editors, Numerical Grid Generation in Computational Field Sim-ulations (Proceedings of the 5th International Conference, Mississippi, USA, 1996), volume 1,pages 741{751. Mississippi State University, Mississippi, USA, 1996.

[4] N. P. Weatherill, M. J. Marchant, E. Turner-Smith, Y. Zheng, and M. Sotirakos. The design of agraphical user environment for multi-disciplinary computational engineering. In ECCOMAS'96(the 2nd Conference on Numerical Methods, and the 3rd Conference on Computational FluidDynamics) (Paris, France, September 1996), 1996.

[5] Open Software Foundation. OSF/Motif Programmer's Reference (Release 1.1). Prentice Hall,New Jersey, USA, 1991.

[6] OpenGL Architecture Review Board. OpenGL Reference Manual, The O�cial Reference Doc-ument for OpenGL, Release 1. Addison-Wesley Publishing Company, Reading, MA, USA,1992.

[7] J. Neider, T. Davis, and M.Woo. OpenGL Programming Guide, The O�cial Guide to LearningOpenGL, Release 1. Addison-Wesley Publishing Company, Reading, MA, USA, 1993.

[8] J. H. B�hn. Removing zero-volume parts from CAD models for layered manufacturing. IEEEComputer Graphics and Applications, 15(6):27{34, 1995.

[9] X. Sheng and I. R. Meier. Generating topological structures for surface models. IEEE Com-puter Graphics and Applications, 15(6):35{41, 1995.

[10] N. P. Weatherill and O. Hassan. E�cient three-dimensional Delaunay triangulation with auto-matic point creation and imposed boundary constraints. International Journal for NumericalMethods in Engineering, 37:2005{2039, 1994.

[11] N. P. Weatherill, M. J. Marchant, O. Hassan, and D. L. Marcum. Grid adaptation using adistribution of sources applied to inviscid compressible ow simulations. International Journalfor Numerical Methods in Fluids, 19:739{764, 1994.

[12] N. P. Weatherill. A method for generating irregular computational grids in multiply connectedplanar domains. International Journal for Numerical Methods in Fluids, 8:l81{197, 1988.

Page 13: Visual Steering of Grid Generation Y Visual Steering of

Visual Steering of Grid Generation... Yao Zheng et al. 13

Computational Simulation

GeometryDefinition

GeometryRepair

GridGeneration

Database

Data Analysis ComputingPlatforms

NumericalLibraries

System Tools

Parallel SimulationUser Environment

Fluid Dynamics

Structural Mechanics

Manufacturing Optimization

Medical Imaging

Aeroacoustics

Chemical Engineering

Electromagnetics

Figure 1: A general schematic of the Parallel Simulation User Environment (PSUE).

Page 14: Visual Steering of Grid Generation Y Visual Steering of

Visual Steering of Grid Generation... Yao Zheng et al. 14

Figure 2: A selection of windows from the PSUE driving a typical user session. [View as landscape]

Page 15: Visual Steering of Grid Generation Y Visual Steering of

Visual Steering of Grid Generation... Yao Zheng et al. 15

Execution

Host Machine Remote Machine Parallel Platforms

Sequential Code Parallel CodeSequential Code

Figure 3: Computer platforms for problem execution.

Page 16: Visual Steering of Grid Generation Y Visual Steering of

Visual Steering of Grid Generation... Yao Zheng et al. 16

Cur

ves

Sur

face

Str

uctu

re

Arr

ay o

f C

oord

inat

es

Grid

Sur

roun

ded

by

a Lo

op

Top

olog

y In

form

ati

on (

A L

oop)

Figure 4: A support surface, loops and the corresponding grid. [View as landscape]

Page 17: Visual Steering of Grid Generation Y Visual Steering of

Visual Steering of Grid Generation... Yao Zheng et al. 17

Sur

face

Gap

Figure 5: Discovery of a surface gap on an aircraft engine intake. [View as landscape]

Page 18: Visual Steering of Grid Generation Y Visual Steering of

Visual Steering of Grid Generation... Yao Zheng et al. 18

Figure 6: Several schemes for surface reconstruction. [View as landscape]

Page 19: Visual Steering of Grid Generation Y Visual Steering of

Visual Steering of Grid Generation... Yao Zheng et al. 19

s

do

sb

2s1

r1 r2

s1

_____d-r 1 2)log(exps = s1 r -r2 1

Figure 7: Illustration of the in uence of a point grid source on the point spacing variation.

Page 20: Visual Steering of Grid Generation Y Visual Steering of

Visual Steering of Grid Generation... Yao Zheng et al. 20

Figure 8: The e�ect of grid sources on a surface grid. [View as landscape]

Page 21: Visual Steering of Grid Generation Y Visual Steering of

Visual Steering of Grid Generation... Yao Zheng et al. 21

Figure 9: Visual representation of geometry, surface grid and grid sources for an F22 aircraft. [Viewas landscape]

Page 22: Visual Steering of Grid Generation Y Visual Steering of

Visual Steering of Grid Generation... Yao Zheng et al. 22

Figure 10: Histogram of grid quality measures. [View as landscape]

Page 23: Visual Steering of Grid Generation Y Visual Steering of

Visual Steering of Grid Generation... Yao Zheng et al. 23

Figure 11: Visual representation of elements with speci�ed grid quality measures. The ele-ment/node information panel shows quality details for the selected element/node. [View as land-scape]

Page 24: Visual Steering of Grid Generation Y Visual Steering of

Visual Steering of Grid Generation... Yao Zheng et al. 24

GeometryDefinition

GridResults

StateVariables

USER

Visual Steering Environment

GraphicalInput

InteractiveManipulation

Visualization

ParametersSpecification

Grid Generators / Grid Analyzers

Figure 12: Data ow between the user, the visual steering environment, and the grid generator.

Page 25: Visual Steering of Grid Generation Y Visual Steering of

Visual Steering of Grid Generation... Yao Zheng et al. 25

APPLICATION EXECUTION

Host Remote Parallel Parallel Tools- Domain Decomposition

PVMRun

MPIRun

PerformanceMonitoringData Analysis

Volume Grid

Surface Grid

Grid Quality / Cosmetics

Boundary Condition Editor

Adaptation- New Grid

Set Sources(Grid Point Spacing)

Geometry RepairExtract TopologyNot Valid

Valid

Geometry Input

Figure 13: Schematic of the ow chart of the PSUE for the aerospace geometry.

Page 26: Visual Steering of Grid Generation Y Visual Steering of

Visual Steering of Grid Generation... Yao Zheng et al. 26

Figure 14: Visual representation of the geometry, surface and volume grid (with cutting plane) fora Dassault Falcon executive plane. (Geometry de�nition provided by Dassault Aviation) [View aslandscape]

Page 27: Visual Steering of Grid Generation Y Visual Steering of

Visual Steering of Grid Generation... Yao Zheng et al. 27