solidview(6D)

solidview - display the results of a finite element analysis program

Showing IRIX 6.5.7. Unchanged since 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