OOF2: The Manual
OOF2 is public domain software created at the National Institute of Standards and Technology (NIST) to investigate the properties of microstructures. The microstructure of a material is the (usually) complex ensemble of polycrystalline grains, second phases, cracks, pores, and other features occurring on length scales large compared to atomic sizes.
At the simplest level, OOF2 is designed to answer questions like, “I know what this material looks like and what it's made of, but I wonder what would happen if I pull on it in different ways?”, or “I have a picture of this stuff and I know that different parts expand more than others as the temperature increases -- I wonder where the stresses are greatest?”
One approach for investigating microstructural behavior is to reduce the representation of a microstructure to a small number of physical parameters (such as grain size or porosity) and develop a model which depends on them. If this type of reductionist approach is predictive, then such models can be extremely useful. However, when physical properties depend on microstructural details (such as the spatial correlation of crystallite orientation, the shapes and dispersion of second phases, extremes of statistical distributions, or local anisotropies) such data reduction is often difficult or pointless.
OOF2 takes a non-reductionist, brute force approach, but in a user-friendly way. The user starts with a digitized image of the microstructure and builds a data structure on top of it. All the data plus any that can be inferred by the user is used. Tools are provided to allow the user to graphically select features in the microstructural image and specify their properties. For OOF2, the microstructure is a data structure composed of image and property data.
The idea of basing calculations on images is not new. Edward Garboczi and colleagues at NIST have used this approach to investigate behavior of cements and porous media. Researchers at Alcoa have developed finite element models of textured materials. The purpose of creating OOF2 and distributing it freely is to supply a generic tool for calculating microstructure-property relations.
The original OOF project was started at NIST in the late 1990's by Craig Carter, Ed Fuller, Andy Roosen, and Steve Langer. At first, OOF1 only solved linear elasticity problems, but later acquired the ability to handle thermal diffusion as well. OOF1 was actually four separate programs, ppm2oof, which converted images to finite element meshes for elasticity problems, oof, which performed virtual experiments on the meshes produced by ppm2oof, and versions of oof and ppm2oof for systems with both elasticity and thermal diffusion.
Meanwhile, Craig Carter moved to MIT, where his students Edwin Garcia and Rajesh Raghavan extended OOF1 to electromechanical, electrochemical, and viscoplastic systems. It became clear that OOF1's architecture would not permit all this physics to coexist happily in one program, and that maintaining separate versions for a myriad of physical applications was not at all feasible. Furthermore, OOF1 could not easily be extended to higher order finite elements or to three dimensions. This provided the motivation for OOF2.
OOF2 is a completely new program, sharing almost no code with OOF1. It provides more flexibility than OOF1 (it offers more physics, and users can arbitrarily combine physical properties within one material), and is more easily expandable (developers and adventurous users can add new types of physics without creating a separate program). OOF2 does everything within one program; there is no separation between the mesh generation code and the mesh solution code. Finally, OOF2 will be the basis for OOF3D, which will solve three dimensional microstructures.