OOF: Finite Element Analysis of Microstructures

Example 2: Using Data from PPM2OOF next up previous contents
Next: The Menus Up: Examples Previous: Example 1: Homogeneous Material   Contents

Example 2: Using Data from PPM2OOF

This example illustrates how to use OOF with a .goof file (example2.goof, distributed with OOF) as data and gather statistics about the result. For demonstration purposes, example2.goof was created from an image created by a graphics ``painting'' program. The goof file contains definitions of element groups, which are simply lists of elements that can be acted on together by various commands. In this example, each group contains the elements making up different particles in a matrix, and the matrix itself.

Figure 2.1: The image used to create data for example2.goof. The actual data was shrunk so that this particular example runs quickly.
% a clumsy but documented latex2html hack

. Read in the Data:

Start up the OOF graphical interface and read in the file example2.goof: oof -grid example2.goof.2.5This requires about 8 MBytes of memory, and should not take over a minute or so on most systems. You will need about 15 MBytes to do this entire example.

. Graphics:

Open a graphics drawer: /graphics/open. Bring up the Attributes Dashboard by choosing it from the Dashboard Selector (which is currently labeled ``Coordinates''). On the Attributes Dashboard, turn Edges and Hot Elements on.

. Groups:

Observe the previously defined groups. From the main OOF Menu choose /select/elements/group. Notice that there are several group names in the Functions panel. Select any one of them and observe what happens on the image in the Drawer. The current selection is a special group which can be highlighted (as you should see), queried, or modified. Select another and notice that the new group is added to the current selection. To isolate another group, you have reset the current selection. Click on the Freeze button on the top of the Menu (this will cause the current menu to remain in place as you call up other menus). Click on the Back button, you should get an additional menu: /select/elements. Launch the none function window by double-clicking. Close the new Menu you created to avoid crowding by clicking on the Close button. Click on the Freeze button of the none function window you just created and then execute by clicking on the word ``none''. Select some of the other groups one at a time.

. Query:

Open the Element Info Dashboard on the Graphics Drawer and indicate that you want element type and element parameters. Move the mouse into the image and click on some elements in the various groups and observe what types of elements are in each of the groups. The elements in each of the particles should have orthorhombic thermoelastic properties, but each group should be in a different orientation. A single entry in a orientation parameter indicates a counterclockwise rotation around the z-axis. Notice the orientation for an element in the ``doors'' group. It has a triple entry for the orientation, indicating a full three dimensional rotation via Euler angles (see Section 4.3 for the details).

. Thermal Stresses:

From the main Menu, increase the uniform temperature field by setting the deltaT variable to 0.1. Execute the equilibrate function. The sample should expand--even though the matrix (group `stage') has an isotropic thermal expansion coefficient of zero--because the particles have positive expansion coefficients. If you want to display the entire image, click middle mouse button on the zoom button z in the Drawer. Turn off the Edges in the Attributes Dashboard. Display the Stress Invariant 1 field by choosing it in the Drawing Selector. (It may take a little while for the stresses to be calculated and displayed). Notice that the particles tend to have a negative (compressive) component to their hydrostatic stresses.

. Numerical A:

Get statistics about the stresses in the various particles. In the /output/stress/statistics menu, set type to invariant. Click on some of the group names in the Functions menu, and observe the output; the averages and standard deviation of the largest and smallest eigenstresses are displayed, as well as the maximum value of shear (which is just half the difference in the eigenvalues). Turn the type back to cartesian and obtain the statistics for the stresses in the screen coordinates.

. Numerical B:

Find the average stresses in all the particles by creating a supergroup. Go back to the Mesh Drawer and make sure that no elements are currently selected (/select/elements/none). Select all the particles from the /select/elements/group Submenu.2.6 I.e, click once on all the groups except stage in the Functions panel. Create a new group. From the /groups/elements Submenu, double click on the new function and enter the new group name, particles, in the Function window, and then hit $\langle$return$\rangle$ or click on the new button to execute the function. From the /groups/elements/add_elements menu, execute the function particles to add the current selection to this new group. Now, from the /output/stress/statistics Submenu, interrogate the statistics of this new group which should now appear in the Functions subwindow.

. Graphics:

Return to the Stress invariant 1 display on the drawer. In the Color Dashboard, change the size of the Color Map to about 8 (type 8 and hit $\langle$return$\rangle$ and observe how choosing less information can sometimes give you a much clear picture of how the stresses are distributed. Display only those parts of the microstructure which are in compression: Turn off the Full Scale option on the Dashboard and then set the upper limit of the Scale to 0 so that only negative values have a color. It may be instructive to Flip the color scale.

. Reset and Retest:

Run a new virtual experiment on this microstructure without restarting the program. From the main OOF Menu, set deltaT to a new value (zero is a good choice) and execute the function reset. (The image will be drawn with stresses that do not correspond to equilibrium, the Mesh Drawer will make more sense.) With the bc Submenu, fix/both degrees of freedom on the top and bottom node groups. With the distort Submenu, set xshear to 0.1 for the top node group. Don't forget to increment the distortion in the distort Submenu. Find the solution by executing equilibrate from the main OOF Menu and investigate the solution.

. Modify Grid:

See if you can modify the current grid by selecting--either by group or with the mouse in the Mesh Drawer--a set of elements and use the /modify/replace/ Submenu and the empty function to remove elements.

next up previous contents
Next: The Menus Up: Examples Previous: Example 1: Homogeneous Material   Contents
/* Send mail to the OOF Team *//* Go to the OOF Home Page */