K-Factor Quantification

Description: Input file example for simultaneous refinement of the external standard and sample data file.

Comment: Errors are propagated correctly, MAC's are calculated energy independent and even XRF esd's are propagated to the final result (requires Topas 6).

Contributed by: Martin Fisch

do_errors
 
'--------------------------------------------------------
' K Factor calculation from external standard starts here
' O'Connor & Raven, Powder Diffraction 3(1) (1988) 2-6
'--------------------------------------------------------
 
xdd "External_Standard_Corundum.xy" 'XRD Pattern of external standard
rebin_with_dx_of 0.02
 
r_wp  0 r_exp  0 r_p  0 gof  0
 
bkg @  0 0 0 0 0 0
Specimen_Displacement(SD_Corundum, 0)
 
start_X 20
 
str 'Többens, D.M. et al., Mat. Sci. Forum 378 (2001) 288-293
phase_name "Corundum"
a a_Corundum  4.76 min 4.74 max 4.78 
b = Get(a);
c c_Corundum  12.99 min 12.9 max 13.1
ga 120
space_group 167
site Al1 x =0;    y =0; z 0.3522 occ AL+3 1 beq 0.30
site O1  x 0.6937 y =0; z =1/4;  occ O-2  1 beq 0.33
 
scale Scale_Corundum  0.00001
 
CS_L(CSL_Corundum, 400 min 50 max 5000)
Strain_L(StrainL_Corundum, 0.01 min 0.001 max 1)
 
cell_volume Volume_Corundum  0
cell_mass Mass_Corundum  0
phase_MAC MAC_Corundum  0
weight_percent WP_Corundum 0
 
prm !Crystallinity_Corundum 98
 
prm Corundum_Lac = Get(mixture_MAC) Get(mixture_density_g_on_cm3);: 0
 
'Calculation of K-Factor from external standard
prm !KFactor = Scale_Corundum * ( 1.660538921 * (Mass_Corundum/Volume_Corundum) ) * Volume_Corundum^2 * MAC_Corundum  / (Crystallinity_Corundum) ;: 0
 
'Macro for wt.-% from scale, MAC, cell volume and KFactor
macro wt_percent_K_MAC(result) { prm = ( ( Get(scale) * ( 1.660538921 * (Get(cell_mass)/Get(cell_volume)) ) * (Get(cell_volume))^2) * MAC_Sample ) / KFactor ;: result }
 
'Dummy phases are used for energy dependent oxide MAC calculation
macro d_str { dummy_str space_group P1 scale 0 a 1 b 1 c 1 site }
d_str Si occ Si+4 = 1; site O  occ O-2  = 2; prm MAC_SiO2    = Get(phase_MAC); :  35.81264
d_str Al occ Al+3 = 2; site O  occ O-2  = 3; prm MAC_Al2O3   = Get(phase_MAC); :  31.59020
d_str Fe occ Fe+3 = 2; site O  occ O-2  = 3; prm MAC_Fe2O3   = Get(phase_MAC); :  214.26272
d_str Ca occ Ca+2 = 1; site O  occ O-2  = 1; prm MAC_CaO     = Get(phase_MAC); :  124.46608
d_str Mg occ Mg+2 = 1; site O  occ O-2  = 1; prm MAC_MgO     = Get(phase_MAC); :  28.61699
d_str S  occ S    = 1; site O  occ O-2  = 3; prm MAC_SO3     = Get(phase_MAC); :  44.15801
d_str K  occ K+1  = 2; site O  occ O-2  = 1; prm MAC_K2O     = Get(phase_MAC); :  122.06126
d_str Na occ Na+1 = 2; site O  occ O-2  = 1; prm MAC_Na2O    = Get(phase_MAC); :  24.93736
d_str Ti occ Ti+4 = 1; site O  occ O-2  = 2; prm MAC_TiO2    = Get(phase_MAC); :  124.23941
d_str Sr occ Sr+2 = 1; site O  occ O-2  = 1; prm MAC_SrO     = Get(phase_MAC); :  97.04589
d_str P  occ P    = 2; site O  occ O-2  = 5; prm MAC_P2O5    = Get(phase_MAC); :  39.33911
d_str Mn occ Mn+3 = 2; site O  occ O-2  = 3; prm MAC_Mn2O3   = Get(phase_MAC); :  191.01235
d_str Cr occ Cr+3 = 2; site O  occ O-2  = 3; prm MAC_Cr2O3   = Get(phase_MAC); :  172.14416
d_str C  occ C    = 1; site B  occ O-2  = 2; prm MAC_LOI_CO2 = Get(phase_MAC); :  9.57292
d_str H  occ H    = 2; site O  occ O-2  = 1; prm MAC_LOI_H2O = Get(phase_MAC); :  10.23680
d_str La occ La+3 = 1; site B  occ B    = 6; prm MAC_LaB6    = Get(phase_MAC); :  237.33852
d_str Zr occ Zr+4 = 1; site Si occ Si+4 = 1; site O occ O-2  = 4; prm MAC_ZrSiO4 = Get(phase_MAC); :  83.19554
 
'-----------------------------------------------------------------------------
' Part for phase quantification in sample using external standard starts here
'-----------------------------------------------------------------------------
 
xdd "Sample_Pattern.xy" 'XRD Pattern of sample
rebin_with_dx_of 0.02
 
r_wp  0 r_exp  0 r_p  0 gof  0
 
bkg @ 0 0 0 0 0 0
Specimen_Displacement(@, 0)
 
'XRF wt.-% data of sample (change prm_with_error to prm for version 5)
prm_with_error !SiO2     0_0
prm_with_error !Al2O3    0_0
prm_with_error !Fe2O3    0_0
prm_with_error !CaO      0_0
prm_with_error !MgO      0_0
prm_with_error !SO3      0_0
prm_with_error !K2O      0_0
prm_with_error !Na2O     0_0
prm_with_error !TiO2     0_0
prm_with_error !SrO      0_0
prm_with_error !P2O5     0_0
prm_with_error !Mn2O3    0_0
prm_with_error !Cr2O3    0_0
prm_with_error !ZrSiO4   0_0
prm_with_error !LaB6     0_0
prm_with_error !LOI_CO2  0_0 'Loss on ignition
prm_with_error !LOI_H2O  0_0 'Loss on ignition
 
'MAC calculation from XRF data
prm !MAC_Sample = 
SiO2*0.01*MAC_SiO2 + Al2O3*0.01*MAC_Al2O3 + 
Fe2O3*0.01*MAC_Fe2O3 + CaO*0.01*MAC_CaO + 
MgO*0.01*MAC_MgO + SO3*0.01*MAC_SO3 + K2O*0.01*MAC_K2O + 
Na2O*0.01*MAC_Na2O + TiO2*0.01*MAC_TiO2 + SrO*0.01*MAC_SrO + 
P2O5*0.01*MAC_P2O5 + Mn2O3*0.01*MAC_Mn2O3 + Cr2O3*0.01*MAC_Cr2O3 + 
ZrSiO4*0.01*MAC_ZrSiO4 + LaB6*0.01*MAC_LaB6 + LOI_CO2*0.01*MAC_LOI_CO2 + 
LOI_H2O*0.01*MAC_LOI_H2O;: 0
 
 	str
 		phase_name "Phase in sample"
 		a
 		b
 		c  
 		al
 		be
 		ga
 		volume
 		space_group
 		site
 		...
 		...
 		...
 		weight_percent
 		CS_L
 		Strain_L
 		scale
 		wt_percent_K_MAC( 0) 'This macro reports phase amounts using the K-factor method
 
 
for xdds { 'Instrument description for both XDD's
	lam ymin_on_ymax 0.0001
	Lam_recs
	{ 0.0159  1.534753  3.6854
	  0.5691  1.540596  0.4370
	  0.0762  1.541058  0.6000
	  0.2517  1.544410  0.5200
	  0.0871  1.544721  0.6200 }
	LP_Factor(0)
	Rp 240
	Rs 240
	Slit_Width(0.07)
	Divergence (0.25)
	axial_conv
	  filament_length 12
	  sample_length 10
	  receiving_slit_length 15
	  primary_soller_angle 2.55
	  secondary_soller_angle 2.55 }

Personal Tools