Hi Daksh,
Before going into the details, please make sure to read the Synthetic Microstructure Generation tutorial in the DREAM.3D help manual. This tutorial can be accessed in DREAM.3D by opening the Help > DREAM.3D Help menu and navigating to the tutorials section. The tutorial provides a high-level overview of how synthetic building works in DREAM.3D. I also recommend reading the section on StatsGenerator in the Auxiliary Tools section, also in the help manual. Here are some specific answers to your questions:
1. DREAM.3D cannot currently vary the microstructure statistics within the packing volume itself. The structure in your attached figure was created by making four different synthetic microstructures and then "stacking" them using code outside of DREAM.3D. However, DREAM.3D does now have a filter, called "Append Z Slice (Image Geometry), that can do this operation. This filter will "stack" two grids on top of each other (along the z axis), as long as their x and y voxel extents are the same.
2. No, the only size distribution type that is currently supported is lognormal.
3. You can edit a DREAM.3D file created in StatsGenerator within StatsGenerator itself; simply go the File > Open menu in StatsGenerator and open your saved file. You can then make edits to the statistics and re-save the file, or save a new file.
4. To make a synthetic structure, DREAM.3D requires a "StatisticsObject". There are only two ways the create such an object: using StatsGenerator, or running the "Generate Ensemble Statistics" filter. The "Generate Ensemble Statistics" filter is intended to create a StatisticsObject by consolidating data from an experimental 3D microstructure that has been reconstructed in DREAM.3D. If you have a set of orientations, you can directly import them into StatsGenerator by using the "Bulk Load Weights and Spreads" option in the ODF tab. The input file can be generated by running the "Write StatsGenerator ODF Angle File" in DREAM.3D, in which case you'd have to read your data into DREAM.3D using the "Import ASCII Data" filter. Alternatively, you can create the file format yourself; the necessary format is shown in the help for the "Write StatsGenerator ODF Angle File" filter. StatsGenerator cannot currently import size distribution data. I recommend fitting your size distribution data to a lognormal distribution and using the resulting mean and standard deviation as the values in StatsGenerator.
5. The "bins" describe how many parts the size distribution will be cut into for drawing statistics for the omega3, shape and neighbor distributions. If you generate some default data in StatsGenerator, you should notice that the number of bins created in the size distribution tab matches the number of rows in the omega3, shape and neighbor distribution tabs. Let's simplify the problem by using an example where the bin step size is increased enough to only have one bin. In this case (after hitting "Create Data" to update the other tabs), there will only be one type of omega3, shape and neighbor distribution. This means that every grain, regardless of its size, will have the same shape and neighbor distribution. The issue here is that grains usually have different shapes and particularly neighbor distributions depending on their sizes. Now decrease the bin step size until there are two bins. In this case (again after clicking "Create Data"), grains that fall into the first size bin will have the shape and neighbor distributions corresponding to the first row of values and grains that fall into the second size bin will shape and neighbor distributions corresponding to the second row of values. This allows grains to have different omega3, shape and neighbor distributions depending on their size. Note that you can manually edit the parameters for the omega3, shape and neighbor distributions at any time, but once you do you will not be able to go back and change size statistics; if you need to change size statistics at that point you will have to start over. The number of grains in a created microstructure depends on both the average for the size distribution and the voxel extents and voxel resolution used in the "Initialize Synthetic Volume" filter. For a given voxel grid and resolution, increasing the average grain size reduces the number of total grains and decreasing the average grain size increases the number of total grains. For a given voxel resolution and average grain size, increasing the voxel extents increases the number of total grains and decreasing the voxel extents decreases the number of total grains. For a given voxel extents and average grain size, making the resolution number larger (i.e., making the voxel edge length "coarser") increases the number of total grains, while making the resolution number smaller (i.e., making the voxel edge length "finer") decreases the number of total grains.
6. You can change the number of bins by changing the bin step size in the size distribution tab (check above for an explanation of the size bins). If you change the number of bins, make sure to re-click "Create Data" to update the omega3, shape and neighbor distribution tabs. You can edit any of the parameters (not the bins steps, though) in the omega3, shape and neighbor distribution tabs by double-clicking on the tables and typing your values. This should also update the plots, which are useful for visualizing how the distributions are changing. The default numbers for omega3 and shape are drawn from random distributions that approximate equiaxed grains for all grain sizes. The neighbor distributions default to slightly increasing average numbers of features as the grain size increases.
7. The omega3 and shape distributions both use the
beta distribution, which is useful for modeling random variables that represent proportions. See the link for a thorough description of the alpha and beta parameters in this distribution. Both the omega3 and shape distributions effect the general shape of the grains. The shape distributions vary shape by changing the ratios of the C and B axes of a grain to its A axis. For example, if the B/A and C/A ratios are both close to 0.1, then the grains will have aspect ratios of 10 x 1 x 1. Omega3 only affects grains whose shape types are superellipsoids (chosen when running the "Establish Shape Types" filter in DREAM.3D); it will have no effect if a shape type other than superellipsoid is chosen. Omega3 provides more fine control over the shapes of grains. I have attached an image that shows how the omega3 value affects shape. To learn the mathematical theory behind omega3, please see the references listed in the help for the "Find Feature Shapes" filter. The neighbor distributions effect the number of grains on average that are "near" other grains (specifically, within one diameter). The neighbor distributions are modeled using the standard lognormal. For omega3, shape and neighbor distributions, it is usually a good idea to reference the plots in StatsGenerator to understand how any modifications made to the parameters in the tables affects the sampling distributions.
8. Euler angles of 0,0,0 are not a "no texture" situation; a completely random texture would be to have no angles in the list (you can add and remove orientations using the plus and x signs in the ODF tab). Entering any set of angles into the ODF tab will bias the ODF to those orientations, even the 0,0,0 orientation. The amount it is biased depends on the weight and spread numbers. The weight affects how strongly the given orientation is manifest in the ODF. The exact mathematical relationship requires an involved explanation, but the short version is simply that increasing the weight increases the prevalence of that orientation in the ODF. You can visualize this effect by clicking "Update ODF" and going to the "Pole Figures" tab to see the pole figures for the given ODF. The spread value affects how much that orientation is "smeared out". Having a spread of 1 means that the orientation is centered on nearly the exact value you specify. Increasing the spread will have the effect of spreading out the orientation sampling around the specific orientation entered. Again, you can see this effect in the plotted pole figures.
9. The ODF affects the crystallographic orientations of the grains, whereas the axis ODF affects the morphological orientation of the grains. In other words, the axis ODF varies how the grains A, B and C axes are aligned with the x, y, and z axes of the packing volume.
Now for filters:
1. a. You can extract out specific grains by running the "Extract Flagged Features (Rogues Gallery)" filter. First, you need to threshold out those features you care about using the "Threshold Objects" filter, which will create a boolean mask based on a set of criteria. For example, you could create a mask where all features greater than a certain size are flagged as true. Then, running the "Extract Flagged Features (Rogues Gallery)" would crop out each grain flagged as true and save it in a new geometry.
1. b. You can crop out specific portions of a structure, even just individual slices, using the "Crop Geometry (Image)" filter.
1. c. You cannot create truly "empty" regions of a voxelized mesh; you can however pack a "precipitate" phase into your microstructure and then consider any grain with that phase Id as being a void in an outside simulation using the "Insert Precipitate Phases". You can also manually insert these "precipitates" using the "Already Have Precipitates" functionality of that filter, which would allow you to place voids at specific locations. See the documentation for the "Insert Precipitate Phases" filter for more information.
2. DREAM.3D can only create two kinds of meshes: triangular surface meshes and structured hexahedral volume meshes (standard "blocky" voxel grids). We would like to add other functionalities here, but there is no timeline for this as of yet.
3. There is not filter in DREAM.3D right now that can compute Fourier transforms. There is a filter that has FFT in its name, but this filter is just used to write a file format for a specific kind of simulation code.
4. There are a large number of filters that can compute various statistics. Please take a look at the filter in the Statistics plugin, and also those filters showcased in the Statistics prebuilt pipelines.
And finally simulation:
1. There are two filters that can create Abaqus input files: the "Abaqus Hexahedron Writer" filter and the "Write Abaqus Surface Mesh" filter. The former filter writes a hexahedral volume mesh ("block" elements, the C3D8 element type). The latter filter writes a shell mesh from a triangulated surface mesh.
2. Yes, the filter "Write STL Files from Triangle Geometry" will write an STL file for each grain. Note that first you must surface mesh your microstructure.
hope that helps,
-Sean