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
Add phase selection to ReconVarIC #5929
Conversation
This looks good to me. It should finish up the full range of use cases we may have with EBSDReader. |
@dschwen, did you implement your suggestion to perform the offset in EBSDReader? Dream3D currently outputs feature IDs starting at 1. I have been performing an additional step in MATLAB to renumber starting at 0. This is not ideal for other users. Either the offset needs to be performed in EBSDReader or I need to contact the Dream3D developers and ask for the capability to number the features starting at 0. Are the new changes compatible with GrainTracker? Can multiple instances of GrainTracker be run simultaneously in the case with multiple phases that contain many grains? |
I've decided to implement the id shifting. In this process I will rename a few concepts. I hope this makes stuff clearer: Grains are indexed through multiple schemes:
I'm adding the Phases are referred to using the numbers in the EBSD data file. In case the phase number in the data file starts at 1 the phase 0 will simply contain no grains. |
Actually this is all crap. I will renumber at will. This will make the feature_id_origin obsolete. This will be of tremendous help when cropping EBSD files (which yields discontinuous feature IDs)! I'll edit the post above accordingly. |
e4e811b implements these ideas. I'll adapt the AuxKernel to recover the EBSD file feature IDs. That commit adds a test file with arbitrarily assigned non-contiguous feature IDs (3,5,7,12). |
This sounds great. Maximum flexibility is definitely what we want. |
Ok, I've added a test for this as well. However currently only |
This can be merged as is. Once #5931 is implemented I will add an AuxKernel that outputs the original feature IDs rather than the internal GrainTracker grain numbers. |
I'll wait for @permcody to merge this since it involves the grain tracker... |
👍 |
Add phase selection to ReconVarIC
This enables
It also adds a test for this new mode.
In this patch all grain numbers start at zero internally. We store grain data in vectors and having an empty element at the start of a vector is not elegant. @permcody we may need to talk about this again (zero being a special value in
GrainTracker
?). Anyhow this offset business is confusing. I propose we have offsets at read-time (in case grain numbers start at one in the EBSD data file), internally store everything zero-based, and maybe have an option in the grain number auxkernel to shift back to the numbers in the ebsd file. This would give us the most flexibility .Ping @frombs
Closes #5502