solidview(6D)
solidview - display the results of a finite element analysis program
As shipped in IRIX 6.5. First release of IRIX 6.5.
NAME solidview - display the results of a finite element analysis program SYNOPSIS solidview [ options ] model [ models ... ] DESCRIPTION Solidview takes data calculated by a finite element analysis program and allows the user to interact with it. In its most basic form, solidview displays polygonal data and allows you to orient a cutting plane through the objects. The appearance of the models will vary depending on which 4D machine solidview is running on; on GT systems, the area outside the cutting plane will be semi-transparent; on systems that cannot do alpha- blending, the transparent area will be rendered in wireframe. Data may also have additional information associated with it; this data usually represents stresses inside the object and is calculated by a fin- ite element analysis program, although the values can represent other paramaters (i.e. temperature, turbulence, etc). This data is represented by different colors in the transparent half of the object. Both the object itself and the stresses associated with it can be animat- ed; for example, you can observe how the stresses on a piston change as it goes through the combustion cycle. Note that all of this information is already stored in the data file, and solidview merely interpolates between the pre-comupted 'frames' of data. Finally, solidview can communicate with a separate analysis program through shared memory, displaying the results as they are calculated. If the environment variable SOLIDVIEW_ANALYSIS is set to the name of an analysis program, solidview will try to start it up and communicate with it if analysis is turned on (see the description of the analysis menu en- try below). Interface Solidview is controlled by using the mouse, keyboard, and popup menus. Note that the popup menus are designed so that it is easy to choose several options at a time at any given submenu level; the menus stay up until you choose their gray title bar. Here is a complete description of the interface. Left Mouse This button moves the objects closer or farther away when the button is held down and the mouse is moved toward the top or bottom of the window. Middle Mouse This button rotates the object based on the mouse's absolute posi- tion on the screen. Left+Middle Mouse Holding both buttons down reorients the cutting plane based on the mouse's absolute position on the screen. (If iso-contours are en- abled, these keys may control the iso-contours; see 'I' command below). Right Mouse Brings up popup menus. Keyboard Commands Space Bar Will pause/unpause any animation or auto-rotation of the cutting plane and scene. Mouse and keyboard input is processed even when solidview is paused. '+/-' keys When animating, the + and - keys will step forward/backward a frame. 'S' key When run with the -iso iso-contour command line option, the 'S' key will enable the calculation and display of iso-contours. 'I' key When iso-contours are enabled, the 'I' key will make the left+middle mouse buttons control the position of the iso-contour surface. Po- sitioning the mouse to the far left of the window corresponds to low values of stress, the right side to high values. 'XYZR' keys These keys control cutting-plane motion (with the left and middle mouse buttons held down). 'R', the default, will allow you to rotate the cutting plane. 'X', 'Y', and 'Z' allow you to translate the cutting plane along its YZ, XZ, and XY axes, respectively. 'D' key This key will dump the current values for the scene and cutting plane rota- tions to standard output in the form of ATTRIBUTE commands that can be put inside model files to control the default orientations and spin. Menus Parts This menu changes based on what parts have been added to the display. The currently selected part will have arrows around its name; the To choose a different object, just select that menu entry. The 'Add Model' option lets you add all of the parts in a model to the display. Note that this will be the only entry on the menu if no parts have been added. Also note that a part may be added more than once (although it doesn't make a lot of sense to do so). 'Delete' removes the part from the display; you may add it again us- ing 'Add Model'. 'Toggle' will toggle the part on and off; if it is off, it is not displayed. 'Modify' will bring up another set of menus that allows you to change how the part is displayed. The first eight entries let you choose the paramater you want to change (it will be surrounded by arrows); the 'Display' sub-menu changes how (or if) that part is displayed. Usually, only the front, back and cut surfaces of the part are displayed. Here are descriptions of the surfaces that can be displayed and how they can be displayed. All Polygons Allows you to display all of the polygons (both internal and external) in the object (see the 'Display' options below). Outer Surface Controls the display of the polygons on the outer surface of the model. Front Surface Controls the display of the polygons in front of the clipping plane. They are usually displayed as alpha-blended stress values (lines on machines that can't alpha-blend). Cut Surface Controls the display of the polygons formed by the intersection of the model and the cutting plane. Usually they are displayed as polygonal stress values. Back Surface Controls the display of the polygons in back of the clipping plane. Usually they are displayed as lighted polygons using the 'silver' material. Iso-Contour Surface If solidview is started with the '-iso' command line option, then it can comput iso-contour surfaces inside the data. An iso-contour surface is a surface inside the model where all stress values are the same. You must first turn on iso- contouring by pressing the 's' key on the keyboard. Pressing the 'i' key will make the left+middle mouse buttons control which contour to display instead of re-orienting the clipping plane. Turning off other the display of other parts, turning on this option, and then animating the stresses can yield a very nice display. Front Surface of Iso-Contour Back Surface of Iso-Contour These two options don't do anything in the current version of solidview. Display The options in this sub-menu allow you to change the display of whatever paramater is chosen above. Polygons Display as solid polygons. The color of the polygons depends on the Stresses, Materials, User Materials, and Alpha options (see below). Lines Display in wireframe. The color of the lines depends on the Stresses, Materials, User Materials, and Alpha options (see below). Hidden Lines This option is currently broken, but will be fixed. Stresses The colors of the polygons or lines displayed will be determined by the stress values in the model at that point. Materials The colors of the polygons or lines will depend on the surface normal at each point and the material chosen. Note that currently iso-contour surfaces have no surface normals, so specifying a material for them doesn't work properly. User Materials If you use the -umats command-line option, this entry will allow you to select a user-defined material. See the file /usr/demos/Genera_Demos/solidview/data/body.mat for an ex- ample. On/Off Turns display of this part of the model completely on or off. Alpha Allows you to specify the alpha-blending component of the part. An alpha of 0 will make the part totally tran- sparent, an alpha of 255 will make it totally opaque. Motion These options allow you to control how things move. Spin Scene If on, the entire scene will rotate by itself. This option is turned on by default. The space bar will pause the display un- til it is hit again. Spin Plane on, the cutting plane will rotate by itself. This option is tured off by default. The space bar will pause the display un- til it is hit again. Animation A solidview file may contain several 'frames' of data, showing a model in various positions with various stresses associated with it. solidview can interpolate between these frames, gen- erating real-time animated sequences. Displacement Allows you to animate the movement of models. Either the entire model may move (in the case of the piston model, for example), or part of the model may stretch/bend/twist (in the case of the beam models, for example). Stress Allows you to animate the stress values associated with a model as it moves. Type Solidview will interpolate the data in two different ways; using a sine wave, which gives a smooth, cyclic effect, or as a simple linear ramp, running from the beginning of the cycle to the end and then abruptly starting over again. Range Allows you to control the range of time values over which the animation takes place. Cycles Allows you to control how finely solidview interpolates the intermediate stresses and displacements; a large value gives you very smooth motion, but is correspondingly slower. Reset Resets animation values back to their default values. Analysis Attempts to start up the program specified in the 'SOLIDVIEW_ANALYSIS' environment variable and communicate with it through shared memory to generate displacement and stress values in real time. This option is likely to change or disap- pear with the next version of solidview; more general analysis is being integrated into the code. Documentation on the shared library interface will be written when the code is stable. Reset Resets the view and turns the 'Scene Spin' and 'Plane Spin' op- tions off. Stress This entry allows you to determine which stresses are displayed; sig1, sig2, and sig3 correspond to the element of stress in the x, y, and z directions, while SI and SE are the elements of stress in the two vector coordinates. Real Time Stress will be supported in the next version of solidview. Light Color Lets you change the color of the light source. Light Type Lets you change the type of light (inifinite or local). Other A few miscellaneous, useful options: Save Image Saves a RGB image file containing the contents of solidview's window into the model files' directory. Note that you must have write permission in that directory for this option to work. The filename used will be the name of the last model ad- ded to the display, with a number and the extension '.rgb' ad- ded to the name (i.e. "engine.fea.1.rgb"). Image files may be displayed using the ipaste(1) program. Statistics If on, will write lots of information about the calculations it is performing to the window it was run from. Verbose If on, will write out information when objects are loaded and during other lengthy activities. Verbose is on by default. Exit Makes solidview go away cleanly. It is a good idea to use this menu entry, since if you just kill solidview any programs it might have started up (like thermal) will hang around, eating up CPU time. Options Most command line options may be preceded by 'no' to turn them off; some options take arguments, which should be separated from the option by a space or tab character. -[no]edges Automatically detect sharp edges. If two polygons that share an edge have greatly differing face normals (controled by the edge tolerance paramater; see below), solidview will create separate ver- tex normals for each polygon to preserve the sharp edge. Off by de- fault. -edge_tol x Defines the edge tolerance paramater. 0.1 by default. -[no]iso Allows iso-contour generation. Off by default. -iso_mem x Force larger iso-contour memory. x is the number of iso-contour po- lygons allocated per polygon in the model, and is 1 by default. -[no]verbose Inform the user of progress by writing messages to stderr. On by default. -[no]stats Print statistics about the program as it does its calculations. Off by default. -[no]1:1 Keep aspect ratio 1 to 1 when starting. This only applies to ini- tial size of the window; the window may later be resized to a dif- ferent aspect ratio. Off by default. -umats file Use the user-defined material definitions contained in named file. Normally, no user-defined materials are available. -fovy x Define the field-of-view, in degrees. Defaults to 60.0 degrees. -near x Define near clipping plane. Defaults to 0.1. -far x Define far clipping plane. Defaults to 5.0. -[no]prefpos Start window in a pre-defined position. Off by default. -xorg n Define x-origin used by -prefpos. Default is 100. -yorg n Define y-origin used by -prefpos. Default is 100. -xdim n Define width used by -prefpos. Default is 800. -ydim n Define height used by -prefpos. Default is 800. -machine str Force machine type to str. Defaults to the string returned by the gversion(3) call. This affects the default setting of -alpha, -czclear and -quad (see below). See gversion(3) for valid machine names. -[no]alpha Start in alpha-blending mode. On by default for GT-type machines, off for G's and Personal Irises. -[no]czclear Allow czclear usage. Czclear is a command that speeds up graphics by clearing both the color bitplanes and the z-buffer on certain machines. On by default for machines that benefit from it. -[no]quad Force quad-word alignment. Data aligned on quad-word boundaries is sent to the graphics hardware much faster, improving performance. On by default. FILE FORMATS Currently, solidview accepts three kinds of input formats. One of the formats is obtained from the results of the ANSYS finite element program. The other format is derived from the results of FEAP (Finite Element Analysis Program) and the third format is polygonal data. The following sections explain the syntax of these three formats. The text following the ';' is a line by line explanation of the syntax; it is not the part of the input file. The words in lower case are variables. Solidview files should be named 'filename.fea', although this naming convention is not enforced. FORMAT I (Ansys) Following is the content of the input file obtained from ANSYS: PART: partname ; the name of the part. A file can have multiple parts ; partname cannot have embedded blanks FEM: ANSYS ; indicates that the part is in ANSYS file format NODES 6 ; indicates that a list of nodes follows nn ; number of nodes 1 x y z u v w ; x y z are x y and z coordinates (real) 2 x y z u v w ; u v w are currently ignored but need to be present . . nn x y z u v w ELEMENTS 12 ; indicates that a list of elements follow ne ; number of elements (must be 8 noded brick elements) 1 mat rel type n1 n2 ... n8 ; set mat = rel = type = 1 2 mat rel type n1 n2 ... n8 ; n1 to n8 defines the element . . ne mat rel type n1 n2 ... n8 ; STRESSES 5 ; indicates that a list of stresses follow per node ns ; ns = nn 1 s1 s2 s3 s4 s5 s6 ; 2 . . ns DISPLACEMENTS 3 ; list of nodal displacements follow nd ; number of displacements entries = nx 1 d1 d2 d3 ; x y and z displacement (real) of a node 2 . . nd d1 d2 d3 PART: part2 ; if a file has more than one part ... . . FORMAT II (FEAP) Following is the content of the input file obtained from FEAP: PART: partname ; part name (no embedded blanks allowed) FEM: FEAP ; indicates that the part is in FEAP format PC-FEAP: Three Dim.. ; title card nn ne nm nsd ndn nne ; # of nodes, # of elements, # of materials, ; # of spatial degree of freedom (3), # of degree of ; freedom per node, # of nodes per element (8). x y z ; x y and z coordinates of nn nodes. . . x y z ; last node (nn) n1 n2 n3 n4 n5 n6 n7 n8 m1 ; n1 to n8 are nodes of brick element, m1 is mtl. . . n1 n2 n3 n4 n5 n6 n7 n8 m1 ; last element (ne) b1 b2 b3 ; boundary condition codes per node per DOF. (integers) . ; eg. if ndn = 3 we will have 3 entries per line . ; -1 means fixed DOF, 0 means free . b1 b2 b3 ; last node (nn) f1 f2 f3 ; specified forces and displacements code (real) . ; -1 means displacement, 0 means force . f1 f2 f3 ; for last node (nn) t1 ; nodal temperatures . . tnn ; for last node (nn) m1 m2 m3 m4 m5 m6 m7 ; material dof map (integers) per material mv1 mv2 mv3 ... mv18 ; material values (real) per material Nodal Stess = ... ; Stress title ns nn ; # of stresses and # of nodes s1 s2 s3 ... sns ; stresses per node . . s1 s2 s3 ... sns ; last node (nn) Displacement Time .. ; title for displacement nd nn ; # of displacement and # of nodes d1 d2 ... dnd ; displacement per node . . d1 d2 ... dnd ; last node (nn) FORMAT III (Polygonal Data) Following is the content of the input file which has polygonal data : PART: partname ; name of the part (no embedded blanks allowed) ATTRIBUTE: MATERIALS m1 m2 m3 m4 m5 ; these are materials for diff. polygons ; 0 is default, 101,102 are user defined mtls. ; m1 if for all polygons ; m2 is for outer polygons ; m3 is for polygons behind the cutting plane ; m4 is for polygons on the cutting plane ; m5 is for polygons in front of the cutting plane ATTRIBUTE: SCENE_ORIENTATION ; xyz angle, representing the axis ; to rotate around, and amount to ; rotate ATTRIBUTE: PLANE_ORIENTATION ; xyz angle ATTRIBUTE: SCENE_ROTATION ; xyz angle ATTRIBUTE: PLANE_ROTATION ; xyz angle FEM: POLYGON ; indicates that the part is in polygonal data Polygons generated by ... ; title card nn ; number of nodes x y z ; x y and z coordinates for nodes . . x y z ; for last node (nn) np ; number of polygons m nv n1 n2 n3 ... nnv; material type, # of vertex per poly, vertex list . . m nv n1 n2 n3 ... nnv; for last polygon (np) Stresses ; title card ns nn ; number of stresses (<= 6) and number of nodes s1 ... sns ; . . s1 ... sns ; for last node (nn) Displacements ; title card nd nn ; number of displacement and number of nodes d1 ... ndn ; displacement per node . . d1 ... ndn ; for last node (nn) FILES /usr/demos/General_Demos/solidview/data contains sample data files. These are ascii files; see them for examples of the formats accepted by solidview. BUGS The menu structure should be replaced with a panel interface. Front/Back surface of iso-contour option doesn't work. Hidden line option doesn't work. The program exits if it is unsuccessful at opening the image file for the 'Save Image' option. AUTHOR Jim Winget