SANDIA REPORT SAND89–0485 . UC–32 Unlimited Release Printed March 1989 GEN3D: A GENESIS Database 3D Transformation Program Amy P. Gilkey, Prepared Gregory D. Sjaardema by Sandia National Laboratories Albuquerque, New Mexico 87185 and Livermore, for the United States Department of Energy under Contract DE-AC04-76DPO0789 SF2900Q(8-81 ) California 94550 2D to Issued by Sandia National Laboratories, operated for the United States Department of Energy by Sandia Corporation. NOTICE: This report was prepared as an account of work sponsored by an agency of the United States Government. Neither the United States Government nor any agency thereof, nor any of their employees, nor any of their contractors, subcontractors, or their employees, makes any warranty, express or implied, or assumes any legal liability or responsibility for the accuracy, completeness, or usefulness of any information, apparatus, product, or process disclosed, or represents that its use would not infringe privately owned rights. Reference herein to any specific commercial product, process, or service by trade name, trademark, manufacturer, or otherwise, does not necessarily constitute or imply its endorsement, recommendation, or favoring by the United States Government, any agency thereof or any of their contractors or subcontractors. The views and opinions expressed herein do not necessarily state or reflect those of the United States Government, any agency thereof or any of their contractors or subcontractors. Printed in the United States of America Available from National Technical Information Service U.S. Department of Commerce 5285 Port Royal Road Springfield, VA 22161 NTIS price codes Printed copy A03 Microfiche copy AO1 ... Distribution SAND89-0485 Unlimited Release Printed March 1989 UC-32 GEN3D: A GENESIS Database Transformation 2D to 3D Program Amy P. Gilkey and Gregory Engineering Sandia Analysis National Albuquerque, D. Sjaardema Department Laboratories New Mexico 87185 Abstract GEN3D is a three-dimensional is generated by mapping one of four types surface, mesh and can about but, dimensional complex GEN3D and writes database and in terms used geometries analysis Laboratories, codes and therefore, used Albuquerque, the separate The mapping about geometries of several into three-dimensional it is compatible with by the Engineering mesh the Analysis NM. 3 a single revolving require or a three- when the sections geometries. body. databases preprocessing, Department and it can be used to mesh sections of two-dimensional sections a spherical are axisymmetric conditions, More importantly, to three-dimensional an axis, that mesh according onto generated or boundary composed of transformations to join two-dimensional format; to mesh dimensions rotating, reflecting loading The three-dimensional into three surface. mesh and analysis. three-dimensional is then mesh by offsetting, can be used finite element program. translating. a cylindrical due to three-dimensional can be defined GJOIN onto be reoriented an axis. planar, a two-dimensional of transformations: mapping then mesh generation The code GEN3D in the reads GENESIS postprocessing, at Sandia National Figures 1 2 . . . . . . . . 6 . . . . , . . 7 . . . . . 8 . . . . 9 and Back Sets . . . 10 . . Introduction 1.1 Terminology 1.2 Element 1,3 Front 1.4 Three-Dimensional Command Blocks Input . . . 2.1 Mesh Transformation ~.~ ~lesh 2.3 Element 2.4 Front 2.5 Information Orientation Block . . . Types . . 19 . . 21 . . 24 . . ~~ 30 “ and Back Set Definition 3 Informational 4 Executing 4.2 Special . 33 hlessages . . . . 35 Files . . . . 35 Software . . . . 35 . . . . GEN3D Execution 31 and Processing and Error 4.1 References 10 Output . . . . A The GENESIS B Command C Site Supplements . C.1 VAX hTMS . C.2 CRAY . Database Summary CTSS . 37 39 Format . 43 . . . . . . . . . 45 . . . . . 45 . . . . . 45 Figures 1.1 Simple 2D mesh input l.~Trans]ation. . . to GE.N3D . . . . , . . . . . . . , . . . .0 . . . . . . . . . . . . 13 . . . . . 14 . . . . . . 15 1.3 Rotation around line outside mesh 1.4 Rotation around mesh edge . . . . . . . . . . . . . . 16 1.5 Warpaboutthel’axis . . . . . . . . . . . . . . 17 2.1 Illustration of Projection 2.2 Illustration of Mapping . . Procedure Procedure for the WARP for the WARP POINT 25 Command azis Command . . 26 1. Introduction GEN3D is a mesh two-dimensional tions generation mesh are available: (2) rotating ( 1 ) translating surface. geometry surface, GEN3D which joint geometry is compatible programs with of the finite element two-dimensional higher-order primitives encountered shapes PATRA.Y generation culty, any desired Although FASTQ being, developed Koteras tries. These with varying that any desired to reduce [12,14], programs geometry the or reduce is a simpler analyzed at Sandia mesh generation National Laborato- [2] are used to generate the majority .Analysis FASTQ is based rewritten developed Department. on the earlier and enhanced. to simplify with is a mesh generator and also employs meshing varying Blacker required of commonly transitions ). commercial degrees [6,5], and to automatically of diffi- and the need to enter the geometry cited or planar; 7 discretize above. however, or are the ge- automatic. a user-defined Research or geomegeometry is also in progress Sjaardema methods to the input to three-dimensional programs and three-dimensional discretize ~13] are investigating the two pro- have been. ~7] are developing to define the geometry. and solid modelers are axisymmetric define by the analyst. and Blacker general-purpose Chavez with programs to both for two-dimensional of involvement approach and meshed mesh generation effort are intended [~], and Koteras and the other can be defined additional generators amounts matic code geometry. mesh bodies geometry into a single database. can be used to generate. the time and effort required to eliminate that mesh onto a cylin- to as a 21/2-dimensional triangles) and conditions (for example. two-dimensional and three-dimensional purpose, put from CAD programs GEN3D have been and PA TRAN, semi-automatic, Engineering program (for example, program almost grams Chavez which is a general mesh databases Department [1 l;. It has been totally the two-dimensional to be used with the companion [4] and PATRAN in the mesh, of a two-dimensional to complement Analysis FASTQ meshes GENESIS a transforma- of the two-dimensional referred in terms is intended intended mesh generation Q.VESH/RE.TL’.M reduce and used in the Engineering The two programs omet ry. GEN3D Four the two-dimensional is commonly mesh from mesh. an axis, (3) mapping defined two or more a three-dimensional to the plane and (4) mapping The resulting since it can be completely GJOIN [3] creates the two-dimensional mesh about and a single transformation. ries. that normal the two-dimensional mesh onto a spherical drical program by transforming to ~17), Schut t ~16n, for linking of mesh generation the outprograms manually. mesh The generation geometries than the auto- of many due to three-dimensional of the load- ing or boundary element conditions. mesh dimensional and analysis geometries in terms primitives, or as many using meshed GEN3D and geometry definition gineering Analysis All of the mesh files in the format ated the EXODVS the PATRA:V, file format. :9]or PATRA.Y, by BLOT three-dimensional meshes programs using and or sections cannot file format Laboratories, mesh Analysis two-dimensional The from and examined GEN3D to- can be which used in the EnNM. Department write read to GEIV3D can by GROPE EXODUS can be gener- mesh generator GEN3D that be graphically to other writes displayed [10~ or N[~kfBERS by GE.A-3D can be joined is the Albuquerque, programs input or any other mesh generated with file format all of the postprocessing output can of the primitives. Engineering two-dimensional Each and then joined be meshed [15] database in the three- if the primitives GEN3D, [19] database National finite complex geometries. using to the other at Sandia format, Therefore, files, that of the EXODUS generation by FASTQ, can be meshed files in the GENESIS portion EXODUS primitives to mesh of two-dimensional and then joined Department with a three-dimensional can also be used of several ~3]. The primitives writes be analyzed GE.N3D as possible, PATRAN reads must of transformations GJO1.N with code. composed be defined gether the body [18:. The three-dimensional GJO1.Y. 1.1 Terminology GE.Y3D generates The available translation For a translation specified then rotation a three-dimensional transformations amount negative in the volume rotation transformation ing the two-dimensional The three-dimensional rotating warping transformation, in the generated The warping surface with spherical where a specified surface second is called is then translated mesh. mesh an axis parallel “swept” is mesh. by rot at axis. out by the mesh. maps radius of curvature the two-dimensional of curvature. where the center “axis warp” normal mesh to the Y coordinate in the volume a mesh mesh and the displaced the three-dimensional generated is displaced three-dimensional of curvature is a Line that Two mesh surfaces is a point, lies in either in this document. to the surface The warped a circular can be specified: of the planes “point a surface defined by warp” and the two-dimensional mesh to form the three-dimensional mesh is assumed to lie in the X-Y coordinate Plane 8 onto and a cylindrical X = O or Y = O. The first warp type is called the equations 1the two.dimension~ about mesh is then The the original generates transformation the center a two-dimensional the two-dimensional Z direction. between mesh two-dimensional The mesh by transforming are: mesh. The term “level” and elements that dimensional nodes refers are created nodes and to a single by doing and elements elements. translation or rotation. a single Normally, one three-dimensional element. from each two-dimensional node and an additional the three-dimensional shows a two-dimensional mesh translated from each two-dimensional element The node elements als are eight-node hexahedrons. Figure a two-dimensional display three-dimensional result of a translation. Figure 1.4 shows shows a warp Element Blocks The GENESIS database represents If the mesh plement block a different a material The tunnel geomechanics must 1.1 are generated 11 nodes be a four-node mesh. are generated quadrilateral. four-node Figures an axis at the edge allows in the and/or The quadrilater- 1.2, 1.3, 1.4 and 1.5 of the mesh, and Figure 1.5 by “killing” element blocks. Each a “tunnel’” block to im- of an input element element blocks, three-dimensional The user specifies used into the user to specify the levels levels. mesh material. in a three-dimensional is commonly problem type through into several of levels block Figure 1.2 shows the 10 elements in 280 elements; all elements GE.Y3D in one or more the number 10 levels; Figure in 440 nodes. rectangular element change is transformed and For example, from the two-dimensional around groups is translated, the elements per level the Y axis. 1.2 block node is generated meshes generated from the input mesh. Figure 1.2 shows the Figure 1.3 shows a rotation around an axis outside the mesh, a rotation about per level and 40 nodes. has database generated of the two- the two-dimensional is generated 360 degrees). resulting in the two-dimensional 1.1 shows mesh resulting three-dimensional element nodes node at the back side of the last level 28 elements element from each two-dimensional Each is rotated with 10 times. or rotation from” One three-dimensional mesh mesh same translation are said to be “generated from each two-dimensional (unless Three-dimensional block to analyze the the elements block. each consisting the starting and ending the TUNNEL with sequential in the tunnel .4 tunnel mining blocks of levels command. of a drift in a as a function of time. If the mesh is rotated like other new nodes blocks around the center are overlaid which mand ) and each elements, border specially two-dimensional the edge of the mesh and the center elements are handled elements on the center the center handled. element become nodes. of rotation Only six-node To eliminate must the center 9 this problem, elements and the element (with the CENTER com- element is generated from be identified one three-dimensional bordering wedge-shaped for each 90-degree quadrant. As the elements get farther two-dimensional rot ated element elements. Elements minimum increases. Figure in a center An element from the center, borders the in the same slot in the connectivity of 2. If nrot,/nguad nrot/(2nquad Front and Back Sets of nodes The mesh must restrictions. is equal to the elements must are found have the same must be rotated of rotations of rotations appear a complete per quadrant per quadrant, the X axis in the center sides may be defined sets are transformed A front node includes all of the four-node must there must database. The block. set includes into three-dimensional sets and repeated for each mesh. all of the two-dimensional or side set includes in a GENESIS sets of only the front or back of the three-dimensional nodes. Similarly. faces which make up the two-dimensional the nodes .4 back node or side set cannot degrees the normal Sets The user may create node with X coordinate elements and the number along from each to certain to the centermost is the number and sets of element two-dimensional level, conform adjacent. sequence. ) elements merge the lower left node in each element (90, 180, 270, or 360 degrees) be at least 1.3 The connectivity. For example, structure. be a multiple must adjacent generated the edge of the mesh. if and only if its minimum connectivity quadrant around command) The elements element of elements the elements a rotation (CENTER the center for the mesh. by searching Eventually 1.4 shows block the number since the generated or element be defined shape a front side set elements. A back faces on the back side of the last level. if the three-dimensional has no “back”; however, mesh is rotated front 360 node or side sets may be defined. 1.4 The Three-Dimensional three-dimensional generated of the blocks. level. from nodes all elements For non-tunnel In general, element so that blocks, depends on the item blocks), three-dimensional consecutively. element together all the three-dimensional are grouped all the are numbered in each level are grouped with block type. the elements elements nodes The numbering generated For tunnel in the next from a two- together. items (nodes or elements for each level are processed This is true for the nodal (for non-tunnel node elements all three-dimensional two-dimensional are numbered a two-dimensional three-dimensional dimensional Output coordinates, the element before order map, the node sets, and the side sets. 10 or sets) proceeding generated from a to the next item. the element connectivity fianslation Transformation: from each t wo-dirnensional Z coordinate successive the For rotations. of the is counterclockwise X coordinate; the nodes. to the generated three-dimensional The Y coordinates angle of the two-dimensional Warping Transformation: ordinates warp nodes. maps nates from mesh and surface gradient the of the warp in more of rotation, are copied and the edge type. and distance the surface. warp. commands three-dimensional of curvature. mesh; are calculated distance node A cylindrical coordinates to the three-dimensional to the three-dimensional to the original The X and 1- coordi- The t we-dimensional Z coordinate from chapter describe cor- the other the measured in the two-dimensional in the following the co- The point-centered to the generated the radius are available: transformations, radius along of the mesh. The the warping pro- options. The detail. A gradient can be specified for each of the transformation affects the and Z. is the z transformations a spherical from axis are copied is equal from Zc In the warping of warping by the axis-centered that + of warping warp. are copied generated descriptions types mesh such The offsets – Zc)sino/ is calculated coordinate level. of rotation node. of the type to the warping of each are: (z,- Zc)cosq Two Z coordinate angle The center The X and Z coordinates the two-dimensional the the nodes onto curvature Gradient: on each are functions from the two-dimensional mesh two-dimensional cedure from it; the for the nodes on the first level are copied the two-dimensional is generated responding –(ql and axis-centered are functions and of level /, ZC is the center coordinate point-centered node of nodes z = x = surface generated Z coordinates down the Y axis, X coordinates 01 is the rotation the X and two-dimensional if looking two-dimensional warp are copied level. X coordinate where nodes on the first level and is decreased Transformation: rotation the X and Y coordinates node to the three-dimensional is zero for nodes Rotation of the For translations, the spacing oft he levels. The displacement or thickness where: tottran t~ x = (grad-1 (gmdn-n { tottran/ntran t, = t~ ~ 1) if grad # 1; if grad = 1. X (JTQd’-l 11 of level i is i, where toftran is the total of translations. translation, For rotations, grad is the gradient> ioffran and nfran is the total number is the angle of rotation and t, is the rotation of level 2. Orientation: After the three-dimensional and orientation The of the mesh are calculated specified revolutions it is reflected specified Element copied Side the about tolerance and Node coordinate The element Sets: to four nodes or zeroing. offsets, coordinates and then less than the attributes elements level (if any). by adding from the two-dimensional element are generated from it. node set is repeated Each the adjacent on each level and side of an two-dimensional two nodes side set is on the next level, and each on each level. Records: Q.% records and coordinate ten to the output the GE.N3D database program ‘bY;’, and “QUAD”. .411 nodal the final position reflecting. by the coordinate axes. Each two-dimensional side of the last set is repeated followed offsetting, zeroed. to the three-dimensional expanded “X”, the specified are then Attributes: back Other are performed, mesh has been generated, by revolving, “Z”. if they is added to the input The element If so, the names existed block are changed and element on the input QA record(s). names block names database. The coordinate from the input to “HEX’”. are only w-rit- A QA record database names should for are all be Figure 1.1. Simple 2D mesh input 13 to GEN3D Figure with 1.2 shows the meshin the following commands: Translation Figure 1.2. Figure 1.1 translated TRANSLATE END 14 10, 0.1 10 levels. The mesh was created I Figure 1.3. Rotation around line outside mesh Figure 1.3 shows the mesh in Figure 1.1 rotated 9 levels for a total center of rotation is slightly outside the mesh edge. commands: 9, 270, 1,-0.05 15 The The mesh was created with the following ROTATE END of 270 degrees. Figure 1.4. Figure The 1.4 shows center following the mesh of rotation Rotation in Figure around 1.1 rotated 40 levels for a total is at the edge of the mesh. commands: ROTATE CENTER END 40, 360 1 16 mesh edge The mesh of 360 degrees. was created with the Figure 1.5. Warp about the Y axis Figure 1.5 shows the mesh in Figure 1.1 warped about the Y axis for 2 levels for a total of 0.04 with a radius of cur~”ature of 0.4. The mesh was created with the following commands: WARP Y 2 .0410.4 END 17 18 2. Command The user directs Input the processing The commands are in free-format ● Valid delimiters ● Either to the following parameters. syntax rules. letters are acceptable, but lowercase letters are to uppercase. in any command following A command and any characters command line starts a comment. The “S” and any char- it on the line are ignored. may be continued is appended Each adhere to set processing or one or more blanks. or uppercase . A “$>’ character ● commands and must are a comma lowercase converted acters by entering over several following to the current lines with an “>” character. it on the current line are ignored The “>” and the next line line. keyword or ‘-verb” is a character string has an action followed by a variable number of parameters. A command verb or keyword It may be abbreviated as long as enough matching characters one of the valid comm~nds. are used to distinguish it from other commands. The meaning rameters default ● and type are optional. of the If an optional value is supplied. A numeric parameters Valid entries parameter numeric may be in any legal integer A string parameter parameter on the command field is blank, for parameters may be a real number in any legal FORTRANT ● depends format verb. Most pa- a command-dependent are: or an integer. A real number (e.g., 1, 0.2$ -l E-2). An integer may be parameter format. is a literal character string. Most string descriptions are: parameters may be abbreviated. The notation conventions used in the command ● The command verb is in bold type. ● A literal is in all uppercase string SAN SERIF type and should be entered as shown (or abbreviated). ● The value of a parameter is represented 19 by the parameter name in italics. ● The default value of a parameter of a parameter the initial set by a command setting is in angle brackets is usually is given with the default (“’< >“ ). The initial the default parameter or in the command value. description. value If not, 2. I Mesh Transformation TRANSLATE ntran <1>, foffran <1.0>. grad <1.0>, TRANSLATE causes the 2D mesh number of levels is nfrczn: which each input 2D element. gradient of grad. command The supersedes The gradient The affects to be translated to create is also the number total range translation previous ... of the is always the spacing of 3D elements Z coordinate in the negative transformation The the 3D mesh, derived from is foftran with a Z direction. This commands. of the levels. The displacement or thickness of level i is ~i where: tottTan =1 = :1 llultiple -1 = the if grad (g,adnfr~n–l) { tottran,lntran translation by repeating (grad-l) x # 1; if gTad = 1. x grad’-] increments can be specified rzfrarz. toffran. with a single translate gTad parameters on the command command line. For example. the following command specifies two translation increments of thickness 1.0 for a total translation of 2.0: TRANSLATE .411 increments ROTATE must be specified with nrot <1>. tofdeg <360.0>. ROTATE causes the 2D mesh levels is nrot, which 2D element (With The mesh is rotated totdeg degrees. rotation. The angle The center a single TRANSLATE to be rotated each command). 51.02.0 gTad <1.0>. of rotation input 51.00,5, cenmt exception a total of the 3D mesh. of 3D elements of those nTo~ of each rotation of rotation <0.0> to create is also the number the affected rotations is equal affects of the levels. through tot deg X ( (g,:d::Ot: )I ) The angular if gTad # 1; = if grad { totdeg/nTot 2] fr~m CENTER a total arc of the previous command). 9i where: 81 derived grad are only meaningful cenrot and the gradient the rot ation The number by the to grad times if no center element blocks are defined (see the CENTER The gradient command. = 1. rotation of level i is Rot at ion is always formation counterclockwise. This command supersedes previous t rans- commands. WARP POINT n.tran <1>, <1.0>. grad <l.0>, tottran radius <no default>, edge-iypc <RADIAL> WARP POINT create the radius. radius The center above number greater mesh. the than surface X-Y plane. created nodes mesh and it is a distance of 2D element. which is also the The total thickness of grad. Note that radius must to the boundary transformation the center of curvature and Figure transformation of the original of the generated of curvature is equal to radius. Figure the RADIAL 2.2 illustrates is performed The warped surface nodal nodal of radius positions the warped a distance radially of the 2D mesh such that in two parts, Zw = Z!o Yw = ?/0 .zW = radius positions First. The gradient – ~~radius2 to the by translating 2,1 illustrates edge type. the warped values; of curvature nodal 2D mesh onto The original X the Z coordinate is equal to radius. – x; – y; parallel Figure ‘2.1 illustrates position. of tottran for either at the same to the center are projections are determined nodal remain the distance radius; 2D nodes are (0.0, 0.0, radius) by mapping the original positions (zw, Vu. ;U.) are calculated a spherical surface with a radius of curvature equal to radius. is calculated of the 2D node (zW. vu, ~~ ) where ZU and yw are the coordinates and JU is determined such that the distance from the edge type, and Y coordinates be commands. to the X and Y coordinates the X and Y coordinates to the center the VERTICAL to VERTICAL or RADIAL, determines how the If VERTICAL is selected, the X and Y coordinates is selected. 2D node. node to equal is nfran, the Z-axis previous are equal of the warped of the original of levels a gradient from surface of curvature can be either to lie on a line from coordinates a spherical on the Z-axis, from each input distance onto has a radius number with toiban are generated. If RADIAL calculated The supersedes which nodes is located derived is command of the generated The to be mapped spherical the maximum edgc_fype, warped 2D mesh of curvature radially) This node. the The of 3D elements (measured The causes 3D mesh. to the Z-axis onto a spherical this process. either A total of ntran translations with a gradient of grad. Note that Then, vertically the generated or radially are performed the thickness from through is measured edge-type. affects the spacing of the levels. The thickness or length of level i is z, where: tottran JI (grad–l) (gradn~ran-l) x = if grad # 1: { tottran/ntran .,— -1 :1 x — WARP azis <no default>. edge.type = 1. grai7-1 ntran <1>, tottran <1.0>, grad <1.0>, radius <no default>, <R.ADI.AL> This second surface form centered be either WARP command of the on the azis-axis number of curvature gradient 2D element. of grad. edge.fypc, created nodes surface is located of levels is ntran, each input which the 2D mesh the 3D mesh. has a radius a distance This command to a cylindrical The azis parameter of curvature of radius above is also the number The total which maps to create X or Y. The cylindrical The center The if grad the X-Y plane. of 3D elements thickness (measured supersedes previous must equal to radius. radially) derived is from with a ioftran transformation The commands. VERTICAL or RADIAL. determines how the is selected! the X and Y coordinates If VERTICAL can be either are generated. of the generated nodes are equal to the X and Y coordinates of the projected of the generated nodes 2D node. If RADIAL is selected. the X and Y coordinates are calculated the warped mapped The 2D node. mesh cylinder about is X, then node transformation is performed (rW, yW, :U ) are calculated positions Y and to lie on a line from the center of curvature to the coordinates of of the node (xU,, Vu, ZU) where Zu. yU.. and ;U are the coordinates the azis-axis the original a radius X-coordinate Z coordinates measured such along of the node in the 2D mesh. is Y, the X>s and Y’s are switched nodal positions the warped a distance radially are determined nodal position, of toitran for either The gradient of ntran translations with a gradient of grad. Note that If aris the generated is equal Then, vertically a The generated in Figure discussion. either nodal onto to radius. from surface This is illustrated warped 2D mesh value. the distance the cylindrical in the above the equal at the same that by translating A total First, the original of curvature remains are calculated to the X-Z plane coordinate with in two parts. by mapping to the X 2.2. If azis the generated or radially are performed the distance from through is measured edge. type. affects the spacing of the levels. 23 The thickness or length of level i is ~i where: tottran The resulting warped where 2.2 :1 = =1 = the x if grad # 1: if grad = 1. gTad’-’ will have Y axis, or an cylindrical angle radians ymBx/Ta~~us of x~,X/ radius if warped z and y coordinates about radians if the X axis, in the 2D mesh. Orientation REVOLVE a+, REVOLVE RESET miegl, causes parameter pair rotate. azis2, <initial REVOLVE the miegz, <last . . . selection> condition> transformed REVCEN specifies 3D mesh Each to be rotated. (X or Y or Z) and the number The axis refers to the “~iewing” axis. not to the object axis. are according an axis to right-hand rule. The center of the rotation ( azis, mieg) of degrees to The rotations is specified by the command. Revolutions are cumulative: REVOLVE The REVCEN 21 x~aX an d y~,X are the maximum Mesh ified. { tottran~ntran 3D mesh about (grad-1) (g,adn!ran–1) x rccn <2D however, only one center RESET command minimum resets X coordinate>, of revolution may be spec- to no rotation. ycen <2D minimum Y coordinate>, ccen <0.0> REVCEN sets the center of revolution for the REVOLVE command to the point (zcen,ycen,zcen). OFFSET xofl<().()>, yofi<().()>, zoff<().()> OFFS ET specifies offsets to be added to the transformed 3D coordinates. If a REVOLVE command has been issued, the 3D mesh is rotated before it is offset. MIRROR azisl, azis2, . . . <no default> MIRROR RESET Ml RROR plane. <no reflections> causes the transformed Each azis parameter mal to the reflection repositioned plane. by the REVOLVE 3D mesh specifies Reflections to be reflected about an axis (X or Y or Z) which are performed and OFFSET commands. after a coordinate is the nor- the mesh has been WARP POINT 22220 VERTICAL z I mdius Y \ iottmn — x Figure 2.1. Illustration of Projection Procedure 25 for the WARP POINT Command z WARP Y 22210 RADIAL Y \ tOttran \ Figure 2.2. ~ustration of Mapping Procedure 26 forthe WARP azis Command ‘The MIRROR Reflections are not reflection about are performed. correctly ZERO arisl. the X axis will be performed, the element arisz. connectivity X Y X is entered. If an odd and the sideset number only one of reflections face numberings will be <no rninz. ., . automatic zeroing> ZERO sets all airis, coordinates The ZERO RESET command used to zero nodal errors is, if MIRROR that cumulative. reflection, reordered, mini. ZERO RESET re~et~ to no RESET command they with an absolute resets coordinates have slightly nonzero that value less than to no automatic should values. ‘)7 be equal zeroing. miw equal to zero. This command to zero, but due to roundoff is 2.3 Element Each Types element block is assigned one of the following block types: ● .A normal block requires no special handling. ● .~ tunnel block (translation ● .4 center block (rotation around mesh edge only) has some elements the mesh Initially. The Block edge that all blocks blocLid BLOCK defines supersedes TUNNEL the specified <no block identifier. The identifiers element TUNNEL default >. sfarf blocks> blocks or CENTER as normal This of levels>. inc <1> defines command is issued. must be in effect before this command is issued. If a ROTATE al] tunnel blocks are changed to normal blocks, the specified block. siurd. \vith each block single block. For example. element a separate having block 3X) element inc levels. command commands. end <number <1>, blocks. TUNNEL For each tunnel are command, . . . <all element any previous block-id blocks. BLOCKS block. idl. block-idz. which border of rotation. below refers to the element by the SHOW displayed BLOCK is the center are normal parameter only) changes materials as it is translated. as a tunnel block Any levels block. is created after .4 TRANSLATE command starting at level level end are put in a the commands TRANSLATE 15, 15.0 TUNNEL 999, 5, 9, 2 create five blocks elements The block assigned consisting of element of the following 3D elements (derived in levels 1, ‘2. 3, and 4, 2) the elements in levels 5 and 6. 3) the elements in levels 7 and 8, 4) the elements in level 9, 5) the elements in levels 10, 11, 12, 13, 14, and 15. consecutive the 2D block 999): 1 ) the elements identifier from of the first identifiers block greater identifier. 28 is always than the block-id. maximum new blocks are existing (and new) The CENTER Idock.idl. block-idz, CENTER mand defines . . . <all element the specified must be in effect before a complete quadrant le~els must be a multiple ber of rotations. center element blocks> blocks this command as center is issued. (90. 180, 270 or 360 degrees) there of 2 for each 90 degrees must be at least nrof/2 .4 ROTATE blocks. com- The mesh must be rotated and the number of rotation. elements of rotation If nrot is the num- along the X axis in the block. If a TRANSLATE command is issued, all center blocks blocks are defined. the center of rotation is ignored. The center of rotation is the minimum are changed to normal blocks. If center mand in the center blocks. defined by the ROTATE coordinate com- of all elements 2.4 Front and Back Set Definition NSETS FRONT NSETS must or BACK defines be unique and back node front from default>. sef.idl. sef.idz. . . . <no default> or back node sets with the given identifiers. existing node set identifiers The identifiers and previously defined front set identifiers. Back sets cannot SSETS FRONT <no be defined or BACK SSETS is equivalent on a 360-degree <no default>, set.idl, to the NSETS command 30 rotation. set.idz, except . . . <no default> that it defines side sets. 2.5 Information and Processing SHOW command <no parameter> SHOW displays the set t ings of parameters SHOW the command BLOCK displays relevant tot he command. information about For example. all the element blocks. LIST VARS LIST VARS displa}s the database number title; a summary of the input the number of nodes, database. elements, The summary and element blocks: includes and the of node sets and side sets. HELP command <no parameter> HELP displays information If no parameter is given, system-dependent about the program all the command command verbs and may not be available given as the parameter. are displayed. This command is on some systems. END END ends the command input and starts QUIT ends the command input and exits the program the database transformation. QUIT ing an output database. 31 immediately without writ- 3. Informational GEX3D first reads If a database and Error Messages the input database. error is discovered, format which must be a valid 2D GENESIS the program prints an error database. of the following format: DATABASE ERROR - READING database item and aborts, .After the database warning message the command performed. description is read. command may appear is usually in response ignored. If the message may be helpful. input is requested to a command. If only a warning is not The from sufficiently display the user. An error If an error message is printed, informative, after the command GEA-3D transforms the command the appropriate shows or appears. is usually command the effect of the command. 11’hen the command the 3D database. The program memory. input is complete. The transformation allocates memory dynamically the following message is printed: FATAL ERROR - TOO and the system. this The Another solution is to run the program reducing has certain manual the number may change. If the user exceeds limit is too restrictive, should first try a limit, the code sponsor of GEN3D. 33 to obtain requires more memory on the fashion. less memory. The limits is printed. be notified runs OUt of REQUESTED cases the limits a message should If the system in a less memory-intensive limit ations. In most and writes 1.4. MEMORY of transformations programmer-defined since they adequate. releases user DYNAMIC aborts. than in future MUCH the f?D mesh in Section as it is needed. program For example, C;EN3D is explained are not are chosen specified in to be more If the user feels the so the limit may be raised 34 4. Executing The details manager that GEN3D of executing of any system explains all currently that are dependent on the system runs GEN-3D should how to run the program supported 4.1 Execution The table GEX3D systems on that provide particular are in Appendix being used. a supplement system. below summarizes GEN3D’s Site supplements ~ Type , File Format ~ input ~ input ~ Section ‘, output ~ output ! Number standard [-ser input standard 9 ; input ‘ Appendix .4 ~ GENESIS database 10 ~ output ~ Appendix .4 i of the Sl_-PES library is written in ANSI the VAX Vh!S ● the OPEN the S1l PES FORTR.4X-77 help facility options l; with the exception of the following and for the files. uses the following reader, ,8.. features: ● ● is run. Each file by the EXXALIE Software system-dependent GEN3D ~ database All files must be connected to the appropriate unit before GEX3D (except standard input and output ) is opened with the name retrieved GEX3D 2 .ASCII GENESIS Special for C. file usage. Enit t-ser output 4.2 to this manual Files Description routine The system package and FORTRAN software package: [8] which includes extensions. 35 dynamic memory allocation, a free-field 36 ‘1 . . .4mcrzcan Rep. .Yaizonal Standard AXSI X3.9-1978. Programming American ‘~’PD.4\ P.4 TR..! .Y– G Ikrsion Products Division. Xational Santa Standards Institute. New York. Engineering Software PD.4 Tech. 1978. Aria. CA. 1986. 3 Biffle. J. H.. 1523. “Three-Dimensional ., Sandia FOR TR.4.V. 2.1 [’scr”s Guide. ,. to 1.5?0 Staff). Language N-ational Mesh Generation Laboratories. with Albuquerque. GJOIX.’” (31emo NM. October 7. 198!3. :4;Blacker, T. D., “FASTQ Xational Laboratories. “5’ ., Blacker. [-sers Ilanual. .\lbuquerque. T. D.. Xlitchiner. J“ersion Xll, 2.1.”’ S.\ XD8&1326. July J. L.. Phillips. 1958. L. R., and Lin, Y. T.. ‘bKnowledge System Approach to Automated Two-Dimensional in Procccdings of .4.$.IIE Compuiers Generation.”’ pp. 1.53-]62. :6:Blacker. T. D.. Stephenson. 11. B.. llitchiner. Quadrilateral ill Proc(td/ngs \lesh OJ .4 S.IU’ J. L.. Phillips. Generation: ll-lntcr . (’havez. Finite :$; P. F.. Henderson. Element llodeling l-sing in Proci~dings Engineering (’onfcrcncc Package Laboratories, Albuquerque, Finite Element Albuquerque, [10] Gilkey, Analysis,.. NM. Sciences,” 19S$. Three-Dimensional Intelligence Computers Ln 1988. L. M.. “SVPES S.4ND86-0911, A Software Sandia National 1986. and Curve S.AND88-1432. System Plot Sandia Program for the Output National Laboratories, Database Examination of a In preparation. A. P., “GROPE Program,” Intcrnat!onal .August NM, September Mesh .Ifccting. and .Artificial If”. C.. and Taylor, for the Engineering [9]Gilkey, A. P., “BLOT-A Data of 19$8 .4 S-\lE D. P.. ~lills-Curran. ~tilities Solid llodel and Exhibition. L. R.. and Lin. A., ‘“.~utomatic XI.. and Razdan. Techniques.’” Flanagan. IIesh Confcrcnc~. .4 Knowledge .4nnuo/ .-. I Quadrilateral in Engznecrzng 198$. }’. T.. ‘.4utomated .4pproach.’” Sandia (RS1523/88/02 - -~ GEXESIS/EXODLTS ), Sandia National Laboratories, Albuquerque, NM. In preparation. [11] Jones, R. E., “LTsers Manual Program,” SLA-74-0239, for Q.MESH, Sandia National 37 A Self-Organizing Laboratories, Mesh Generation Albuquerque, ~~~, 1974. J, R,. ..Lanlination: ’12; Koteras. Hexahedral \Ieshes. .41buquerque. 13; Koteras. XXI. February J. R.. Selleck. Quadrilateral National Mesh National Laboratories, T. D. Communication .Analysis.” .Albuquerque. to G. D. Sjaarderna. Regions.” NJI. .41buquerque. January (Jlemo Xhl. to D. L, \loore. Sandia ]989. D. P.. ‘.EXODI’S: .4 Finite S.41XD87-2977. September on Transferring for .4utomated S.4XD86-20S9, for Pre- and Post-processing.” 1988. Ilodel 2857). Sandia Geometry Sandia Definitions National for Laboratories, X3!. .4pril 6.1989. Sjaardema. G. D.. ‘.Finite Evaluation Report Albuquerque. N\!. Element Analysis .’- S.4ND87-288.5. Sandia NIarch Element “19’. Taylor. L. il.. Element Ilesh 310dels.” S11. on \licrocomputers: National (’ode Laboratories. 1988. G. D.. ‘-X[-IIBERS. .Albuquerque. Albuquerque. and Laboratories. R. E.. ‘“.An .~]gorithm for Planar J. .$.. 1513, “(’omments Albuquerque. Finite National JV. C’.. ~ilke~-: .4. P.. and Flanagan. File Format ]$” Sjaardema. Sandia Quadrilateral 1989, Generation Element Thermal for Restructuring C’. B.. and Jones. Laboratories, 1~~ Alills-Curran, 17! ” S.4XD88-3411. J. R. and Blacker. 14~ Koteras. ~16~ Schutt. .A llethod .4 Ilass S.AYD88-073i’. Properties Sandia (’calculation >ational Program for Laboratories. In preparation. Flanagan. D. P.. and llills-C’urran. \Y. C.. “The GE\ESIS S.AXDS6-O91O. National Laboratories. File Fornlat,-’ XNf. May 1986. 38 Sandia Finite A. The GENESIS The following c --Open Database Format code segment the GENESIS reads a GENESIS database file database. NDB = 9 OPEN (UNIT=NDB , . . . . STATUS= ‘ OLD‘ , Few= c c c --Read the the database of the sizing database c c c c c c c c c c NUMNPS, LNPSNL, --NUMNP - the --NDIM - the number of of number coordinates of number of element --NUMNPS - the number of node --LNPSNL - the length of the --NUMESS - the number of side --LESSEL - the length of the --LESSNL - the length of the the nodal --Read the READ (NDB) node blocks sets node sets node side sets element side sets node list sets list list coordinates ((CORD(INp,I), element per elements - the --Read LE~SNL nodes --NELBLK READ (NDB) c NELBLK, NUMESS, LESSEL, number --NUMEL - the (CHARACTER*80) parameters READ (NDB) NUMNP, NDIM, NWEL, & ‘) title READ (NDB) TITLE --TITLE - the title --Read ‘~FOwATTED order (MAPEL(IEL), INP=I,NuMNp), map (each element IEL=l,NUMEL) 39 I=I,NDIW must be listed once) c --Read the DO 100 c c c c c c c c c --Read element blocks IEB = 1, the NELBLK sizing parameters for this element block READ (NDB) IDELB, N~ELB, N~LNK, NATRIB --IDELB - the element block identification (must be unique) --NUMELB - the number of elements in this block -. (the sum of NUMELB for all blocks must equal NUMEL) --NUMLNK - the number of nodes defining the connectivity -for an element in this block --NATRIB - the number of element attributes for an element -in this block --Read the connectivity for all elements in this block READ (NDB) ((LINK(J,I), J=I,NUT4LNK,I=I,NUMELB) c --Read the attributes for all READ (NDB) ((ATRIB(J,I), elements J=l,NATRIB, 100 CONTINUE 40 in this l=l,NtiELB) block c --Read the node sets READ (NDB) c c c c c c c c c c c c c c --Read the side sets READ (NDB) --IDESS READ (NDB) --NEESS - c (IDESS(I), I=I,NUMESS) the ID of each side set (NEESS(I), I=I,NUMESS) the number of elements in each side-set READ (NDB) (NNESS(I), I=I,NuMEsS) --NNESS - the number of nodes in each side set READ (NDB) (IXEESS(I), I=I,NUMESS) --IXEESS - the index of the first element in each side set .(in LTEESS) READ (NDB) (IXNESS(I), I=l,N~ESS) --IXNESS - the index of the first node in each side set -(in LTNESS and FACESS) --LTEESS READ (NDB) c I=I,NUMNpS) READ (NDB) (LTNNPS(I), I=l,LNpSNL) --LTNNPS - the nodes in all the node sets READ (NDB) (FACNPS(I), I=i,LNpSNL) --FACNPS - the factor for each node in LTNNPS READ (NDB) c (IDNPS(I), --IDNPS - the ID of each node set READ (NDB) (NNNpS(I), I=I,NuMNpS) --NNNPS - the number of nodes in each node set READ (NDB) (IXNNpS(I), I=I,N~NPS) --IXNNPS - the index of the first node in each node set -(in LTNNPS and FACNPS) (LTEESS(I), - the I=I,LESSEL) elements (LTNESS(I), in all the side sets l=I,LEWL) --LTNESS - the nodes in all the side sets READ (NDB) (FACESS(I), I=I,LESSNL) --FACESS - the factor for each 41 node in LTNESS A valid GENESIS c --Read database the may end at this point QA header or after any point described information READ (NDB, END= ...) NQAREC c --NQAREC - the DO 110 IQA = 1, READ (NDB) c c c c c of QA records (must be (QATITL(l,IQA), QA title records; code name code qa descriptor each record contains: (CHARACTER*8) -- 3) analysis date (CHARACTER*8) .- 4) analysis time (CHARACTER*8) CONTINUE --Read the optional header text c DO 120 I = 1, NINFO READ (NDB) INFO(I) --INFO - extra information c -- any c -- developer 120 supportive records documentation wishes (optional) that the that analysis (CHARACTER*80) CONTINUE --Read the coordinate names READ (NDB, END=... c --NAMECO - the --Read the element REAr) (ND13, END=.. c 1) (CHARACTER*8) c c least 1=1,4) READ (NDB, END=. ..) NINFO --NINFO - the number of information records c at MAX(l,NQAREC) --QATITL - the -1) analysis .2) analysis 110 c number --NAMELB - the ) (NAMECO(I), 1=1 ,NDIM) coordinate names (CHARACTER*8) type names . ) (NAMELB(I) , 1=1 ,NELBLK) element type names (CHARACTER*8) 42 contain code below. B. Command Summary Mesh TRANSLATE ntrarz, toihwz, causes Transformation (page 21) grad, . . . the 2D mesh to be translated to create the 3D mesh. ROTATE nroi, toideg, grad, cen~oi causes the 2D mesh to be rotated WAR P POINT maps ntran, tottran, to create grad, radius, the 2D mesh onto a sphere the 3D mesh. edge-type of radius radius and then translates to create the 3D mesh. WAR P axis, ntran, grad, radius, edge-type maps the 2D mesh onto a cylinder of radius translates tottran, to create Mesh REVOLVE REVOLVE azisl, arisz, the transformed and then ndegz, Orientation (page 24) ... 3D mesh to be rotated. zcen, ycen, zcen sets the center OFFSET the azis-axis RESET causes REVCEN ndegl, radius about the 3D mesh. ZOfl, ~Ofl, of rotation for the REVOLVE command. ZOfl specifies the coordinate offsets for the transformed 3D mesh. MIRROR azisl, azisz, . . . MIRROR RESET causes the transformed ZERO azisl, mini, ZERO RESET azisz, minz, sets all azis2 coordinates 3D mesh to be reflected about the specified axes. ... with an absolute value less than mini equal to zero. 43 Element BLOCK h/OCk.2(iI, b/0Ck_2&, Block Types (page 28) . . . defines element blocks as normal blocks (no special handling). TUNNEL block. id, start, end, inc defines an element block as a tunnel block, with tunnels starting at level start to level end, incrementing CENTER block-idl, defines center block.idz, element by inc. ... blocks as center blocks (bordering of rotation). Front and Back Set Definition NSETS FRONT/BACK, defines SSETS front front set..idl, set-idz, or back node FRONT/BACK: defines sef_idl, (page 30) ... sets. set_idz, ... or back side sets. Information SHOW the and Processing (page 31) command displays the processing parameters set by a command. LIST VARS displays summary information about the input HELP command displays information about a GEN3D command. END ends command input and starts processing. quits command input and aborts processing. QUIT 44 database. mesh edge that is the C. Site Supplements C.1 VAX VMS The command to execute GEN3D on VMS is: GEN3D 2D.database 2D-database is the filename 2D-daiabase is omitted. 3D.daiabase is the if 3D-database extension of the input The default filename is omitted. 3D_database GENESIS database. A prompt appears if is TAP E9.GEN. of the output The user-input default GENESIS database. is the base filename A prompt of 2D-database appears with the .GEN3D. If user. input is given, SYS$INPUT (the terminal the user input is read keyboard). from this file. User output Otherwise is directed it is read from to SYS$OUTPUT (the terminal). GEIS3D C.2 operates CRAY To execute in either interactive or batch modes. CTSS GEN3D, The command the user must have selected the acclib library and be running ccl. to execute GEN3D on CTSS is: gen3d 2D_database 3D-database i=input 2D_database is the filename of the input GENESIS 5’D-database is the filename of the output GENESIS User input is read from directed to output, input, which database. database. defaults to tty (the which defaults to tty (the terminal). 45 o=output The default is tape9. The default is tapelO. terminal). User output is Distribution: 1510 J. W. Nunziato 1511 D. K. Gartling 1520 L. W. Davison 1521 R. D. Krieg 1521 G. D. Sjaardema 1522 R. C. Reuter, 1523 J. 1524 A. K. Miller 1530 D. B. Hayes 1531 S. L. Thompson 1533 S. T. Montgomery 1533 A. C. Robinson 1550 C. W. Peterson, and Staff (12) (30) Jr. and Staff (15) H. Biilie and Staff (12) and Staff (12) Jr. 1556 W. L. Oberkampf 2814 P. F. 3141 S. A. Landenberger 3151 W.I. Chavez Klein (3) 3154-1 for DOE/OSTI 6258 D. S. Preece 6314 63’2~ L. S. (’ostin R. E. Glass 6334 H. J. 6334 R. D. McCurley 6334 J. 6334 R. P. 6334 E. Shepherd 8240 C. W. Robinson 8241 G. A. Benedetti 8242 M. R. 13irnbaum 8243 M. L. Callabresi S. (5) (8) Iuzzolino Rath Rechard 8244 C. M. Hartwig 8245 R. J. 8524 J. Kee A. Wackerly 46