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
MTEX 4.0.1 |