~ Computer Graphics, Volume 23, Number 3, July 1989frey/papers/scientific visuali… · Permission...

10
~ Computer Graphics, Volume 23, Number 3, July 1989 An Efficient 3-D Visualization Technique for Finite Element Models and Other Coarse Volumes Richard S. Gallagher and Joop C. Nagtegaai Hibbitt, Karlsson and Sorensen Inc. Providence, RI 02906. Abstract We have developed a technique that extends existing 3-D result visualization methods for use with discretized volumes such as finite element models, where result values are only available at coarsely spaced points throughout the volume. It represents results as smooth isosurfaces within the volume for one or more result values, using visually continuous, bi-cubic polynomials. At each of the points where results are available, re- sult gradients are calculated by a finite difference proce- dure. The result values and result gradients are used to obtain the location of and the tangents to the isosurfaces on lines connecting the result points. Continuous dou- bly curved surfaces and surface normals are constructed separately between these discrete isosurface points us- ing bi-cubic polynomials. The isosurfaces are rendered with standard light-source shading and optional levels of translucency, surrounded by translucent free faces of the structure. The method generates isosurfaces on an element-by- element basis, without reference at display time to the behavior of neighboring elements. It is intended for high speed display-time processing of either static or varying isosurface values. CR Categories: 1.3.5 [Computer Graphics] Computa- tional Geometry and Object Modeling: Curve, surface, solid and object representation, 1.3.7 [Computer Graph- ics] Three Dimensional Graphics and Realism: Color, shading, shadowing and texture, Visible line/surface al- gorithms, 3.6 [Computer-Aided Engineering] Computer- aided design (GAD). Additional Keywords: Finite element analysis, isosnr- face, postprocessing, scientific visualization, volume ren- dering. Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the ACM copyright notice and the title of the publication and its date appear, and notice is given that copying is by permission of the Association for Computing Machinery. To copy otherwise, or to republish, requires a fee and/or specific permission. ©1989 ACM-0-89791-312-4/89/007/0185 $OO.75 Introduction Computational mechanics techniques such as the fi- nite element method make it possible to calculate the values of important physical quantities inside a three- dimensional body. These methods produce results that are available at specific points inside and on the surface of the volume. Techniques to display these result values on exterior visible surfaces have been available for some time, and are used as a standard tool by finite element analysts. Examples of these are shown in Figure 1. However, a more complete understanding of the physical results can be obtained by a true three-dimensional visualization of the result values inside as well as on the surface of the volume. Although recent methods display such three- dimensional fields effectively, two key points must be ad- dressed to adapt these visualization techniques to results obtained by the finite element method or related analysis methods. First, the analysis methods do not yield a contin- uum of results within the volume. In the case of finite element analysis, the volume is subdivided into discrete polyhedral elements of arbitrary shape, with result val- ues generally computed at their vertices. Usually, the ele- ments are relatively large, and direct display of tile vertex results leads to images of insufficient resolution. Contin- uous values can be obtained to any resolution by inter- polation between the discrete result points, and can be used to display the physical behavior in form of threshold volumes or surfaces. However, this approach has a large computational cost and inhibits interactive rendering. This brings us to a second point, which is the need for clear, unambiguous representation of threshold sur- faces within the continuum. A designer carrying out a fi- nite element analysis often faces a binary decision--does the structure satisfy the design criteria or not. Being able to visualize the domain within a critical threshold value--and in the case of nonlinear or time-dependent behavior, the evolution of this domain--provides a key to understanding the behavior of the three-dimensional structure. The method presented here extends voxel-based techniques to the display of continuous higher-order intra-element behavior. The results are rendered with 185

Transcript of ~ Computer Graphics, Volume 23, Number 3, July 1989frey/papers/scientific visuali… · Permission...

Page 1: ~ Computer Graphics, Volume 23, Number 3, July 1989frey/papers/scientific visuali… · Permission to copy without fee all or part of this material is granted provided that the copies

~ Computer Graphics, Volume 23, Number 3, July 1989

A n Eff ic ient 3-D V i s u a l i z a t i o n Technique for F i n i t e E l e m e n t M o d e l s a n d O t h e r C o a r s e V o l u m e s

Richard S. Gallagher and Joop C. Nagtegaai Hibbitt, Karlsson and Sorensen Inc.

Providence, RI 02906.

A b s t r a c t

We have developed a technique that extends existing 3-D result visualization methods for use with discretized volumes such as finite element models, where result values are only available at coarsely spaced points throughout the volume. It represents results as smooth isosurfaces within the volume for one or more result values, using visually continuous, bi-cubic polynomials.

At each of the points where results are available, re- sult gradients are calculated by a finite difference proce- dure. The result values and result gradients are used to obtain the location of and the tangents to the isosurfaces on lines connecting the result points. Continuous dou- bly curved surfaces and surface normals are constructed separately between these discrete isosurface points us- ing bi-cubic polynomials. The isosurfaces are rendered with standard light-source shading and optional levels of translucency, surrounded by translucent free faces of the structure.

The method generates isosurfaces on an element-by- element basis, without reference at display time to the behavior of neighboring elements. It is intended for high speed display-time processing of either static or varying isosurface values.

C R C a t e g o r i e s : 1.3.5 [Computer Graphics] Computa- tional Geometry and Object Modeling: Curve, surface, solid and object representation, 1.3.7 [Computer Graph- ics] Three Dimensional Graphics and Realism: Color, shading, shadowing and texture, Visible line/surface al- gorithms, 3.6 [Computer-Aided Engineering] Computer- aided design (GAD).

A d d i t i o n a l K e y w o r d s : Finite element analysis, isosnr- face, postprocessing, scientific visualization, volume ren- dering.

Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the ACM copyright notice and the title of the publication and its date appear, and notice is given that copying is by permission of the Association for Computing Machinery. To copy otherwise, or to republish, requires a fee and/or specific permission.

©1989 ACM-0-89791-312-4/89/007/0185 $OO.75

I n t r o d u c t i o n

Computational mechanics techniques such as the fi- nite element method make it possible to calculate the values of important physical quantities inside a three- dimensional body. These methods produce results that are available at specific points inside and on the surface of the volume.

Techniques to display these result values on exterior visible surfaces have been available for some time, and are used as a standard tool by finite element analysts. Examples of these are shown in Figure 1. However, a more complete understanding of the physical results can be obtained by a true three-dimensional visualization of the result values inside as well as on the surface of the volume. Although recent methods display such three- dimensional fields effectively, two key points must be ad- dressed to adapt these visualization techniques to results obtained by the finite element method or related analysis methods.

First, the analysis methods do not yield a contin- uum of results within the volume. In the case of finite element analysis, the volume is subdivided into discrete polyhedral elements of arbitrary shape, with result val- ues generally computed at their vertices. Usually, the ele- ments are relatively large, and direct display of tile vertex results leads to images of insufficient resolution. Contin- uous values can be obtained to any resolution by inter- polation between the discrete result points, and can be used to display the physical behavior in form of threshold volumes or surfaces. However, this approach has a large computational cost and inhibits interactive rendering.

This brings us to a second point, which is the need for clear, unambiguous representation of threshold sur- faces within the continuum. A designer carrying out a fi- nite element analysis often faces a binary decision--does the structure satisfy the design criteria or not. Being able to visualize the domain within a critical threshold value--and in the case of nonlinear or time-dependent behavior, the evolution of this domain--provides a key to understanding the behavior of the three-dimensional structure.

The method presented here extends voxel-based techniques to the display of continuous higher-order intra-element behavior. The results are rendered with

185

Page 2: ~ Computer Graphics, Volume 23, Number 3, July 1989frey/papers/scientific visuali… · Permission to copy without fee all or part of this material is granted provided that the copies

:~.,,,~.~SIGG RAPH '89, Boston, 31 July-4 August, 1989

Figure 1, Current finit.e element result plotting techniques.

light source shading and translucency to display smooth threshold surfaces within a volume. With proper input preparation, the method is amenable to high-speed pro- cessing handled by low-level software and, theoretically, by firmware.

B a c k g r o u n d

Two areas provide a background to the technique discussed here. The first, generation of contour values, creates outline thresholds of analysis results on visible free surfaces of a three-dimensional volume. This tech- nique has its origins in the generation of topographical maps. Contour outlines, rendered either in wireframe form or generated with color fill regions, form the bulk of current result displays for three-dimensional structures in engineering practice. This method dates back to the earliest days of plotted analysis output, with enhanced techniques being developed over time by people such as Meek and Beer [12], Akin and Cray [2] and Christiansen [4].

As polygon shading techniques have come into wider use, these contour plotting techniques have naturally ex- panded into continuous tonal color plots, mapping result values at the corners of visible free faces onto a shaded color map. Although continuous color plots provide beau- tiful imagery, discrete contour plots provide more useful result threshold information, and are often used to help make important design decisions.

The second--and perhaps more relevant--area is formed by recent developments in volume visualization techniques. Up to this point in time, the visualization of volume data has centered around processing and display of data within a 3-D continuum which exists in discrete form at the level of volume elements, or voxels. Sungu- ruff and Greenberg [17] performed surface fitting across curves formed on adjacent 2-D slices of volume data, while Artzy, Frieder and Herman [3] sought to generate surfaces from critical voxel data.

More recently, Lorensen and Cline [10] proposed the "Marching Cubes" technique, which uses a lookup table based on binary (above/below threshold) values at the corners of a voxel to produce hlgh-speed polygonal ren- dering of threshold surfaces. Lorensen and Cline use local gradients to produce visually smooth isosurfaces across neighboring voxels, while Levoy [] ]] also uses surface clas- sification techniques to determine opacity levels. Drebin, Carpenter and Hanrahan [5~ perform pre-classification of numerous characteristics of the voxel space and apply gradient information for boundary defiuition and render- lug.

These techniques, which were developed for result fields with high density such as obtained in medical CAT scans, could he applied directly to the display of analysis results such as obtained with the finite element method. ttowever, in order to obtain threshold surfaces with suffi- cient resolution, it is necessary to interpolate the coarse element vertex data to a field of voxels of adequate den- sity. This requires increasing computational effort as ele- ments become large relative to voxels, as well as storage of interpolated voxel data. By comparison, the technique proposed in this paper serves to generate high-resolution threshold surfaces directly from the element corner val- ues.

O v e r v i e w of A l g o r l t k m

The input for the three-dimensional isosurface dis- play consists of a set of corner nodes defined by spatial coordinates, a set of elements that defines the connec- tivity of these nodes, and a set of result values at each node. In addition, threshold result values for isosurface generation are specified by the analyst/designer.

The algorithm calculates tile result .value gradient vector at each corner node, using a least-squares linear fit to the result values at all adjacent nodes. An exten- sion of the "Marching Cubes" approach is then applied for each element. The algorithm combines the original

186

Page 3: ~ Computer Graphics, Volume 23, Number 3, July 1989frey/papers/scientific visuali… · Permission to copy without fee all or part of this material is granted provided that the copies

~ Computer Graphics, Volume 23, Number 3, July 1989

idea of using the binary "above or below" value of each node to construct a pointer into a lookup table with ta- bles for general element topologies. These include 4-node tetrahedra, f-node wedges, and 8-node bricks as shown in Figure 2.

Figure 2. Linear finite element topologies.

The lookup tables yield the element edges that inter- sect the isosurface, and the connectivity of the intersec- tion points on the isosurface segments. Another exten- sion used here is that the lookup tables generate 4-corner polygons where possible, with 3-corner polygons gener- ated only as needed in a degenerate case (Figure 3). This quadrilateral-dominated subdivision improves the visual continuity of the resulting isosurfaces, as we will discuss in more detail below.

mad, Irons and Zienckiewicz [1] proposed shell elements in which the surface normals are interpolated separately from the surface geometry. This approach forms the ba- sis for most currently used doubly curved shell elements, such as the one formulated by Murthy and Gallagher [14].

We adopt a similar method to obtain visuMly slope continuous surface segments. First we use standard bi- cubic Hermite functions for the interpolation of the sur- face geometry. The surface patches thus obtained are slope-continuous at the vertices, but not necessarily along the complete edge of the patch. Thus, if the surface geom- etry is used to calculate the normal at each point, visual slope discontinuities may be produced along the interior of adjacent RSS edges (Figure 5). Instead, we generate unique gradients of the normals at each vertex, and again use the bi-cubie I-Iermite functions to interpolate the nor- mals between the vertices. This guarantees continuity of the normals across adjacent edges.

There is still a potential for noticeable discrepancies between surface shape and light source shading near RSS boundaries. These effects tend to be small, with Figure 5 representing an fairly extreme gradient between two surface segments. It appears that the discrepancies are potentially the most pronounced at interior RSS transi- tions. For this reason we try to minimize the number of interior boundaries by using quadrilateral surface patches wherever possible.

The RSS are polygonalized and displayed as they are generated at display time, with light source shading and an optional degree of translucency. One or more threshold values may be used to generate multiple result surfaces. To enhance the picture visually, the visible free faces of the solid are rendered as shaded polygons with a high degree of translucency from a predefined free face list. Currently, this is done in a separate pass. With proper flagging of element free faces, the faces could be rendered simultaneously with the element isosurfaces.

Figure 3. qDiangle vs. quad-dominant edge intersections.

Linear interpolation along the specified element edges is used to generate both values and gradient light source norma.ls at all corner points of the resulting isosur- face polygons. From the vertices and normals, one can generate bi-cubic result surface segment patches, herein referred to as RSS (Figure 4). One or more RSS are pro- duced for each element intersecting the result surface.

Ideally, a surface segment should maintain slope con- tinuity with any neighboring surface segment sharing a common edge and corner normals. The search for ap- propriate functions describing such surface segments has been a major issue in the finite element literature in conjunction with the development of Cl-continuous dou- bly curved shell elements--see Dupuis [6] and Fraeijs de Veubeke [8]. When no satisfactory solution emerged, Ah-

d

a: b

Figure 4. RSS defined by corner points and normals.

187 / -

/

/ '

Page 4: ~ Computer Graphics, Volume 23, Number 3, July 1989frey/papers/scientific visuali… · Permission to copy without fee all or part of this material is granted provided that the copies

~(~S,GGRAPH '89, Boston, 31 July-4 August, 1989

Figure 5. Actual surface normals versus separate normal interpolation for an extreme transition.

C a l c u l a t i o n o f Bas ic D a t a

For each corner node in the finite element mesh, the result value and result gradient at that node are calcu- lated and stored. The result value itself is either directly available at the node or is obtained by extrapolation and averaging from values computed at parametric "integra- tion point" locations within the element, using the shape functions of the element. The gradient of the result values at each of the nodes is derived as follows:

1. For each corner node in the entire model, a list is prepared of the nodes that are connected by an el- ement edge to this node. This step requires mak- ing a pass through the list of element corner nodes. By definition of solid topology, there will be at least three nodes connected to each node. In most cases, the number of connected nodes will be larger than three, with a typical number being six. The num- ber of connected nodes can be very large, as in the case of a radial distribution of solid wedges around a point.

2. We denote the gradient of the result value s n at node n by 9~. For each node rn connected to node n, the difference in result value As ~ - ~ can be approx- imated by multiplication of the result gradient with the coordinate difference A ~ -n along the line seg- ment:

. 9~Ax~ n-~ i

3. When the differences are known in three directions that are not co-planar, g~ can be calculated ex- actly from the result difference equations. If the differences are known in more than three directions, the least-squares procedure is used to obtain the re- sult gradient that best approximates the differences. This leads to the matrix equation

D '~ =

j m

where the matrix D# is

~ X ? f n - - ~ A m ~ n D i j = 2 . . , i ~ : c j

m

4. The matrix Dij can be inverted if at least three vec- tors ~ a ~ -~ are not co-planar, which always is the case for realistic finite element meshes. Thus, the gradient is obtained from the equation:

-- D,3, a 7-" s rn

This gradient vector g~ is normalized to obtain the unit vector n~ and is stored to be available at display time for each element as processed.

Visualization techniques based on the interpretation of small, regularly shaped voxets often generate the gradi- ent information during display processing. For regularly shaped voxels, the coordinate difference vectors /kxi be- come orthogonal, which lowers the cost of the gradient calculation significantly, while at the same time reduc- ing storage requirements. The savings in storage is not achieved with the more general discretization schemes discussed here because of the need to access the nodal connectivity list discussed under point 1. The use of pre- calculated gradients allows considerably faster rendering and is particularly suitable for an animated display ob- tained by continuously varying the requested isosurface v a l u e .

D i s p l a y - t i m e P r o c e s s i n g o f E l e m e n t s

Given an element with scalar result values s and normalized gradient vectors ni at each node, and a user specified threshold value, an element is processed in the following steps:

188

Page 5: ~ Computer Graphics, Volume 23, Number 3, July 1989frey/papers/scientific visuali… · Permission to copy without fee all or part of this material is granted provided that the copies

~ Computer Graphics, Volume 23, Number 3, July 1989

1. Determine which nodes are "in" (e.g. greater than the result value) and which nodes are "out" (less than the result value). If all nodes are in or all nodes are out, no isosurfaces intersect the element and pro- cessing of the element is complete.

2. If some nodes are "in" and others are "out", use a Marching Cubes-style lookup table to determine which edges intersect the isosurface of the thresh- old result value, and which result surface segments (RSS) result from these vertices. As discussed pre- vionsly, we use a variant of the lookup table which generates quadrilateral regions where possible. Since in finite element analysis the element topologies can vary (e.g. cubes, wedges, tetrahedra), differ- ent lookup tables are used for the various element topologies. Each result surface segment (RSS) will be either a four-noded or three-noded surface patch.

3. For each vertex of the result surface segment, linearly interpolate between the nodes of the associated ele- ment edge to determine the vertex coordinates and the result gradient at each vertex.

In finite element analysis, the dement edges do not have to be linear: finite elements with quadratic or even cubic edge geometry are not uncommon in analysis prac- tice. In principle, it would be possible to use actual el- ement shape functions to interpolate the vertex points along a curved edge. Since the output of this step pro- duces only corner points and result gradients, the curva- ture of the finite element faces is not taken into account in the creation of the result surface segments. Moreover, display speed considerations make it desirable to treat curved edges as if they were linear.

C o n s t r u c t i o n o f I s o s u r f a c e S e g m e n t s

At this point, we have entities defined by 3 or 4 coor- dinate points and corresponding result gradient vectors. The result gradient is, by definition, orthogonal to the result isosurface. Hence, it is conceivable to render the surface segments directly as Gouraud or Phong shaded polygons, effectively treating the elements as large vox- els, as is done by Lorensen and Cline and others. In this case the averaged normal values would produce a conti- nuity of light source shading values along adjacent tLSS edges.

In large finite elements, however, this can lead to noticeable visual transitions as the shading reflects an averaged polygon angle across the adjacent RSS edges. Moreover, the coarse nature of the element mesh would result in a substantial visual loss of the result behavior within the element itself. A much improved visualization is obtained with a higher-order mapping for the geometry of the result surface segments. We selected the paramet- ric hi-cubic polynomial for two reasons: its high geomet- ric order, and the ease of surface definition based on the available data.

The geometric representation of a parametric cubic surface involves a coefficient matrix that is applied to the Hermite functions for a cubic variation of a single parameter ~ between 0 and l :

f~ = 2~ 3 - 3 ~ 2 + 1 .h = - 2 ~ 3 + 3~ 2 /~ = ~ _ 2 ~ + A = ¢~ - ~

These Hermite functions multiplied with a coefficient matrix Bijt~ defines the shape of the result surface seg- ment

• , (~1, ~ ) = ~ / A 6 ) B ~ j k Y k ( ~ ) j,k

The matrix of coefficients has the form:

B i j k =

(a~i(0,0) x¢(0,1) 0~,(0,0)o~ 0~,(0.z)o~2

| o=4q,o) o,4o,1 ) o=,~(0,0) 0%~(o,I) [ o ~ 0~1 o~t o~2 o~x 0~2

Ozi(1, O) Oi l( l ,1) ,O:tti(1,0) a~tZi(1,1)

In this 4 by 4 by 3 matrix, the values in the up- per left-hand quadrant represent the Cartesian coordi- nate data at each of the four vertices. The values in the upper right-hand and lower left-hand quadrants represent the tangent vectors in the parametric directions ~2 and ~1 respectively. The values in the lower right hand corner represent the"twist" of the surface at the vertices.

The twist is related to the isosurface curvature, which can in principle be obtained from the nodal results with use of a second order approximation. However, this will require considerable additional pre-processing, and it is not clear that the resulting images will be enhanced sig- nificantly. Hence, the coefficients in the lower right-hand corner of the matrix are set to zero, producing what is known as a Ferguson patch or F-patch [7,13]. This type of surface is completely determined by its four paramet- ric cubic edge curves, or alternatively by the 4 corner positions and the corner tangent vectors.

C a l c u l a t i o n o f t h e RSS. G e o m e t r y M a t r i x

The next step in the process is to calculate the co- efficients in the matrix described above. Obviously, the terms in the upper left-hand part of the matrix are di- rectly obtained as the coordinates of the points a, b, e and d shown in Figure 6. The lower left-hand and upper right- hand terms are equal to the tangent vectors in the para- metric directions, which are obtained on an edge by edge basis.

An edge of a result surface segment can be consid- ered the line of intersection of the isosurface with another surface, which we call the intersection surface. It is not

189

Page 6: ~ Computer Graphics, Volume 23, Number 3, July 1989frey/papers/scientific visuali… · Permission to copy without fee all or part of this material is granted provided that the copies

~~S IGGRAPH

necessary to obtain a complete description of this surface; however, at each vertex we construct the normal si to the intersection surface. At the vertex, the edge of the RSS must then be or thogonal to both si and the normalized result gradient nl.

d

c

G

'89, Boston, 31 July-4 August, 1989

Figure 6. Parametric cubic surface conventions.

If the edge of the RSS is on the surface of an element, the obvious choice is to select the element face as the intersection surface. Wi th this choice, the boundaries of the isosurface will coincide exactly with element face if the face is planar, and will be a close approximat ion otherwise. For the edge a - b at vertex a, the element face is characterized by the coordinate ~ and x~ of the vertices of the RSS edge and by the coordinates m~+ and • ~ - of the end points the edge of the parent element. The normal to element face is hence readily obtained as the cross product of ~ + - z ~ - and zb~ - ~ :

,? = e , ~ , , ( ~ + - - ~ - ) ( ~ - - .~) where ei jk is the a l ternator symbol:

el23 ~ e231 ~ e312 ~ 1, e321 ---- e213 = e l 3 2 ~ --I

and all o ther eli k terms equal zero. If the edge of the RSS is in the interior of an element,

we select an intersection surface that leads to simple ex- pressions for the tangent vectors and remains close to the straight line connecting the end points, thus nfinirniz- ing the chance that the edge will go outside the element. This surface is characterized by the coordinates of the end points and the normal to the isosurface at the end points. For the edge a - d in Figure 6 this thus yields:

a a d Sl = e i j k n j ( ~ k -- ~ )

Finally, one takes the vector product n~ and s~,

yielding the tangent vector t~ in the paramet r ic direc- tion of the edge:

t t _ ~ e S a tt ti i j~ i n k

Similar formulae calculate the tangent vector t~ at vertex b. After the direction of the tangent vectors has been obtained, the length of the tangent vectors must be determined. Note that the vector specifies the derivat ive of the posit ion with respect to ,f, with ~ changing f rom 0 to 1 along the edge. In order to get a smooth variat ion of the posit ion as function of ~, we scale the length of the tangent vector to the straight line distance between the end points. This assures an even dis t r ibut ion of sub- polygons during the la ter rendering stage. The tangent directions are reversed if needed to be oriented in the posit ive paramet r ic direction.

The above expressions apply directly for quadri la t- eral result surface segments. Triangular segments are t reated as collapsed quadrilaterals. It is assumed that the points (0,0) and (0, 1) in parametr ic space coincide in physical space, that is x i (0 ,0) = ~i(0, 1). It au tomat - ically follows that the tangent vectors ti along the edge vanish, and thus Dzi(O,O)/O~2 = Ozi(O, 1)/0~2 = 0.

C a l c u l a t i o n o f t h e RSS Normal M a t r i x

For in terpola t ion of the normal vectors, a similar procedure is used. Firs t , the normalized gradient vectors are used in the upper left hand part of the coefficient matr ix. For each edge, a surface is then constructed that contains the edge and is or thogonal to the RSS at the vertices. For edges in the interior of an element, this sur- face is the previously defined intersection surface. The construct ion of this surface makes it possible to calculate the paramet r ic derivatives of the normal vectors. The results of tiffs calculat ion are presented below without derivation.

For the edge a - b, the coordinate ~i b and ~ , the tangent vectors t~ and t~ and the normal vectors n~ and nl b are used to compute the following coefficients:

= - - n i ( 4 t i + -- + ~ a -b a a 2 = e i i k r t i n j t k / ~ ~ b b a b 2 ~- e i j k n l n j t k / g

where t is the dis tance between the vertices a and b. If the surface segment is a tr iangle and the edge is collapsed we take the limit ~g ~ 0 w h i c h y i e l d s a ~ = cz b =13 ~ = ~ b . ~ 0 .

The parametr ic derivatives of the normals at each ver tex can then be expressed as:

al , z i b / a ~ b b b " b a = a t i + ~ e i j ~ n j t k

The paramet r ic derivatives of the normal vectors are then used to form the upper right- and lower lef t -hand side of the coefficient ma t r ix to be used with the cubic interpolat ion functions. Analogous to the geometry in- terpolat ion, it is assumed that the " twis t" of the normal

190

Page 7: ~ Computer Graphics, Volume 23, Number 3, July 1989frey/papers/scientific visuali… · Permission to copy without fee all or part of this material is granted provided that the copies

~ Computer Graphics, Volume 23, Number 3, July 1989

vectors is zero at the vertices:

l o,~,(o,o) o~,(o,1) I o& o~ 0 0

o~,0,o) o,~,0,1 )

S u b d i v i s i o n and R e n d e r i n g

After the parametric cubic RSS has been con- structed, it can be output directly for display prior to processing the next element. For shaded isosurfaces, this involves subdivision of the RSS into an appropriate poly- gon density for output to a display device. These coor- dinates of the sub-polygons are generated with the para- metric cubic shape functions and the geometry coefficient matrix described in the previous sections.

The local surface normal is interpolated using the same functions, but now using the coefficient matrix for the normal vectors. Any other isosurface value depen- dent display attributes, such as a level of translucency, are applied at this point. The sub-polygons are then ren- dered, in this case using hardware-level Gouraud polygon shading.

The composite final image would generally consist of one of more isosuffaces within a translucent outer sur- face. In our case, this outer surface consists of a previ- ously computed list of the exterior free faces of the ele- ments. With display hardware Z-buffering, isosurface and free face data can be output in any order. However, sort- ing and processing both free face and isosurface segments within each element can diminate the need for hardware Z-buffering in most cases, if elements are processed from back to front within the current view.

Figure 7 shows the flow of principal stress in the X direction through the earlier two element test case, while Figure 8 shows isothermal surfaces through a solid cylinder head.

G r a p h i c s D i s p l a y C o n s i d e r a t i o n s

This method, and particularly its processing of smooth, continuous surface segments one element at a time, was specifically designed to allow newer graphics device architectures to produce high-speed display of in- terior solid behavior in a 3-D real-time mode.

As a result of increasing I /O bandwidth, many cur- rent graphics device architectures support real-time 3-D display by continuous re-transmission of display entities. In this case, software is designed around a tight, lower- level display loop of graphics entities. With the proper pre-calculation of data as outlined above, the processing of isosurfaces can be performed as part of a low level element-by-element display loop.

This is not a fully optimal display situation - prac- tice within the current application program involves ini- tial decomposition of the solid element model into visible

free faces, with the lowest level display loop being one through the visible free face list. For static or display-list imagery, the isosurface output of this method will need to be appended to the free face list.

On the other hand, by maintaining an ass0ciativity between element and visible free face data, the display loop could be set up to incur minimal overhead by dis- carding those elements which contain neither visible free faces nor isosurface segments.

Another advantage to having the finM isosurface cal- culation within a single display pass is that it allows real- time variation of the isosurface value within a static state of results. It also is well suited to display of multiple isosurface levels, as each value can be evaluated during the processing of each element within the display loop with a minimum of added overhead. Display of multiple isosurface regions with varying levels of translucency, as shown in Figure 9, and isosurface animation both repre- sent promising techniques for display of the overall result flow within a solid hody.

T h e I s sue o f R e s u l t S m o o t h i n g

Smooth isosurfaces generated from sparse data on a relatively coarse grid approximate the exact variation of the field variables in the finite element formulation, but are calculated from a finite element solution yielding discontinuous gradients across element boundaries. The process of smoothing therefore adds another level of ap- proximation to these results.

It should be realized, however, that the fields calcu- lated by the finite element model are in itself an approxi- mation to the exact solution of the differential equations that describe the mathematical model. For example, it can be demonstrated that the exact solution to the heat transfer problem exhibits continuous temperature gradi- ents throughout the model. In that sense, the smoothed isosurfaces give a better impression of the nature of the solution of the mathematical problem. No general state- ment can be made that smoothing of discretized results gives a better or worse quantitative representation of the exact solution. In our experiences with finite elements, we have seen examples of both.

Another issue is the. smoothing of results across known discontinuities of physical characteristics or result values - for example, when elements of materials such ds rubber and steel share common nodes. This is not an is- sue of the smoothing approach per se, but rather the raw input data provided to it. It occurs when element-based results are averaged to common corner nodes, without regard to such discontinuities.

In the current applications program, we have the ability to associate more than one result with a single node when shared by elements with different physical properties or topology. Moreover, the averaging of gra- dient results at these nodes can be restricted to adjacent nodes values for like element types. This approach will yield discontinuous, separate isosurfaces across element

191

Page 8: ~ Computer Graphics, Volume 23, Number 3, July 1989frey/papers/scientific visuali… · Permission to copy without fee all or part of this material is granted provided that the copies

~~SIGGRAPH

type boundaries - which is exactly what one wants under the circumstances.

The overriding benefit to properly applied smooth- ing techniques is the conceptual feel it can give to the nature of the 3D behavior. Part icularly as one looks at multiple or complex results, the faceted nature of discrete result values can impede this visual level of understand- ing. Smooth three-dlmensional isosurfaces provide the analyst with a more easily understood representation of the result values in the structure or process.

'89, Boston, 31 July-4 August, 1989

C o n c l u s i o n s

The technique presented here accomplishes three goals in the visualization of 3-D behavior when results are available on a relatively coarse, non-uniform grid:

• the generation of smooth, non-faceted result sur- faces;

• the processing of single elements within a low-level display loop with minimal stored data;

• visual representation of intra-element behavior. Volume rendering techniques are s tar t ing to make an

impact on the display of 3D structural behavior, as ev- idenced by applications such as Winger 's [18] real-t ime implementation of a Marching Cubes approach for vi- sualizing finite element results. While the method we present here was developed with the finite element anal- ysis of solid objects in mind, however, its basic underlying principles are intended as a step towards the larger goal of reducing the computat ional and display bandwidth of general 3-D solid visualization problems.

A c k n o w l e d g e m e n t s

Dr. James Winget of Silicon Graphics contributed valuable insights into this problem. Todd Gerhardt of Kohler Company furnished the cylinder head model. Tek- tronix, Inc. provided the 4336 display equipment on which the images were generated, with part icular credit to the assistance of Dave Smith and Jerry Bouvisuto. David Berman and Godofredo Camacho of HKS devel- oped major portions of the display and rendering soft- ware. Finally, Dr. David Hibbit t deserves credit for his concepts of an interactive environment for finite element analysis, of which this work is a part .

R e f e r e n c e s

1. Ahmad, S., Irons, B.M., and Zienkiewlcz, O.C., "Analysis of Thick and Thin Shell Structures by Curved Elements", Intl. Journal of Numerical Methods in Engi- neering, Vol. 2, pp. 419-451, 1970.

2. Akin, J.E. and Gray, W.H.," Contouring on Isoparametric Surfaces", Intl. Journal for Numerical Methods in Engineering, Vol. 11, pp. 1893-1897, 1977.

3. Artzy, E., Frieder, G. and Herman, G., "The The- ory, Design, hnplementat ion and Evaluation of a Three- Dimensional Surface Detection Algori thm", Proceedings of SIGGRAPH '80, in Computer Graphics 14,3, July 1980.

4. Christiansen, H.N. and Sederberg, T.W., "Con- version of Complex Contour Line in Computer Graphics 12,3, August 1978.

5. Drebin, R.A., Carpenter, L. and Hanrahan, P., "Volume Rendering", Proceedings of S IGGRAPH '88, in Computer Graphics 22,4, August 1988.

6. Dupuis, G. and Goel, J .J . , "A Curved Fini te Ele- ment for Thin Elastic Shells", Intl . Journal of Solids and Structures, Vol. 6, pp. 987-996, 1970.

7. Ferguson, J.C., "Multivariate Curve Interpola- tion", Journal of the ACM, Vol. 11, pp. 221-228, 1964.

8. Fraeijs de Veubeke, B., "A Conforming Finite Element for Plate Bending", Intl. Jounal for Solids and Structures, Vol. 4, pp 95-108, 1968.

9. Gallagher, R.S., "Postprocessing Techniques for 3D Non-linear Structures", RPI Workshop on Geomet- ric Modeling and FEM, Rensselaer Polytechnic Inst i tute, May 1987.

10. Lorensen, W.E. and Cline, H.E., "Marching Cubes: A High Resolution 3-D Surface Construction Al- gori thm", Proceedings of S IGGRAPH '87, in Computer Graphics 21,4, July 1987.

11. Levoy, M., "Display of Surfaces from Volume Data" , IEEE Computer Graphics and Applications, May 1988.

12. Meek, J.L. and Beer, G., "Contour Plot t ing of Data Using Isoparametric Element Representation", Intl. Journal for Numerical Methods in Engineering, Vol. 10, pp. 954-957, 1976.

13. Mortenson, M.E., GEOMETRIC MODELING, John Wiley & Sons, 1985, pp. 151-164.

14. Murthy, S.S. and Gallagher, R.H., "Anisotropic Cylindrical Shell Element Based on Discrete Kirchoff Theory", Intl. Journal for Numerical Methods in En- gineering, Vol. 19, pp. 1805-1823, 1983.

15. Nagtegaal, J.C. and Slater, J.G., "A Simple Non- Compatible Thin-Shell Element Based on Discrete Kir- choff Theory", in Non-Linear Finite Element Analysis of Plates and Shells (T.J .R Hughes et al, eds.), AMD, Vol. 48, pp. 167-192, 1981.

16. PATRAN II Users Manual, PDA Engineering, July 1987, Ch. 37 (Theory).

17. Sunguruff, A. and Greenberg, D.P., "Computer Generated Images for Medical Applications", Proceed- ings of S IGGRAPH '78, in Computer Graphics 12,3, Au- gust 1978.

18. Winger, J.M., "Advanced Graphics Hardware for Fini te Element Results Display", Advanced Topics in Finite Element Analysis, (J .F. Cory, Jr. and J.L. Gordon, eds.), PVP Vol. 143, ASME, New York, 1988.

192

Page 9: ~ Computer Graphics, Volume 23, Number 3, July 1989frey/papers/scientific visuali… · Permission to copy without fee all or part of this material is granted provided that the copies

~ Computer Graphics, Volume 23, Number 3, July 1989

Figure 7. Stress flow through two element test case.

Page 10: ~ Computer Graphics, Volume 23, Number 3, July 1989frey/papers/scientific visuali… · Permission to copy without fee all or part of this material is granted provided that the copies

'89, Boston, 31 July-4 August, 1989

Figure 8. Cylinder head thermal model.

Figure 9. Multiple isosurface levels with translucency.

194