DREAM.3D v6 User Manual
Synthetic Microstructure Generation

This tutorial uses a Prebuilt Pipeline to explain the concepts behind sythentic microstructure generation in DREAM.3D. Begin by finding the Prebuilt Pipeline (01) Single Cubic Phase Equiaxed in the Prebuilt Pipelines View and double click on it. This will open that Pipeline in a new DREAM.3D window. In order to generate a synthetic microstructure, DREAM.3D needs a set of statistics that define the stochastic properties of the structure. In this case, the statistics have been generated synthetically using the StatsGenerator tool. To learn how to generate your own microstructure statistics, visit the StatsGenerator documentation.

The (01) Single Cubic Phase Equiaxed Prebuilt Pipeline reads in a statistics file that was distributed with DREAM.3D. This simple set of statistics defines a single phase microstructure with equiaxed grains, cubic crystal symmetry, and generally random texture. To generate a synthetic microstructure that represents an instance of these statistics, simply click the Go button. After the Prebuilt Pipeline has finished, it will write a .dream3d file and a .xdmf file to the Data/Output directory. The synthetic structure can be visualized by opening the .xdmf file in ParaView. Note that if you re-run the Prebuilt Pipeline, you will overwrite your previous files and generate a completely new synthetic microstructure. The microstructure is different each time running the Pipeline because the synthetic structure generation process is inherently stochastic. The resulting microstructure is locally different on each run, but its descriptive statistics are indistinguishable each time.


IPFFilterLegend.png
IPF Triangle for Cubic Symmetry


synthetic.png
Example Generated Synthetic Microstructure

The Synthetic Structure Generation Process

Assuming you have obtained a set of microstructure statistics (either by using StatsGenerator or by some other means), the first step of generating a synthetic structure is to initialize the synthetic volume. During this process, you will set the overall dimensions, resolution, and origin of the synthetic microstructure. Currently, all synthetic microstructures DREAM.3D creates will be instantiated on regular grids. Thus, the Geometry associated with a synthetic volume will be an Image Geometry. In order to create the synthetic microstructure, DREAM.3D will pack Features of a pre-determined shape type into the intialized volume. Think of it like tossing spheres into a box and swapping them about until they fill as much space as possible. During this process DREAM.3D will keep track of statistics such as the distribution of Feature sizes, shapes, neighbors, etc., to ensure that the resulting packed volume matches the morphological statistics that were used as inputs.

In order to start this swapping process, DREAM.3D will need to know what types of shapes need to be packed. Shape types are shared by each Ensemble; in the materials vernacular, these would be termed the phases of the structure. For example, if you have a single phase structure (such as for the (01) Single Cubic Phase Equiaxed Prebuilt Pipeline), then there is one Ensemble, and you will need to select one shape type class. Each Ensemble must have its shape type set, and every Ensemble can have a different shape type.


syntheticprocess.png
General Workflow for Synthetic Building

After setting up the shape types, the next step is to pack the primary phases of the microstructure. This process is the main step in creating a synthetic structure: it will actually pack all the shape types into the volume, swap them about until they pack nicely and meet the required statistics, and then get those shapes onto the Image Geometry by assigning every voxel a Feature Id. The Filter that accomplishes this task is complex, and has a number of options, so it is encouraged to read its documentation to learn more about how it works. But what does the primary part of pack primary phases mean? The primary phases can be thought of as those phases whose Features are the main components of the microstructure from a structural standpoint. Something that would not be a primary phase might be a precipitate phase, or a matrix phase. For example, if you want to create a two phase structure that has precipitates sitting at the boundaries of the primary phase, you would want to pack the primary phase and then insert precipitates on top of it. If you want to make a structure that has a contiguous matrix phase with some other Features thrown in, you would want to establish that matrix phase and then insert the next phases as precipitates. DREAM.3D comes with Prebuilt Pipelines that highlight these major types of microstructure creation.

After creating the morphological portion of your microstructure, you may want to match its crystallography to a texture. For example, StatsGenerator allows you to define an orientation distribution function (ODF) that can be fit into your synthetic microstructure. Again, you can define your ODFs individually for each Ensemble. You can even define your misorientation distribution function (MDF) and your axis ODF, which is particularly useful if you are creating Features with high aspect ratios that you want aligned along some direction.

A synthetic structure will be a "perfect" structure with no inherent defects or noise. For example, a single orientation will be associated with each Feature. If you want to make a microstructure that better resembles what may be measure in a experiment, consider adding noise to the result. DREAM.3D has a couple filters that help add noise in general or add some noise to orientations. You may also want to swap around the orientations of your Features to add more randomness.

The ability to control the morphological and crystallographic statistics of a structure on a phase by phase basis enables the user to create a huge variety of synthetic microstructures with great fidelity. This power can also be a problem, however, since it is possible to create a set of statistics that cannot be packed in any way that satisfies all boundary conditions. The DREAM.3D Filters that participate in the synthetic building process are aware of this, and will silently stop their attempts to fit data if they find it simply cannot be done. This means that it is crucial to validate that you got the statistics you wanted after creating a synthetic microstructure. Luckily, DREAM.3D has all the tools necessary to quantify those statistics and allow a user to confirm they got what they expected.

To learn more about the specific tools involved in synthetic building, visit the Synthetic Building section of the Filter Documentation. Also check out the Statistics and Orientation Analysis sections for more information on Filters that can help anlayze synthetic microstructures.