Open Matlab File in the Editor MTEX

MTEX - Analysing Neutron Pole Figures (Dubna)

Detailed demonstration of the MTEX toolbox at the Dubna data example.

The data where meassured by Florian Wobbe at Dubna 2005 of a Quarz specimen using Neutron diffraction.

Import diffraction data

% specify scrystal and specimen symmetry
cs = crystalSymmetry('-3m',[1.4,1.4,1.5]);

% specify file names
fname = {...
  fullfile(mtexDataPath,'PoleFigure','dubna', 'Q(10-10)_amp.cnv'),...
  fullfile(mtexDataPath,'PoleFigure','dubna','Q(10-11)(01-11)_amp.cnv'),...
  fullfile(mtexDataPath,'PoleFigure','dubna','Q(11-22)_amp.cnv')};

% specify crystal directions
h = {Miller(1,0,-1,0,cs),[Miller(0,1,-1,1,cs),Miller(1,0,-1,1,cs)],Miller(1,1,-2,2,cs)};

% specify structure coefficients
c = {1,[0.52 ,1.23],1};

% import pole figure data
pf = loadPoleFigure(fname,h,cs,'superposition',c)
 
pf = PoleFigure  
  crystal symmetry : -3m1, X||a*, Y||b, Z||c
  specimen symmetry: 1
 
  h = (10-10), r = 72 x 19 points
  h = (01-11)(10-11), r = 72 x 19 points
  h = (11-22), r = 72 x 19 points

plot pole figures

plot(pf)

Correct pole figures

pf_corrected = pf(pf.r.theta < 70*degree | pf.r.theta > 75*degree);

plot(pf_corrected)

Rotate pole figures

pf_rotated = rotate(pf_corrected,axis2quat(xvector,45*degree));
plot(pf_rotated,'antipodal')

Recalculate ODF

We use here the option 'background' to specify the approximative background radiation and to increase the accuracy of the reconstruction. Furthermore, we have seen from the pole figures that the ODF is quit sharp and hence using the zero range method reduces the computational time.

odf = calcODF(pf_corrected,'background',10,'zero_range')
------ MTEX -- PDF to ODF inversion ------------------
applying zero range method to (10-10)............ - reduction: 4362 / 19848
applying zero range method to (01-11)(10-11)............ - reduction: 4362 / 19848
applying zero range method to (11-22)............ - reduction: 3502 / 19848
Call c-routine
initialize solver
start iteration
error: 4.1398E-01 2.2875E-01 1.0068E-01 6.2758E-02 5.3703E-02 4.8564E-02 4.5709E-02 4.3725E-02 4.2166E-02 4.0991E-02 4.0103E-02 
Finished PDF-ODF inversion.
error: 4.0103E-02
alpha: 9.4285E+00 1.0523E+02 1.4942E+02 
required time: 4s
 
odf = ODF  
  crystal symmetry : -3m1, X||a*, Y||b, Z||c
  specimen symmetry: 1
 
  Radially symmetric portion:
    kernel: de la Vallee Poussin, halfwidth 5°
    center: 3502 orientations, resolution: 5°
    weight: 1
 

Error analysis

% calc RP1 error
calcError(pf_corrected,odf,'RP',1)

% difference plot
plotDiff(pf,odf)
ans =
    0.3153    0.1471    0.2710

Recalculate c-axis pole figures

plotPDF(odf,Miller(0,0,1,cs),'antipodal')

Plot inverse pole figure

plotIPDF(odf,vector3d(1,1,2))

plot recalculated ODF

plot(odf,'sections',18,'silent','sigma')
Plotting ODF as sigma sections, range: 0° - 113°

rotate ODF back

odfrotated = rotate(odf,axis2quat(xvector,45*degree));
plot(odfrotated,'sections',8,'sigma');
annotate(calcModes(odfrotated),'marker','o',...
  'MarkerFaceColor','none','MarkerEdgeColor','k');
Plotting ODF as sigma sections, range: 0° - 105°

volume analysis

volume(odf,calcModes(odf),20*degree)
ans =
    0.0136