BlueQuartzSoftware / simplnx

The backend algorithms and framework associated with DREAM3DNX, a data analysis program for materials science data analytics
http://www.dream3d.io/
Other
7 stars 9 forks source link

ENH: Compute "soft" and "hard" orientations for hexagonal features based on c-axis alignment with reference direction. #992

Open StopkaKris opened 3 months ago

StopkaKris commented 3 months ago

Is there an existing plan for this?

Description of the Feature, Filter, or Functionality?

A feature/grain attribute that is often of interest when analyzing materials with hexagonal close packed (HCP) structure is "soft" vs. "hard" grain orientations, which refers to whether the c-axis of the grain is oriented perpendicular or parallel, respectively, to the loading direction. There are some filters now that compute c-axis related feature attributes, such as Compute Feature Neighbor C-Axis Misalignments. Can we add functionality that computes the angle between the c-axis of HCP features and a user specified direction? I initially thought that just a drop down of the global X, Y, or Z axis might be enough, but this might as well be as versatile as the Reference Direction option in the Compute IPF Colors filter. Also, I am unsure whether this warrants a new filter, or whether a checkbox in the Compute Feature Neighbor C-Axis Misalignments would suffice. I think a new filter would be "cleaner".

I can help with documentation of this filter and provide some journal article references and figures that motivate why one would want to compute these attributes.

Version

7.0.x (DREAM3DNX beta)

What section did you foresee your suggestion falling in? [Further details may be required during triage process]

No response

High Level Steps To Implement

No response

Anything else?

No response

Code of Conduct

imikejackson commented 3 months ago

@StopkaKris If you could provide the citations for the papers that would be great.

I think would be a new filter for this since we are asking for the C-Axis direction for a given Euler angle (Orientation). I could do that for average orientations or I could do that for every orientation of the data set.

If we did that correctly, we could almost generate a quiver plot with the results.

StopkaKris commented 3 months ago

@imikejackson

Below are links to three papers focused on "rogue" HCP grain orientations, i.e., whether grains are oriented in the soft or hard deformation modes:

https://doi.org/10.1016/j.ijplas.2006.10.013 https://doi.org/10.1111/j.1460-2695.2008.01284.x https://doi.org/10.1098/rspa.2007.1833

I also modified a figure from the open-access paper cited below that could be used in the documentation of the proposed filter:

hard_vs_soft_grain

The above figure is a modification of Fig. 2 from https://doi.org/10.1016/j.ijplas.2016.08.009

And a new filter sounds good to me. I think this would mostly be used for average orientations, and I'm not sure how versatile this could be made in case a user would need to compute this for every cell of a data set.

A quiver plot would also be extremely helpful for visualization purposes. It reminds me of these types of plots that are very helpful to visualize orientations, arguably just as helpful as a standard EBSD plot:

image Screenshot from this link

Although the ability to make something like this, where the arrow indicates the C-axis for HCP, would be great:

image Screenshot from this link