An Object Oriented Finite Element Package Demonstration
Mark R. Locatelli
Welcome! This demonstration has been put together to help the attendees of the OOF Workshop get a chance to see for themselves how the OOF package works. All that is needed for this demonstration is up-to-date versions of the oof and ppm2oof programs (oof 1.1.9 and ppm2oof 1.1.18 as of this writing), the image file (Puzzle.ppm), and a pair of sample grids (Puzzlesimple.goof and Puzzleadapt.goof) that should already be in your directory. Any of the files mentioned in this demonstration may have been gzipped to save disk space. These files will have a ".gz" appended to their file names. E.g., the gzipped version of Puzzle.ppm would be listed as Puzzle.ppm.gz. Other interesting demos and documentation can be found at the OOF homepage (http://www.ctcms.nist.gov/~langer/oof/), in the oof online manual (http://www.ctcms.nist.gov/~langer/oof/download/Manual/Manual.html), or at the OOF Pictures and Simulations Gallery (http://pruffle.mit.edu/~ccarter/oof.html). Now, assuming you've logged onto your macine and found the correct directory, let's begin the demo....
1. Just to be confusing, let's begin in the middle and work our way to the end by starting the oof program first. To do this, you should just be able to type the command "oof" at the unix prompt. It should look something like:
concorde% oof
This should work on all of the SGI computers in the CTCMS. However, a limitted number of Intel-based machines are also running in the center. If you are running on one of these machines, the command you will need to use is "oof-intel". Otherwise everything else should be the same.
2. Now, let's open the grid Puzzleadapt.goof. To do this, you will choose the "initialize" menu from the top of the left hand column (Menus) of the command window. The initialize menu will now appear in the command window. At the top of the center column (Commands) select the "file" command. This opens the "initialize/file" command window. Using the mouse, click the question mark in bottom right of the window (the one next to, not above, the yellow window). This opens a File Selector window that should list the contents of the current directory. Click on the Puzzleadapt.goof file and then click on the "Ready" button to select this file. Now the file you selected should be listed in the yellow box in the initialize/file window (the whole file name may not fit in the small window, but it should all be there). Click the file window, and, viola, you've opened an oof grid! The message window will open with a message that should say "grid read!" and listing the number of nodes and elements in the grid.
This would seem like a good time to explain the way that the graphical user interface (gui) of oof operates. Essentially, oof uses three windows: the command window, graphics window, and the message window. When oof is started, by default, only the command window is opened. Once a command is given, the messages window will open, and we will soon be opening the graphics window manually to see what we're doing.
The command window uses thee types of objects that are from right to left: menus, commands, and variables. Listed on the left are menus that take you to the next submenu with its own set of submenus, commands, and variables. In the center are commands that tell the program to do things like select a group of elements or equilibrate the mesh (commands also typically open a "command window"). And, on the right are a list of variables that allow the user to input parameters or choose from a list of options.
In this demo, the way that commands and variable assignments will be given is in the form: menu/submenu/submenu/command or menu/submenu/submenu/varaible=value. E.g., you'll open the graphics window in the next step by using the graphics/open command.
Here is what the default command window looks like:
@
3.