xnd top | Next file | Previous file |
---|

The programs allows the refinement of modulated structures (4-D): it is possible to describe both displacive and compositional modulation. The only limitation is that polarisation vectors may be expanded only to the first order Fourier term. The Fourier term is expressed in exponential form giving two parameters: the amplitude and the phase.

To simplify the treatment of data collected with linear counters
possessing unequally spaced detectors and to treat variable
step scans, the functions describing the profile are expressed using
the measured angles. It should be noticed that the program will not
calculate large peaks having the center falling at more than 1 degree
in `2theta` outside the collected region. The allowed Miller indexes
`hkl` depend on the implementation of the short integer on
the computer but run atleast between -127 and +127.

Actually, the quantity which the refinement algorithm tries to minimize is

whereS = SIGMA(m) SIGMA(n) SIGMA(i) (W(m,n,i) (Y_obs(m,n,i)-Y_cal(m,n,i))^2 + Penal

whereY_calc(m,n,i)= SIGMA(p) SIGMA(hkl) I(m,n,p,hkl) G(theta(m,n,i)-theta_(m,n,p,hkl} ) + Y_bkg(m,n,i)

The penalty term, `Penal`, is a penality function
which is calculated on some choosen bonds. To this purpose
it is necessary to precise the bond lenght `length_o`
for the bond `b` in a defined phase `p` at a
certain `Temp`. The penalty
algorithm `xi` increases the minimized sum `S`
of a quantity proportional to the square of the difference
between ideal `length_o` and actual `length_c`bond length. The
exact form of the penality function is in which d_length can be seen as
the standard deviation on the bond length

Penal= SIGMA(n) SIGMA(p) SIGMA(b)((length_o(m,n,p,b) - length_o(m,n,p,b)) /(d_length(m,n,p,b))^2

In xnd a very simple implemantation of the spherical harmonic is use as it is it not obvious to remind the shape of complex hybritation and to choose the rigth one to describe the crystal properties. That is why xnd only uses the simpliest polar function of each degrees, that is the p orbitals and allow to define for each function its polar axis. In the case in which we need a term which does not depend on the direction, we use the non polar s function.

The polar axis is defined with respect to the
orthogonal repear (X, Y, Z) in which Z is
parallel to c* and Y to b. Its orientation is characterized by the angles
of the unit vector

Each function is repeared by an index which the simply
related to the degrre of the associated Legendre polynomial.
Their argument z is the cosine of the angle
of the hkl direction with the polar axis define above.

0 : P1 = 1 1 : P2 = (3 z2-1)/2 2 : P4 = (35 z4 - 30 z2 + 3)/8 3 : P6 = (231 z6 -315 z4 + 105 z2 -5)/16 4 : P8 = (6435 z8 -12012 z6 + 6930 z4 - 1260 z2 + 35)/128

When they share the same axis, all this functions are orthogonal. To construct
a sharp function in a direction, you have to had they up to a degree which
give you the wished sharpness.

For a given polynomial, there is only a restricted number of possible
independant functions. One for P0 which is isotropic, three for P2, five for P4 ...

Then it is not usefull to introduce more than two orientations for P2 or
four for P4. User have to respect the crystallographic symmetry, in a cubic
phase there is no P2 functions, as their sum is a trivial isotropic function.

Orien(hkl) = Coef[0] * P[0,hkl] + Coef[1] * P[1,hkl] + ...The scale factor can be regarded as an isotropic prefered orientation function, therefor we can not introduce the isotropic P0 function to define a prefered orientation function.

When the function Pi and their polar axis have been choosen, P[i,hkl] take value which depends of the angle between hkl and this polar axis.

If some experiments have to be refined together, you have to decide between to strategies, the orientation preferred function can be common to all experiment or if needed there is one function for each experiment.

Voigt(hkl) = Voigt_Instru(hkl) * Voigt_Sample(hkl)in which the line widths are added according to

Width_Gauss(hkl)^2 = Width_Gauss_Instru(hkl)^2 + Width_Gauss_Sample(hkl)^2 Width_Lorentz(hkl) = Width_Lorentz_Instru(hkl) + Width_Lorentz_Sample(hkl)

Internally the program can use the Voigt functions or their approximation by a pseudoVoigt (David, J. Appl. Cryst. 1986).

It is well known that sample broadening source can strongly depend on the crystalline direction that is why in xnd this function are orientation dependant. Then the sample widths are expressed as

Width_Gauss_Sample(hkl)^2 = (Width_G[0, hkl]* P[0, hkl])^2 + (Width_G[1, hkl]* P[1, hkl])^2 + ... Width_Lorentz_Sample(hkl) = Width_L[0, hkl]* P[0, hkl] + Width_L[1, hkl]* P[1, hkl]) + ...

Assym = ( 1 + a . H1(dtheta/width) + b . H3(dtheta/width) )in which H1 and H3 are the odd Hermite functions with polynomial of order 1 and 3; and a and b are functions with different angular dependencies. (Berar, Baldinozzi, J. Appl. Cryst. 1993).

F(h,k,l) = A + i B + i ( a + i b )in which a and b contain all the imaginary part related to f". We will have

I(h,k,l) = k( A^2 + B^2 + a^2 + b^2 + 2 (aB-Ab)) I(-h,-k,-l) = k( A^2 + B^2 + a^2 + b^2 - 2 (aB-Ab)) Ihkl = k( A^2 + B^2 + a^2 + b^2 )

xnd top | Next file | Previous file |
---|