• No se han encontrado resultados

1. PLANTEAMIENTO DEL PROBLEMA

4.3. ESTADÍSTICA DESCRIPTIVA

Several variants of published correction functions have been implemented into TOPAS (either directly into the corresponding .inp templates or into separate mac- ros). In this chapter, these implementations are briefly discussed.

HUBER G670 imaging plate intensity correction

A model for a Guinier geometry imaging plate intensity correction for the HUBER G670 imaging plate diffractometer had originally been published by Baier[70] in the form of a computer program. An adaptation of this model has been implemented into the corresponding HUBER G670 TOPAS template. In the general part of this template, various linear absorption coefficients (in mm−1) and X-ray beam path lengths (in mm) are defined.

'G670 Guinier Imaging Plate Absorption coeff. and distances

prm !rDiff 90 prm !rGon 57.3 prm !dCapton 0.08 prm !dCardbox 0.2 prm !dOuter 23 prm !muInner 0.00001 prm !muCapton 0.77 prm !muCardbox 0.81 prm !muAir 0.0013

In addition to the model proposed by Baier, the thickness and linear absorption co- efficient of the sample is added, as scattered X-ray beams are also absorbed by parts of the sample itself. As various tests have shown, this can be a significant con- tribution, especially in samples with very high absorption coefficients. However, ‘dSample’ does not exactly specify the real sample thickness, but as this value can be freely refined, neither the correct absorption coefficient nor the actual sample thickness is critical.

'Guinier Sample absorption correction

prm !dSample 0 min=0; max=0.1; 'in mm. ###Refinable

The actual intensity correction of the diffractogram is performed in the phase specif- ic part of the template with the ‘scale_pks’ command and uses absorption lengths calculated for different scattering angles. The intensities of every phase have to be corrected separately.

'Guinier geometry intensity correction. PASTE FOR EVERY PHASE!

prm Cosine =Cos(45/180*Pi - 2*Th); 'Th in radians

prm !wInner=2*rDiff*Cosine-dOuter/Cosine;

scale_pks =2*Exp(muInner*wInner + muAir*dOuter/Cosine +

muCardbox*dCardbox/Cosine + muCapton*dCapton/Cosine + muSample*dSample/Cosine);

Le Bail-Jouanneaux anisotropy correction

The FWHM and / or peak shape often depend on the Miller indices of the reflections. Reasons are either ill-crystallised samples (non-spherical crystallites, micro strains, stacking faults, etc.) or inhomogeneous samples, where different crystallites have (slightly) different composition. A very flexible model for the first case has been pro- posed by Le Bail and Jouanneaux[66] and a slightly modified version has been im- plemented into all TOPAS templates in combination with separate macros. All tem- plates and macros are available for download.[68] Up to now, various refinements have shown that the model also yields good results in the case of samples with in- homogeneous composition. In each TOPAS template, the width anisotropy parame- ters ‘guc*’, ‘gvc*’ and ‘gwc*’ and the shape anisotropy parameters ‘guv*’, ‘gvv*’ and ‘gwv*’ are defined and restrained to sensible values. It also has to be made sure that appropriate constraints are set for each crystal system. Refer to the original literature for details.[66] For refinements using the Le Bail-Jouanneaux method, the macro ‘LeBailJouanneaux’ has to be invoked with these parameters.

/* Le Bail-Jouanneaux anisotropic peak broadening and shape ******************************************************** * USE ONLY WHEN ANISOTROPIC BROADENING AND/OR * * ANISOTROPIC PEAK SHAPE OCCUR * ******************************************************** Adaptation for tetragonal, trigonal and hexagonal crystal systems. Remove symmetry constraints for orthorhombic monoclinic and triclinic crystal systems.

Add 33=22=11, 23=13=12 constraints for cubic crystal system. ADDITIONAL CONSTRAINTS MIGHT BE NECESSARY */

#include "lbj.inc" 'Broadening ONLY (recommended)

'#include "lbjs.inc" 'Broadening AND shape 'Width anisotropy:

prm guc11 0.1 min=-20; max=20; …

prm gwc23 =gwc13; 'min=-20; max=20;

'Shape anisotropy:

prm guv11 0.1 min=-20; max=20; …

prm gwv23 =gwv13; 'min=-20; max=20;

LeBailJouanneaux(guc11,guv11,…,gwc12,gwv12)

The ‘lbj.inc’ and ‘lbjs.inc’ macros perform the broadening correction as a convolu- tion of the empirical function defined with the ‘gauss_fwhm’ command with the re- flection profiles from the fundamental parameters approach.

'Broadening

prm u = (H^2 A_star A_star uc11 + K^2 B_star B_star uc22 + L^2 C_star C_star uc33 + 2*uc12 H K A_star B_star + 2 * uc13 H L A_star C_star + 2*uc23 K L B_star C_star); min=-1; max=2;

prm v = …

gauss_fwhm = u Tan(Th)^2 + v Tan(Th) + w; 'Broadening convolution

The ‘lbjs.inc’ macro additionally contains a variant of the peak shape correction pro- posed in [66] as a convolution of the empirical function defined with the ‘exp_conv_const’ command with the reflection profiles from the fundamental pa- rameters approach and the peak broadening function. It yielded excellent results if shape anisotropy occurred.

'SHAPE

prm us = (H^2 A_star A_star uv11 + K^2 B_star B_star uv22 + L^2 C_star C_star uv33 + 2*uv12 H K A_star B_star + 2*uv13 H L A_star C_star + 2*uv23 K L B_star C_star); min=-1; max=2;

prm vs =…

For an exact definition of the ‘gauss_fwhm’ and ‘exp_conv_const’ convolution func- tions, refer to the TOPAS technical reference[69] (pages 60 61). If more than one phase is present, where anisotropy corrections have to be applied, different variable names have to be chosen and the macro has to be modified accordingly.

Robust refinements

As the Rietveld method relies on least-squares minimisation for the intensity fit, re- finements are generally poor, if considerable amounts of unidentifiable impurity phases are present. As such impurity phases should generate only positive outliers in the difference between observed and calculated intensities, David[71] proposed an approach based on Bayesian statistics, in which he penalised such positive outliers less than negative ones. This approach is called robust refinement. Stone wrote an implementation of David’s approach for TOPAS,[72] which was adapted for all .inp templates in a slightly modified version. The modification involves the introduction of estimated standard deviations for measurements without experimentally obtained standard deviations. In these cases, the variable ‘sigma_correction_factor’ can be adjusted until the difference curve of the refinement shows only positive outliers and the intensity extraction is correct. Robust refinements can be invoked by uncom- menting the robust refinement option in the general part of every template. The tem- plates and the according ‘robust.inc’ macro are available for download.[68] As the weighting scheme is altered after each iteration during a robust refinement, this ren- ders all classical residual values meaningless. Apart from the optical fit of the calcu- lated intensities, a residual value for robust refinements χ2RR was proposed, the defi- nition of which can be found in [72]. However, as this value is sensitive to the amount of impurity phase(s), it was not included into the robust refinement option.

#include "robust.inc"

prm !sigma_correction_factor 1 'must not be zero

'If x/y/sigma input file is provided, the corresponding 'sigma will always be used. Otherwise:

'Sigma(Y) is assumed to be sigma_correction_factor*Y^(1/2).

The robust.inc macro and the implementation of the estimated standard deviations is defined as follows:

macro Robust_Refinement (sigmacorrection) {

'Rescale peaks according to robust refinement algorithm

prm test = If (Get(r_exp) > 0, Get(r_exp), 10); prm N = (1/test)^2; prm !p0 0.40007404 prm !p1 -2.5949286 prm !p2 4.3513542 prm !p3 -1.7400101 prm !p4 3.6140845e-1 prm !p5 -4.5247609e-2 prm !p6 3.5986364e-3 prm !p7 -1.8328008e-4 prm !p8 5.7937184e-6 prm !p9 -1.035303e-7 prm !p10 7.9903166e-10

prm sigY = If (SigmaYobs > 0, SigmaYobs, Sqrt(Yobs)*sigmacorrection); prm t = ((Yobs - Ycalc)/sigY);

weighting = If( t < 0.8, (1/Max(SigmaYobs^2, 1))*N, If( t < 21, N*((((((((((p10*t + p9)*t + p8)*t + p7)*t + p6)*t + p5)*t + p4)*t + p3)*t + p2)*t + p1)*t +p0)/(Yobs - Ycalc)^2, N*(2.0131 * Ln(t) + 3.9183)/(Yobs - Ycalc)^2) );

recal_weighting_on_iter }