Deconvolutional treatment of Bragg-Brentano-type XRD data, exterm5.x

A software system exterm5.x applies a deconvolutional treatment on powder XRD data collected with a Bragg-Brentano type XRD measurement system.

The exterm5.x system currently consists of 12 Python source codes, exterm5.pyxray5.pyaxial5.pyequatorial1.pyequatorial2.py, equatorial3.py, trnspr1.pytrnspr2.pytrnspr3.py,trnspr4.py, cntmn5.pycommon5.py, and three configuration files dct.cfg,xray.cfg,cntmn.cfg.

(1) A user of a Bragg-Brentano type XRD measurement system should rewrite the main configuration file “dct.cfg” before the use of application exterm5.x.

(2) The configuration file “xray.cfg” should be modified and tested, at least once, for users of an instrument other than Rigaku MiniFlex 600-C with a normal-focus copper target (Canon Electron Tubes & Devices, A-21 Cu), Si PIN photodiode type Xray detector (Rigaku D/teX Ultra-2), and Cu Kβ filter with the nominal thickness of 0.023 mm.

(3) The configuration file “cntmn.cfg” should be modified for some cases, especially for the users of instruments supplied by Malvern Panalytical (or Philips) or the X-ray tubes made by Malvern Panalytical (or Philips).

An example of the main configuration file “dct.cfg” is shown below.

# -*- coding: utf-8 -*-
# dct.cfg
# configuration file for deconvolver "exterm5"

# Sample: Si, NIST SRM640d
##################################################
# Control parameters except X-ray & contamination
# X-ray parameters are in xray.cfg
# contamination parameters are in cntmn.cfg
##################################################

[Control]
# Select error evaluation model
# 0: no error evaluation, other type has been implemented but not tested 
error_type = 0

# Line numbers of header part in the data file
# headerLines = 424 for full header setting of Rigaku SmartLab Studio II
headerLines = 0

# Skip any process (skip... = 1)
# Output cumulant file (skip... = 2)
skipXray = 0
skipAxial = 0
skipEquat = 0
skipTrans = 0
skipContamination = 1

# Angular error (used in error estimation) (deg.)
# sqrt( ( (0.1/185)**2 + (0.15/185)**2 ) / 12 ) * 180 / PI = 0.0161
# sqrt( ( (0.1/150)**2 + (0.1/150)**2 ) / 12 ) * 180 / PI = 0.0156
# sqrt(0.0156^2+0.01^2) = 0.0185
hrz_error = 0.0185

# Margin parameter for deconvolutional treatment of spectroscopic profile
marginXray = 10.0

# Axial divergence angle (deg.) (used for axial-divergence correction)
degAxial = 1.25
degAxial2 = 1.18
# Shape parameter for axial model
alphaAxial = 0.70
# Margin parameter for deconvolutional treatment of axial-divergence effect
marginAxial = 10.0

# Divergence Slit Open Angle (deg.) (used for correction of equatorial aberration)
# degDS = 1.25
degDS = 1.25
# View angle (deg.) of Si strip x-ray detector
# 2 arctan((number of strips)*(strip interval)/(2 gonioR))
degLPSD = 4.89
# gonioR: goniometer radius
gonioR = 150
# specW: specimen width (mm)
specW = 20.0
# specS: specimen shape
specS = rect
# beamW: X-ray beam width (mm)
beamW = 10
# Shape parameter for equatorial model
alphaEquat = 0.50
# Margin parameter for deconvolutional treatment of equatorial aberration
marginEquat = 10.0
# Select algorithm (modeEquat = 1 or 2) for equatorial aberration
# 1: Naive method [Ida, T. (2021)]
# 2: Non naive method for finite width [Ida, T. (2023)]
modeEquat = 2

# muInv: penetration depth (mm)
muInv = 0.227
# specT: specimen thickness (mm)
specT = 0.618
# Margin parameter for deconvolutional treatment of sample transparency aberration
marginTrans = 10.0
# Select algorithm (modeTrans = 1, 2 or 3) for sample-transparency
# 1: Iterative method for finite thickness [Ida, T. (2021)]
# 2: Naive method for finite thickness and width [Ida, T. (2022)]
# 3: Non naive method for finite thcikness and width [Ida, T. (2023)]
modeTrans = 2