Describes how to define model ODFs in MTEX, i.e., uniform ODFs, unimodal ODFs, fibre ODFs, Bingham ODFs and ODFs defined by its Fourier coefficients.
| On this page ... |
| Introduction |
| The Uniform ODF |
| Unimodal ODFs |
| Fibre ODFs |
| ODFs given by Fourier coefficients |
| Bingham ODFs |
| Combining model ODFs |
MTEX provides a very simple way to define model ODFs. Generally, there are five types to describe an ODF in MTEX:
The central idea is that MTEX allows you to calculate mixture models, by adding and subtracting arbitrary ODFs. Model ODFs may be used as references for ODFs estimated from pole figure data or EBSD data and are instrumental for pole figure simulations and single orientation simulations.
The most simplest case of a model ODF is the uniform ODF
which is everywhere identical to one. In order to define a uniform ODF one needs only to specify its crystal and specimen symmetry and to use the command uniformODF.
cs = crystalSymmetry('cubic'); ss = specimenSymmetry('orthorhombic'); odf = uniformODF(cs,ss)
odf = ODF
crystal symmetry : m-3m
specimen symmetry: mmm
Uniform portion:
weight: 1
An unimodal ODF
is specified by a radially symmetrial function
centered at a modal orientation,
and. In order to define a unimodal ODF one needs
ori = orientation.byMiller([1,2,2],[2,2,1],cs,ss); psi = vonMisesFisherKernel('HALFWIDTH',10*degree); odf = unimodalODF(ori,psi) plotPDF(odf,[Miller(1,0,0,cs),Miller(1,1,0,cs)],'antipodal')
odf = ODF
crystal symmetry : m-3m
specimen symmetry: mmm
Radially symmetric portion:
kernel: van Mises Fisher, halfwidth 10°
center: (297°,48°,27°)
weight: 1
For simplicity one can also omit the kernel function. In this case the default de la Vallee Poussin kernel is chosen with half width of 10 degree.
A fibre is represented in MTEX by a variable of type fibre.
% define the fibre to be the beta fibre f = fibre.beta(cs) % define a fibre ODF odf = fibreODF(f,ss,psi) % plot the odf in 3d plot3d(odf)
f = fibre
size: 1 x 1
crystal symmetry: m-3m
o1: (180°,35°,45°)
o2: (270°,63°,45°)
odf = ODF
crystal symmetry : m-3m
specimen symmetry: 1
Fibre symmetric portion:
kernel: van Mises Fisher, halfwidth 10°
fibre: (---) - -0.23141,-0.23141,0.94494
weight: 1
In order to define a ODF by it Fourier coefficients the Fourier coefficients C has to be given as a literally ordered, complex valued vector of the form
where
denotes the order of the Fourier coefficients.
cs = crystalSymmetry('1'); % crystal symmetry C = [1;reshape(eye(3),[],1);reshape(eye(5),[],1)]; % Fourier coefficients odf = FourierODF(C,cs) plot(odf,'sections',6,'silent','sigma') mtexColorMap LaboTeX
odf = ODF
crystal symmetry : 1, X||a, Y||b*, Z||c*
specimen symmetry: 1
antipodal: true
Harmonic portion:
degree: 2
weight: 1
plotPDF(odf,[Miller(1,0,0,cs),Miller(1,1,0,cs)],'antipodal')
The Bingham quaternion distribution
has a (4x4)-orthogonal matrix
and shape parameters
as argument. The (4x4) matrix can be interpreted as 4 orthogonal quaternions
, where the
allow different shapes, e.g.
A Bingham distribution is characterized by
cs = crystalSymmetry('-3m');Bingham unimodal ODF
% a modal orientation mod = orientation.byEuler(45*degree,0*degree,0*degree); % the corresponding Bingham ODF odf = BinghamODF(20,mod,cs) plot(odf,'sections',6,'silent','contourf','sigma')
odf = ODF
crystal symmetry : -3m1, X||a*, Y||b, Z||c*
specimen symmetry: 1
Bingham portion:
kappa: 20 0 0 0
weight: 1
Bingham fibre ODF
odf = BinghamODF([-10,-10,10,10],quaternion(eye(4)),cs) plot(odf,'sections',6,'silent','sigma')
odf = ODF
crystal symmetry : -3m1, X||a*, Y||b, Z||c*
specimen symmetry: 1
Bingham portion:
kappa: -10 -10 10 10
weight: 1
Bingham spherical ODF
odf = BinghamODF([-10,10,10,10],quaternion(eye(4)),cs) plot(odf,'sections',6,'silent','sigma');
odf = ODF
crystal symmetry : -3m1, X||a*, Y||b, Z||c*
specimen symmetry: 1
Bingham portion:
kappa: -10 10 10 10
weight: 1
All the above can be arbitrarily rotated and combined. For instance, the classical Santafe example can be defined by commands
cs = crystalSymmetry('cubic'); ss = specimenSymmetry('orthorhombic'); psi = vonMisesFisherKernel('halfwidth',10*degree); mod1 = orientation.byMiller([1,2,2],[2,2,1],cs,ss); odf = 0.73 * uniformODF(cs,ss) + 0.27 * unimodalODF(mod1,psi) close all plotPDF(odf,[Miller(1,0,0,cs),Miller(1,1,0,cs)],'antipodal')
odf = ODF
crystal symmetry : m-3m
specimen symmetry: mmm
Uniform portion:
weight: 0.73
Radially symmetric portion:
kernel: van Mises Fisher, halfwidth 10°
center: (297°,48°,27°)
weight: 0.27
| DocHelp 0.1 beta |