Explains how to analyze ODFs, i.e. how to compute modal orientations, texture index, volume portions, Fourier coefficients and pole figures.
On this page ... |
Modal Orientations |
Texture Characteristics |
Volume Portions |
Fourier Coefficients |
Pole Figures and Values at Specific Orientations |
Extract Internal Representation |
Some Sample ODFs
Let us first begin with some constructed ODFs to be analyzed below
A bimodal ODF:
cs = crystalSymmetry('mmm'); odf1 = unimodalODF(orientation.byEuler(0,0,0,cs)) + ... unimodalODF(orientation.byEuler(30*degree,0,0,cs))
odf1 = ODF crystal symmetry : mmm specimen symmetry: 1 Radially symmetric portion: kernel: de la Vallee Poussin, halfwidth 10° center: (0°,0°,0°) weight: 1 Radially symmetric portion: kernel: de la Vallee Poussin, halfwidth 10° center: (30°,0°,0°) weight: 1
A fibre ODF:
odf2 = fibreODF(Miller(0,0,1,cs),xvector)
odf2 = ODF crystal symmetry : mmm specimen symmetry: 1 Fibre symmetric portion: kernel: de la Vallee Poussin, halfwidth 10° fibre: (001) - 1,0,0 weight: 1
An ODF estimated from diffraction data
mtexdata dubna odf3 = calcODF(pf,'resolution',5*degree,'zero_Range')
odf3 = ODF crystal symmetry : Quartz (321, X||a*, Y||b, Z||c*) specimen symmetry: 1 Radially symmetric portion: kernel: de la Vallee Poussin, halfwidth 10° center: 19833 orientations, resolution: 5° weight: 1
The modal orientation of an ODF is the crystallographic prefered orientation of the texture. It is characterized as the maximum of the ODF. In MTEX it can be computed by the command calcModes
Determine the modalorientation as an orientation:
center = calcModes(odf3)
progress: 100% center = orientation size: 1 x 1 crystal symmetry : Quartz (321, X||a*, Y||b, Z||c*) specimen symmetry: 1 Bunge Euler angles in degree phi1 Phi phi2 Inv. 133.875 34.7082 205.531 0
Lets mark this prefered orientation in the pole figures
plotPDF(odf3,h,'antipodal','superposition',c); annotate(center,'marker','s','MarkerFaceColor','black')
Texture characteristics are used for a rough classification of ODF into sharp and weak ones. The two most common texture characteristics are the entropy and the texture index.
Compute the texture index:
textureindex(odf1)
ans = 288.6802
Compute the entropy:
entropy(odf2)
ans = -2.8402
Volume portions describes the relative volume of crystals having a certain orientation. The relative volume of crystals having a orientation close to a given orientation is computed by the command volume and the relative volume of crystals having a orientation close to a given fibre is computed by the command fibreVolume
The relative volume in percent of crystals with missorientation maximum 30 degree from the modal orientation:
volume(odf3,calcModes(odf3),30*degree)*100
progress: 100% ans = 50.1732
The relative volume of crystals with missorientation maximum 20 degree from the prefered fibre in percent: TODO
%fibreVolume(odf2,Miller(0,0,1),xvector,20*degree) * 100
The Fourier coefficients allow for a complete characterization of the ODF. The are of particular importance for the calculation of mean macroscopic properties e.g. the second order Fourier coefficients characterize thermal expansion, optical refraction index, and electrical conductivity whereas the fourth order Fourier coefficients characterize the elastic properties of the specimen. Moreover, the decay of the Fourier coefficients is directly related to the smoothness of the ODF. The decay of the Fourier coefficients might also hint for the presents of a ghost effect. See ghost effect.
transform into an odf given by Fourier coefficients
fodf = FourierODF(odf3,32)
fodf = ODF crystal symmetry : Quartz (321, X||a*, Y||b, Z||c*) specimen symmetry: 1 Harmonic portion: degree: 25 weight: 1
The Fourier coefficients of order 2:
reshape(fodf.components{1}.f_hat(11:35),5,5)
ans = Columns 1 through 4 0.0000 + 0.0000i -0.0000 - 0.0000i 0.0000 + 0.0000i -0.0000 + 0.0000i -0.0000 + 0.0000i -0.0000 - 0.0000i 0.0000 - 0.0000i -0.0000 + 0.0000i 0.1419 - 0.4669i 1.5281 - 0.9319i 2.1387 + 0.0000i 1.5281 + 0.9319i -0.0000 - 0.0000i -0.0000 - 0.0000i 0.0000 + 0.0000i -0.0000 + 0.0000i 0.0000 - 0.0000i -0.0000 - 0.0000i 0.0000 - 0.0000i -0.0000 + 0.0000i Column 5 0.0000 + 0.0000i -0.0000 + 0.0000i 0.1419 + 0.4669i -0.0000 - 0.0000i 0.0000 - 0.0000i
The decay of the Fourier coefficients:
close all;
plotFourier(fodf)
Using the command eval any ODF can be evaluated at any (set of) orientation(s).
odf1.eval(orientation.byEuler(0*degree,20*degree,30*degree,cs))
ans = 24.0869
For a more complex example let us define a fibre and plot the ODF there.
fibre = orientation(fibre(Miller(1,0,0,cs),yvector)); plot(odf2.eval(fibre))
Evaluation of the corresponding pole figure or inverse pole figure is done using the command calcPDF.
odf2.calcPDF(Miller(1,0,0,cs),xvector)
ans = 0.0027
The internal representation of the ODF can be addressed by the command
properties(odf3.components{1})
Properties for class unimodalComponent: center psi weights CS SS antipodal bandwidth
The properties in this list can be accessed by
odf3.components{1}.center odf3.components{1}.psi
ans = SO3Grid symmetry: "321" - "1" grid : 19833 orientations, resolution: 5° ans = deLaValleePoussinKernel bandwidth: 25 halfwidth: 10°
DocHelp 0.1 beta |