OOF2: The Manual
The physical characteristics of an OOF2 Microstructure are contained
in one or more Material objects. Materials are created by
assembling lists of Property objects, and are assigned to
Microstructure pixels in the Materials Page.
Materials can also be assigned to Element groups in the Skeleton
Selection. page. Assignments to Element groups have
precedence over assignments to pixels.
When a Material is assigned to a pixel, the pixel does not get
its own copy of the Material. All pixels that have the same
Material refer to the same Material data, and if that data
is changed, the material properties of all of the pixels change
as well. The same applies to Properties. Adding a Property
to a Material does not give that Material its own copy of
the Property data. Multiple Materials can use one
Property, and modifying that Property will change the
Material and affect all pixels that use the Material.
Properties come in a variety of categories. Most, such as
Elasticity
or ThermalExpansion
represents terms in constitutive equations. Others, such as
Orientation,
modify those terms, and at least one, Color,
serves only a decorative function.
All of the Properties predefined in OOF2 are listed by
category in Section 6.4.1 in Chapter 6. Chapter 7 explains how to add new
Properties.
Many Properties have subcategories. For example, Elasticity
is divided into Isotropic
and Anisotropic,
and Anisotropic is further divided into
Cubic
and all the other crystal symmetries. Generally, a Material
may contain only one Property from each category. Some
categories of Properties make sense only if a property of
another category is defined in the same Material —
for example, it's an error to include a
Cubic elasticity without also including
an Orientation. OOF2 will notify you
of badly formed Materials when you solve a Mesh.
When OOF2 starts, it creates a single
unnamed instance of each type of
Property. New instances may be created by copying a
Property and giving it a name. Both named and unnamed
Properties may be used in Materials. The commands in the
OOF.Property.Parametrize menu set
the parameters (e.g, Young's
modulus, conductivity, or color) for Properties. Parameters
may be set in either named or unnamed Properties.
Properties are arranged in a hierarchical tree structure,
which is shown in the Property
pane of the Materials task page.
The “path” to a Property is a colon separated
list of the names of the levels of the tree leading to the
Property. For example, the path to cubic elasticity is
'Mechanical:Elasticity:Anisotropic:Cubic'.
The path to a named property is created
by appending the name to the path to its unnamed version:
'Mechanical:Elasticity:Anisotropic:Cubic:salt'
is a cubic elasticity Property named “salt”.
Most commands that work on Properties in scripts refer to
them by their paths. The exceptions are the OOF.Property.Parametrize and OOF.LoadData.Property menus, which
instead embed the Property name in the name of the command.
That is, the command to parametrize a cubic elastic property
is OOF.Property.Parametrize.Mechanical.Elasticity.Anisotropic.Cubic,
and the command to parametrize a cubic elastic property named
“salt” is
OOF.Property.Parametrize.Mechanical.Elasticity.Anisotropic.Cubic.salt.
(Fortunately, the user rarely has to type these names in
full.) The arguments for the named and unnamed forms are the
same, and are listed in the documentation under OOF.Property.Parametrize.
Many Properties are anisotropic: their values depend on the
orientation of the crystalline axes. In OOF2, although the
calculations are two dimensional, crystalline orientations are
full three dimensional rotations. They can be specified in a
number of ways as subclasses of the Orientation class.
Any Material that contains an anisotropic Property must
also contain either an Orientation
Property or an OrientationMap
Property. The difference betweeen them is that an Orientation
Property has an argument which specifies the orientation,
whereas an OrientationMap
Property gets the orientation from the Microstructure's Orientation
Map. The existence of the Orientation
Map in a Microstructure does not automatically
imply that the Microstructure's Materials will derive their
orientations from it. The OrientationMap
Property must also be present. This allows some Materials
to get their orientations from the map while others do not.
A misorientation is the difference in
orientation between two pixels. Misorientation can be used in
OOF2 to select a range of contiguous or noncontiguous
pixels, and can be computed and displayed in the Pixel Selection
Toolbox. The misorientation between two crystal
lattices is the magnitude of the rotation that aligns
one of the lattices with the other. The magnitude of a
rotation is easily computed by using the Axis representation — the
magnitude is just the absolute value of the
angle part of the Axis
object.
Because crystal lattices are symmetric, there is always more
than one rotation that brings one lattice into agreement with
another. The misorientation is defined to be the magnitude of
the smallest of the rotations. Whenever misorientations are
computed, the user needs to specify the LatticeSymmetry. Since lattices
with different symmetries cannot be rotated into alignment
with each other, OOF2 assumes that all points being compared
have the same symmetry.



