In this section we discuss how to analyze the neighboring relationships between grains. While most of this can be done also on the level of grain boundaries an local misorientations it is for large data sets sometimes useful to consider misorientations between the mean-orientations of grains. We shall use the following Magnesium data set of our explanations.
Central for the analysis of grain to grain relationships is the function grains.neighbours
. It return a list of pairs of neighboring grain ids. Each row of the list contains the ids of two neighboring grains. In the following lines choose the row number 170 and outline the corresponding grains
In order to compute the misorentation between these two grains we can do
This can be generalized to compute the misorientations between neighboring grains using
We observe a high peak at about 85 degree. This angle corresponds to twinning. In Magnesium the twinning orientation relationship is given by
In order to determine the percentage of twining pairs we do
It is important to understand that the list returned by grains.neighbours
contains only pairs such that both grains are contained in grains
. This allows the syntax grains('phaseName')
to extract only neighbor relation ships within one phase.
In some case, e.g. if we ask for all neighboring grains to a given grains, it is useful to replace this constraint by the condition that at least one grain should by part of grains
. This can be accomplished by the option 'full'
.