Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Parent grain reconstruction #459

Open
maclariz opened this issue Oct 16, 2023 · 3 comments
Open

Parent grain reconstruction #459

maclariz opened this issue Oct 16, 2023 · 3 comments
Labels
enhancement New feature or request

Comments

@maclariz
Copy link

Is it possible to implement parent grain reconstruction?

As based on:

Humbert et al., Scripta Metallurgica et Materialia, Volume 30, Issue 3, 1994, Pages 377-382

implemented by Brad Wynne for Titanium, and recently implemented in MTEX:

Niessen, F., Nyyssonen, T., Gazder, A. A. & Hielscher, R. (2022). J. Appl. Cryst. 55, 180-194.

@hakonanes
Copy link
Member

Hi @maclariz,

A good suggestion. I believe @argerlt would also be interested in this as well. (Although he might have moved on from orix? I don't know.)

Before we could add this functionality, I believe we need at least two new tools: a Grains class and an algorithm for grain reconstruction. The closest think to this functionality in Python is in the DefDap package (https://github.com/MechMicroMan/DefDAP). I don't have time to look at implementing this in orix myself, unfortunately. And I'm not aware of anyone working on this at the moment.

@maclariz
Copy link
Author

Thanks @hakonanes . I don't think I could do it my time at the moment but I think if at some point I had a student who was going to take the orientation mapping in Ti further then it would start to become important and we'd have to do it.

@argerlt
Copy link
Contributor

argerlt commented Oct 25, 2023

I am interested, and actually started working with ORIX 2 years ago with this very specific capability in mind (I was working on an alternative clustering method at the time, but the current method implemented in MTEX is less finicky than my method, so I switched gears).

I believe the bigger problem is that implementing any parent grain reconstruction tool needs some method for describing probabilities on an ODF. This is the focus of the original MTEX paper that started the whole MTEX project, and is one of the hardest things to recreate: https://www-user.tu-chemnitz.de/~rahi/paper/mtex_paper.pdf

Ralph did it with spherical harmonics and radially symmetric functions in SO(3). I believe other people in the XRD world have done a similar thing but with a Finite Element Approach:
https://asmedigitalcollection.asme.org/materialstechnology/article/130/2/021021/461055/Quantitative-Stress-Analysis-of-Recrystallized

In the case of this problem, in order to get the likelyhood that a misorientation between two grains could belong to children of the same parent, you need an MDF (Misorientation Distribution Function), which you calculate using CalcDensity in MTEX.

I think there is a way to get around this by calculating all possible parents for every child, then calculating the minimum misorientation angle, then assuming deviation from the ideal is radially symmetric (it's not, but its close). To @hakonanes point though, that is a pretty big undertaking.

Incidentally though, there are a handful of people working on pythonic ODF solvers (me included), so this might be a solved problem at some point in the next few years (fingers crossed)

@pc494 pc494 added the enhancement New feature or request label Mar 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants