NAME

absco - absorption corrections for X-ray and neutron diffraction


SYNOPSIS

#include <absco.h>

void absco_slab ( double *A_S_SC, double *A_C_SC, double *A_C_C, double two_theta, double mu_f_over_i, double backscattered, double orientation, double effthick_sample, double effthick_cell );

void absco_tube ( double *A_S_SC, double *A_C_SC, double *A_C_C, double two_theta, double mu_f_over_i, double backscattered, double effthick_sample, double effthick_inner_cyl, double effthick_outer_cyl, double illumination, int meshsize );


DESCRIPTION

Definition of absorption factors.

In a scattering experiment, self absorption leads to a reduction of measured count rates:

  M_S = A_S_S I_S

where

  I_S   = scattering from sample S in absence of self-absorption
          ("ideal scattering"),
  M_S   = scattering from sample S in presence of self-absorption
          ("measured scattering"),
  A_S_S = self-absorption factor.

More generally, we write

  A_X_Y = absorption factor for scattering in X, absorption in Y,

where Y must be a superset of X.

Usually, a sample S is contained in a cell C, and scattering by the empty cell is measured separately:

  M_C  = A_C_C  I_C
  M_SC = A_C_SC I_C + A_S_SC I_S

In consequence, the ideal scattering of the sample can be calculated from M_SC and M_C:

  I_S = (1/A_S_SC) M_SC - (A_C_SC/A_S_SC/A_C_C) M_C.

The routines described here compute A_S_SC, A_C_SC and A_C_C for different sample geometries.

Effective thickness.

Transmissions are given by T=exp(-mu d) where

  mu = attenuation coefficient
  d  = path length

At the approximation level chosen here, the factors mu and d enter only through the product mu*d=-ln(T), which shall be called the effective thickness t.

In inelastic scattering processes, attenuation coefficients can change. Here, all effective thicknesses are assumed to be based on the attenuation coefficient mu_i of the incoming beam. To adjust for the attenuation mu_f of the outgoing beam, a parameter mu_f_over_i=mu_f/mu_i is required.

Calculation of absorption factors.

An absorption factor A_X,Y is calculated as <exp(-t_i(r)-t_f(r))> where

  <..>   = average over scattering locations r in Y
  t_i(r) = effective thickness for incoming particles
  t_f(r) = effective thickness for outgoing particles

Effective thicknesses refer to paths between r and the surface of X where the particle enters or leaves.


FUNCTION ARGUMENTS

Output pointers.

*A_S_SC

Absorption factor for scattering in S, absorption in S an C.

*A_C_SC

Absorption factor for scattering in C, absorption in S an C. If it is a null pointer, all cell-related computations are skipped.

*A_C_C

Absorption factor for scattering in C, absorption in C. Must be a null pointer iff A_C_SC is a null pointer.

Generic input arguments.

two_theta

The scattering angle.

mu_f_over_i

Ratio of attenuation coefficients for scattered vs incoming particles, mu_f/mu_i. Usually 1, except for deeply inelastic scattering.

backscattered

The probability that a neutron, backscattered from the analyzer, traverses the sample a second time. Usually 1 for exact backscattering, 0 for all other instruments.

Input arguments for slab geometry.

orientation

Slab orientation, in degrees. It's the angle between the transmitted beam and the slab plane. Typically, it varies between 45 deg (scattering mostly in reflection) and 135 deg (scattering mostly in transmission).

effthick_sample

Effective thickness of the sample, for a perpendicular beam.

effthick_cell

Effective thickness of the cell, for a perpendicular beam.

Function arguments for cylinder geometry.

effthick_sample

Effective thickness of one sample layer, for a perpendicular beam. This is ln(-T)/2 where T is the transmission of a collimated beam.

effthick_inner_cyl

Effective thickness of one layer of the inner cylinder, for a perpendicular beam.

effthick_outer_cyl

Effective thickness of one layer of the outer cylinder, for a perpendicular beam.

illumination

Illuminated fraction (beam width / cylinder width).

meshsize

Number of mesh points per quarter circle, for numeric integration. A value of 50 should be sufficient for all practical purposes.


ERRORS

On error, a message is written to stderr, and the program exits with errno


RESSOURCES

Main web site: http://joachimwuttke.de/absco

Download location: http://joachimwuttke.de/src

Development snapshot: http://iffwww.iff.kfa-juelich.de/~wuttke/jwu4n.git


REFERENCES

H L Ritter, R L Harris, and R E Wood: On the X‐Ray Absorption Correction for Encased Diffracters in the Debye‐Scherrer Technique. J Appl Phys 22, 169-176 (1951).

H H Paalman and C J Pings: Numerical Evaluation of X-Ray Absorption Factor for Cylindrical Samples and Annular Sample Cells. J Appl Phys 33, 8, 2635-2639 (1962).

J Wuttke: Self-absorption coefficient for tubular samples. Physica B 292, 194-195 (2000).


BUGS

The code still needs independent verification.


AUTHOR

Joachim Wuttke <j.wuttke@fz-juelich.de>


COPYING

Copyright (C) 2011 Joachim Wuttke.

Software: GNU General Public License (GPL).

This documentation: Creative Commons Attribution Share Alike.